The $99 Windows Tablet ! Is it possible ?

Maybe this is only possible in my imagination, but I really do think it could be possible and if so it could bring Windows to a totally different use than ever imagined before.

Let’s start with the Desktop !

What does this have to do with the ultimate Windows tablet ? A lot, but be patient and I will get to the point. While some may think the desktop PC is obsolete, I for one really doubt that. The PC is for getting real work done. For some this may mean a laptop running Windows, but for many it means a real desktop PC, with a large monitor, a quality keyboard and a real mouse. Laptops are great for those on the go, but some just need a large display and once you start making the display large enough, it really does not make sense to make it mobile anymore. Both my wife and I use desktop PC’s, with primary 22 inch monitors (1920 x 1080 pixels)  plus a second monitor along side (which can be a bit smaller in size). She uses hers for working with graphics and animation software and I for programming. Dual monitors just make sense for many applications. The point is, no laptop and definitely no tablet will can replace the desktop PC for many tasks. But tablets need not be PC replacements either. They only need to  be useful within their own context (light weight and mobile).

Now add to this the keyboard. If anyone thinks that a touch keyboard or even a light weight external tablet keyboard can replace a quality desktop keyboard, then I really wonder how much typing they really do. I am so picky about my desktop keyboard, that I am still using an over 20 year old IBM model M keyboard with real mechanical keys. The speed at which I can type on this keyboard is so fast compared to any laptop keyboard, that it irreplaceable to me. A tablet could never even comes close in usability for typing in comparison. Real work requires a computer designed for the task at hand and desktop PC’s likely will always have a place, especially in business. It is important to use the right device for the right task.

Laptops are middle of the road devices

The laptop is very valuable as well. Laptops give you a more middle of the road solution. They have the power of a desktop PC, but they have the benefit of being mobile. For me the biggest weakness of a laptop is the keyboard and the touch pad. True, some get very good at using a laptop, but for some a laptop keyboard keyboard just can’t replace a quality desktop keyboard and a touchpad just can’t come close to the good old mouse. That said, many make do and they find the laptop still very useful. For example, my latest laptop I purchased, I opted for a Lenovo brand because of the reviews about their keyboards (they make very good laptop keyboards) and I purchased an external Microsoft Arc Touch mouse which I am very pleased with. Between the Lenovo quality keyboard and the Microsoft Arc Touch mouse, my laptop comes close to being nearly as useful to me as my desktop PC. Still, a 15 inch screen laptop at over 5 lbs, the extra mouse and the laptop messenger bag are not what I would call a total light weight package.

So now we come to tablets

So now we come to tablets. Tablets serve a purpose and are great mobile devices. True, most tablets are likely used by consumers, but my concerns are about using tablets for business purposes. Despite being a computer programmer, I don’t have a fancy smart phone and I am not wasting my time playing hours and hours of the latest mobile game. While I do have both a Windows tablet and two Android tablets, I didn’t get them for the typical consumer consumption tasks most people may use them for. When I browse the web (usually for research for work or for reading the latest news) I typically have my PC browser open with 5, 10 or even 15 tabs open, each with a different web page on them. I will browse one page (to see if the information is useful to my research) while another is downloading. I may watch a podcast once in awhile about something dealing with programming or other tech subjects on my second monitor, while browsing the web on the other. It is all a matter of speed and efficiency. This is all done on my desktop PC and not the tablets. My tablets, while I do have some personal uses for them, are primarily so I can experience how a mobile device works and for testing any software I may create for tablets. I haven’t done much with Android yet, so that is more of a hobby right now, but the Windows tablet was purchased specifically for testing Windows applications I may develop for tablets. But the more I use my tablets, the more I realize the limitations they have and also the key differences between software written for the desktop and software written for tablets (and there is a difference). The idea of a tablet being used as if it were the same thing as a desktop PC is not realistic. Software for tablets need to be written specifically for a tablet in mind.

Now I am coming from the perspective of using tablets for business use, not for the typical consumer use. For years I wrote custom software for a variety of local businesses (from CPM, DOS and then Windows). I know what it means to get work done using technology. Back in the DOS days a typical PC cost $2000 to $3000 each. That was a lot of money back then, so I had to learn how to help my clients make the most out of the technology they purchased.  One of the important lessons I learned was to use the right equipment for the right task, but also to keep the costs to an absolute minimum. I never encouraged a customer to upgrade to the latest computer, simple because it was fashionable. Some of my customers used their computers and software far beyond the typical lifespans most businesses allocate for them. I wrote some DOS applications which amazingly are still in use today. For a business, technology is great, but only if it pays for itself and it does valuable work. So why is this important and what does it have to do with Windows tablets ?

Use the right device for the right job

If a business mistakenly views a tablet as if it is was a full blown PC, then they may end up paying too much money up front for the devices, get less work done with them and may end up wasting a lot of money. Why ? Some software, simply put was meant to be run on a desktop PC with the hardware to support it and not on a tablet.  For the price of a high end Windows tablet a business could buy two inexpensive, but decent laptops or even desktop computers. So, if a high end tablet is going to be used by a business, they surely need to evaluate whether it really is up to the job and worth the investment. Maybe a laptop would be better suited to the task. Maybe the task is well suited to the tablet, but will the benefits outweight the costs. There is a use for high end tablets, but only when the returns make the cost worth it.

But tablets have limitations. By time you start adding things like a fancy case (or cover) for the tablet, accessories like digitizer pens and external keyboards, the costs can get pretty high and the low weight factor may be lost and what makes the tablet any better than a comparable laptop now ? Maybe a business could have purchased two decent laptops for the price of the one tablet and all its accessories. So does this mean that tablets have no value to a business ? No, but one needs to weigh the costs versus benefits. But imagine if very low cost Windows tablets were available, so one could afford to buy a laptop or desktop for the heavy work loads and then add an inexpensive Windows tablet to the mix for when a very light weight, limited mobile device would suffice or even better better suited !

A lesson from Android

I am not an expert on tablets by any means, but I do follow the news about what is happening in the mobile world very carefully. As a programmer I need to know what people are doing with mobile devices. One thing for sure is that tablets seem to be more popular among consumers, more apps in app stores seem to be for consumers (ie. games) and the current model for much of the tablet world for software is free software where developers find alternate ways  to monetize the software, such as in app purchases. The free model for software may work for consumers, but for businesses software costs money and the right software for tablets may even cost more. The software is what makes the device useful to a business, not the hardware. A fancy retina capable display (high resolution) may sound great, but it doesn’t usually make a tablet any more productive for a business.  Only two things matter for a business when it comes to using mobile devices. One is the cost of the device and the other is software which makes the device a useful tool. One lesson we can learn from Android is that lower cost tablets make a difference. Likely the popularity of Android has as much to do with the many different choices of hardware it runs on. Some may opt for the $300 tablet (or more), but more and more people are looking for the under $100 tablet. True the experience with a $100 tablet may not be as good as the higher quality tablet, but for many it suffices and they are happier because they did not waste money which could be better spent on more important things. The low cost tablet is here to stay and it plays an important role. So what about Windows tablets ?

Bay Trail and smaller form factor breaks some barriers

Not only has the performance of Windows tablets gotten better with Intels Bay Trail systems (Atom system on a chip), but this has brought the price levels down significantly. The new minimum system requirements for Windows 8 has also brought us the smaller 8 inch form factor, which gives us smaller, lighter and less expensive Windows tablets. Just this week Best Buy was selling the Lenovo Miix 2 , 8 inch, tablet for only $199. The Microsoft Store was selling the similar Dell Venue 8 Pro for only $229. The price is getting more and more reasonable now and this makes Windows tablets worth considering for a business.

But as a programmer, I think we could go further. How ?

Rethink how tablets are used in business

Maybe I am too thrifty by nature, but I find it makes sense to spend money on technology in a way where you get the most out of your investment. For example, unlike many who just have to have the latest smart phone with the most expensive data plan possible, I only have a cheap TracFone which only costs me about $7 a month with just enough minutes so I have a mobile phone when I really need it, like calling home to see what my wife wants me to pick up at the store when I am out or being able to call for help in an emergency when maybe my car breaks down. Just enough technology for the task at hand and at a price that does not break the bank.

For a business, mobile devices, such as tablets, are the same. Maybe a business wants to hand out a tablet to hundreds of employees. The cost can get very high in this case. But will the tablet accomplish enough work to make the investment worthwhile ? This will only be the case if the tablet is affordable enough and if the tablet is used correctly. Having written custom software for many years for businesses, I realize that the cost versus benefits factor must be carefully weighted out. From my experience, often the software is more important than the hardware. A $500 tablet with only minimal software (meaning it only accomplishes so much work) is far less valuable to a business than a $100 tablet with well written software which does some real work. The real investment should be in the software.  The freemium model of selling software for consumers in some app stores may give a false sense of security to some business owners making them think that if they just buy the really expensive tablet, then the software will be there waiting for them and it won’t cost much. Quality software, which does valuable work, simply put costs money. Now if the tablets cost too much money and the right software costs a lot more, then the total long term expense may make the investment a poor one.

Don’t be fooled by the bring your own device model

The current idea of bring your own device sounds like a great idea doesn’t it. Let the employees bring their own devices and the company saves money, right ? Maybe. But this creates the problem with cross platform development. How many different devices will the company have to support ? Can the software be written so it works just as well on all the devices ? What if you want the software available for desktop PC’s as well as the tablets ? In the long run the expense for writing custom software for so many different devices can far outweigh the savings of the bring your own device policy. Remember, it is not how many different devices you support which matters, but how much work those devices accomplish. The software is what mattters and quality software is not easy to develop, no matter what platform you support. Cross platform development, no matter how much it is promoted by tech companies, comes with compromises. Programmers, if they are honest will admit this. How many times will one platform support a feature while another may not have the exact same thing ? If you think the difference between different web browsers is a problem (ie. web site shows well on one browser but not on another), then consider multiple operating systems along with dozens of different form factors. What works well on a laptop may not work well on a 10 inch tablet. What works well on Windows may not work well on IOS or Android. Cross platform means compromise. Now at times cross platform makes sense and it is worth the cost. But is it possible that developing software for only one major platform and even one specific device format could produce better results if the software is written properly ? I think this is so.

It takes years for a programmer to learn how to get the most out of a specific platform

As a WIN32 programmer, I can honestly admit that it can take years for a programmer to learn how to get the most out of a single platform. I have spent nearly a decade and a half in learning the Windows API (WIN32) and how to get the most out of it and I still have only tapped into a small portion of it. Changing technologies every few years only slows down software development, rather than improve it. Just when a programmer feels they are getting really productive with a technology, all of sudden there comes a new one which the IT world now embraces and it is back to the drawing board again for many programmers. What a waste of experience this is !  Since software is the important thing for mobile devices for business use, then core technologies which change little over time have a far longer lifespan and may produce better and more productive software over time. As programmers learn how to tap into the deeper features of a technology, they can do more with it and accomplish more with less changes in the hardware. This has been true ever since the beginning of the home computer. Back in the days of the Commodore 64, a group of programmers created an operating system called GEOS, which accomplished more than the creators of the computer ever imagined possible. They turned a home computer with only a 1 mhz CPU and 64 KB RAM into a minature Macintosh, just by pushing the hardware limits through well written software.

If there is a platform today which has this same potential, I would say it is Windows and not the new WINRT Windows, but the good old fashioned real Windows. There probably aren’t many programmers left today with the experience with the core WIN32 API’s to know how to accomplish the same kind of thing the developers of GEOS did for the Commodore 64, but there are some and the technology is so well documented that it would not be difficult to train new programmers.. What many businesses may not realize is that good old fashioned native coding for Windows is capable of producing software which can not only perform well on todays Windows tablets, but it is capable of performing well even on a tablet with one quarter the power of todays tablets (maybe even less). I know, because I am a native Windows coder and I know it is possible. I also realize that there are programmers are capable of writing software for Windows which can run on far less powerful hardware and that if if efforts were made to develop more software this way, then manufacturers could build Windows tablets which can run such software which cost half the price of what they cost today. By matching the right software which less expensive hardware, the $99 Windows tablet could be possible. Rather than keeping Windows tablets high priced and making then more and more powerful, it is within reason to build even lighter Windows tablets, which are thinner with even longer battery lives, but which have less powerful hardware so they would be far less expensive. Software developers could concentrate on learning how to push the hardware to its maximum limit, so the tablet can do real work effectively, but with a low overhead for expenses for the hardware. Software needs to be designed for a specific platform and even a specific device format. Imagine a large corporation buying thousands of low cost Windows tablets for as low as $99, equipped with software that does an important job and effectively. One would not need any more hardware than the task requires. Some tasks could require a little as 1 ghz or less CPU, 1 gigabyte or less of RAM and an SSD no larger than 16 gigabytes. The displays need not be super high resolution either, but just enough to make the device effective.

Windows is actually far more capable for such devices than you may imagine. Companies who have used embedded versions of Windows in their equipment know that the minimum requirements of the hardware can be brought down to a pretty low level as long as the software they write can work with it. Imagine if the concepts of embedded Windows were applied to tablet development. The $99 Windows tablet could be a reality. Also imagine Windows tablet like devices which are so light and thin that they could be used for so called “wearable” devices. As costs drop, even flexible displays could be used for wearable devices. Imagine Windows devices so small and thin and inexpensive that they could be used for all sorts of embedded purposes, so they could be used almost anywhere. It is possible. But it all comes back to the software. I have been programming long enough to know they we don’t need more and more powerful hardware. We passed the point of “powerful enough” many years ago. Windows already has the core technologies so that high performance software can be written for it and require minimal hardware. The core WIN32 API’s , native coders use, are just as viable today as they were over a decade (or two) ago. If manufacturers were to concentrate on building less expensive, thinner and lighter Windows tablets, programmers will find ways to push them to their limits. It may require programmers to work a little harder, but as I said before the software is what matters now, not the hardware. If businesses could buy Windows tablets which are so thin and light (which is possible if they don’t need to be as powerful) that they are as easy to carry around as a cell phone and for a price as low or cheaper than many Android tablets, but still get a lot of work out of them, would that not make a lot of business sense ?

The ultimate $99 Windows tablet

The ultimate Windows tablet for me (and I expect others might be interested) is not the next generation tablet with twice the power or with the latest retina display. It would be a tablet which is inexpensive ($99 is possible), half the thickness of todays 8 inch tablets, but only requiring a decent resolution display, half the memory, half the CPU power and half the disk space of the typical Windows tablet today. Now imagine that because it needs less memory, a smaller SSD, less screen resolution and a much less powerful CPU it can be built not only more cheaply, but is can be half as thick, half the weight and have twice the battery life of todays tablets and be running real Windows ! Businesses would find more ways to use them. Probably buy more of them. And by putting the expense into the right software, still get a lot of useful work done with them. This is one native coder, already capable of writing such software today ! Yes, I mean today. The software is already possible.

Do you doubt this is possible ? Can native coding really produce high performance software capable of running on such a limited Windows tablet ?

Even though I am not a C++ programmer, I greatly appreciated Microsoft’s C++ expert , Herb Sutter, in his talk “Why C++ ?” where he discusses writing software with performance in mind. Watch this video (on Microsofts Channel 9) and see why native coding for a specific platform makes a difference.

As a native coder, I don’t currently write many full applications because I am a developer of tools for programmers and my main work has been in developing tools (ie. a GUI framework), but I do have some examples of what native coding can do which you can download. As a test to appreciate what native coding can do, why not download the following example applications and try them on as many different Windows PC’s as you can. I would recommend at least a resolution of 1024 x 768 for testing (at the default 96 DPI). Some of the apps are scalable based on the DPI, so I can’t guarantee that on some devices they may not scale beyond your devices screen resolution, but they should fit on most Windows PC’s and tablets. I have not optimized any of the apps for Touch yet, but they should still be useable even on a tablet.

What I would like you to try, is to see little hardware is required to run the applications. Run them not only on a modern Windows 8 PC, but also on Windows 7, Windows XP or even an earlier version of Windows. For example try them on any legacy PC with as little memory as possible and see if they still run reasonably well. Native coding can produce applications which are tiny in size and yet have very good performance.

App #1:   Windows 8 compatiblity Test

This app I created for testing my GUI framework and its features to make sure it worked on Windows 8 and that the WIN32 still supported the features. Make sure your PC has the proper OpenGL drivers for the 3D part (only requires OpenGL 2.0 or less).

App #2:  3D Model viewer

This app I wrote to test my GUI frameworks 3D engine. The app is for working with the STL file format (used in 3D printing). It can handle huge 3D models with as much as a million or more polygons in them. Now there is a quirk in some STL binary model files, where the header of the file is encoded as if it were an ascii (text) file, which may confuse the model viewer. If that occurs in a file you use and the model does not display, simply change the file extension from .STL to .STLB so the viewer forces it to be viewed as a binary STL model file. (I fixed this in a later version).

App #3:  3D Sandbox demo app for Intel 2013 App Innovation contest

This app was written for the Intel contest and it still has much work left to finish it, but it does demonstrate some nice features already such as scalability, better design for touch on tablets, etc. I should point out that the actual app (EXE file) may seem a little larger in size than the other apps above, but the actual code in it is minimal and most of the size is because of embedded bitmaps for texture maps.

All of the above apps are written using native coding (the GUI framework they use is 100% native coded) and they are designed to work on minimal hardware. So why not try to see how minimal machine you can get them to run on effectively. About the only feature in the apps which may have a limit  as far as hardware capability is the 3D stuff which requires OpenGL. For example with the 3D model viewer, maybe use models with a lot less polygons in them on a very limited Windows device. Now on my Windows Vista desktop PC, with a simple Pentium D (dual core) CPU , 2 gig of memory and a minimal graphic card, the 3D model viewer does a pretty good job with even 3D models with over a million polygons in them. So if you try the app with say a Windows XP computer with only 256 meg RAM and minimal OpenGL support, why not try much smaller models like with only a few thousand polygons.

The above demos should at least demonstrate the native coded applications can work on very minimal hardware, so a low cost Windows tablet would still be viable to run some very powerful software.