Windows 8, tablets and Atom !

Right now there is a lot of bad news about Windows 8. Sales of Surface tablets is not what was desired. So what could be done to make Windows 8 tablets more popular ? What are some hurdles which need to be tackled ?

This is one software developers take on the current Windows 8 situation.

Windows tablets, the real problem !

The real problem right now with Windows tablets is the price. It has been said that the average price of a laptop today is about $400 or less. Sure, there are more expensive computers, but many consumers (and business users) want a reasonably priced device. I am a programmer, but even for me anything over $400 is expensive. I only opted to purchase an ExoPC Windows 7 tablet because it went on sale and rather than pay $700, I only paid $400 for it and even that was a lot of money to me. To make Windows tablets more popular requires a much lower price point than what is current. I think $400 is the sweet spot for a 10 inch or larger Windows tablet and I also feel that we need some 7 inch Windows tablets which are as low as $200  ($250 at the most). So if price is part of the problem, then why don’t we have such devices now ?

Hardware is part of the problem !

You aren’t going to have such low priced Windows tablets if you stick with the more powerful CPU’s, like Core i3 or i5. I am convinced that the key to Windows mobile is Intels Atom SOC’s (system on a chip). The power is decent and the battery life is excellent. Atom CPU’s make it possible to have much lower priced tablets. Battery life has to be significant for mobile Windows devices to gain popularity, without a doubt. Ten hours, or more, of battery life needs to be the goal. Intel has done an amazing job, in my opinion, with the Atom line of SOC’s. Another part of the equation is the size of the SSD’s (solid state drives) used. As much bloat as possible has to be removed from the operating system and installed applications so smaller SSD’s can be used (16 gig, 32 gig). Screen resolutions need to be more reasonable. The love affair with high res screens makes the cost higher and it also forces the CPU to work harder. This is a reasonable middle ground here which would suffice.

Backward compatiblity is the key !

While the Metro (or Modern UI) interface is nice, it has one significant weakness. It only works on Windows 8. That in my opinion is a serious flaw.  Ok, much of the existing software is not well designed to run on mobile (touch) devices, but that is the fault of software developers and not Windows. For that matter, Windows has had some form of touch for a number of generations now, since Windows XP. Albeit the early generations were pen based, but Windows 7 introduces true touch capabilities, which makes it just as capable as Windows 8.  There are millions of Windows 7 devices being used today which have a number of years left in their lifespan. They can not be ignored. If software developers only concentrate on Windows 8 modern apps, then a huge user base is being ignored and that is a big mistake, in my mind. Computers and tablets cost money and manufacturers can’t expect consumers and businesses to just throw away existing devices. Even if people are willing to opt for a new device, they have to be reasonably priced and capable of running existing software that they have (meaning true Windows 8, not RT). Backward compatibility has always been an advantage of Windows and now is no time to throw that advantage to the wind.

One plus One equals better software !

If you combine the above (one plus one) you get a problem. How can you work with such minimal hardware like the Atom SOC, and small solid state drives, plus maintain backward compatibility (so software can run on Windows XP to Windows 8), when much software today may not fit the bill ?

To quote the creator of Turbo Basic (and PowerBasic) , “smaller, faster, smaller, faster”. Yes we need smaller, faster software which has a minimal footprint (less disk space, less memory and less CPU power). We need software which is optimized to run with decent performance even on the lowly Atom CPU’s. We need software which is backward compatible which can run on Windows XP to Windows 8. We need software which is truly transportable (meaning just copy and run, so you can run it from a flash drive or SD memory) which does not require large  frameworks to be installed (if possibly not available on all target PC’s) and does not require complex installation (no components need to be registered with operating system).

If software has less requirements, then the hardware would not need to be as powerful. No place like mobile devices is this so important today. But how is this possible ?

Time for better software and more intelligent software.

When it comes to Windows, Native coding (WIN32) has many advantages and one of them is smaller, faster software, which we really need today for mobile devices. As an experienced WIN32 programmer for the last ten years I can attest to the power of native coding and its ability to produce small, compact, transportable applications. In three words, “no dot.net needed”.  But another problem arises and that is how to build intelligent software ? The Windows API is rich with features, as well as information about the device it is being run on. Software needs to be smart enough to know the size of the screen it is using, whether the system is touch enabled and what version of Windows it is running on and then adjust to the needs of the system. Applications need to look different when run on a full blown desktop compared to when run on a tablet. They need to be dynamic, smart if you will. This is not really all that difficult if you use the right development tools. Now I am not saying that all mainstream development tools will handle this task well, but if they don’t they should. In my own case, I build my own development tools (other than the compiler and code editor) from GUI libraries (DLL’s) to even the Visual Designer/Code Generator.  Having spent the last ten years developing such tools I have been amazed at how rich the Windows API is for allowing software to be not only dynamic but also for allowing customization. I have written a number of custom controls which tap into this power of the API.  I know for a fact that one can build dynamic software if they choose too.

Now as far as performance, this again leads back to the Windows API and native coding using native code compilers. I was very impressed with Herb Sutter’s (Microsoft C++ expert) discussion about performance in his talk “Why C++?”:

http://channel9.msdn.com/posts/C-and-Beyond-2011-Herb-Sutter-Why-C

If you haven’t watched this video, you should. While I don’t use C++ (or even C), I am a native code programmer who uses a native code compiler, so I get similar results to what Mr. Sutter is referring to. If a software developer learns how to build software which has excellent performance, then the lowly Atom SOC’s are plenty enough to run that software. Also by tapping into the Windows API features which allow software to be more dynamic, applications can be written so they change depending upon the operating system they are run on. Lastly by writing software which taps into the core operating system (Windows API), using API’s which are very backward compatible, not only can you get powerful software, but you also can write software which can traverse a variety of versions of Windows which makes it more useful to consumers and businesses. Smaller, faster is possible ! I know, because that is what I develop for. I build software which is transportable, dynamic and has a tiny footprint and this is all possible because of the native API’s in Windows.

So bring on the next generation of Windows tablets !

I look forward to seeing more Atom based Windows 8 tablets. Rather than the higher end tablets, these lower priced (and better battery life) and smaller tablets are what is needed more. I am also waiting for the 7 inch Windows 8 tablets, even running real Windows 8 and the desktop. Again Intel’s Atom CPU’s could make this possible. Now if Microsoft can lower the price of Windows 8 (not just RT, but real Windows) for OEM’s, manufacturers could start producing low cost ($200 range) 7 inch Windows tablets and now that would be a hit to both consumers and businesses.  As a software developer I am already geared up for building smaller, faster, transportable and dynamic applications for Windows. Are you ?