Monday, June 13, 2011

My History with Tablet Computing and my Views on the Future

In high school, more than anything I wanted a Tablet PC.  Yes, one running Windows XP with a stylus that everyone seems to hate so very much now.  I ended up getting one, a Toshiba M405, which was the first in a string of Tablet PC purchases.  Speed School started a Tablet PC program the year I entered and I was very involved in making it successful.  I co-founded the Student Tablet User Group and created software that was specifically designed to work with digital ink content.  I also managed to have a class project focused on handwriting recognition and my thesis was based on algorithmic organization of digital ink.  Not all of my work was based around pen enabled input.  My capstone project was a touch enabled card game engine that was built on top of Microsoft Surface technologies.

At this point, I have four Tablet PCs which are essentially being used as Laptops.  Thanks to Google, I now have a Galaxy Tab 10.1 running Honeycomb 3.1.  In the past, I was not a huge fan of Java development, specifically Eclipse, but that has since changed.  My use of AppEngine as a web based development platform along with Android application development and some other small side projects, it has become one of my most used programming languages.  PHP and C# are still used for many of my projects, but Java provides unmatched flexibility.

The past is always interesting to talk about, but my real concern now is the future.  The success of the iPad can not be viewed as a bad thing for the general public, but personally I am not a fan.  While I realize that for some people the iPad provides the integrated experience they want, it will always be lacking in certain areas.  The best explanation that I have heard is that it takes a day to master the use of an iPad while you will still be learning how to use an Android tablet even after weeks of use.  I agree with that statement and must assert that it is a good thing.  Android provides a flexible and open architecture that allows for a more dynamic computing experience.

The real issue to me from a productivity standpoint can be best summarized in a single question.  Can it run Eclipse?  I think this is a good benchmark to determine the level of productivity that you can have on a device.  Since Eclipse is based on Java, it can in theory run anywhere.  The complexity and scale of Eclipse makes it a sizable application that can run slow even on modern computers.  Eclipse will never run on the iPad.  The real question for me is not if it will run on an Android Tablet, but will it run on the Chrome Book that I am expecting in the mail soon.  The core issue here is productivity and the question can be re-framed.  Does a "windows" based computing environment provide the most productive computing environment?  I would argue that for certain tasks the command line is the most productive.  Just as the command line is still a tool of power users a, windowed environment may turn into the same type of tool.

The future will be in the clouds, probably more than anyone expects.  It seems silly to have so much computing power in your pocket (considering battery life) when it could simply be offloaded to another location (that includes an AC adapter).  The devices that we use in our day-to-day lives will simply turn into I/O devices, providing screens and various means of input (keyboards, touch, pen, and voice).  From this respect I think the "windows" interface has only a few years left (I'll pick the arbitrary number of 4) before the vast majority of computing is performed using other interface constructs.  The concept of the traditional window simply does not scale properly to the dozens of screens we are surrounded with.

Mobile phones have introduces the concept of the "app" which is best described as an application that has full screen interfaces that provide a focused computing experience.  While this is a useful construct, I do not believe it is the most ideal.  Personally I am waiting for an immersive augmented reality heads up display to become my primary interface into the digital world.  This concept strays far from the slate based tablets that are rapidly growing in popularity.  Android is the most likely platform to embrace all forms of input (keyboards, touch, pen, and voice), which puts it in the best position for the future.  Android also provides a highly flexible way to have the same application target multiple computing interfaces and hardware types.  Windows also has all of theses features and Windows 8 may extends Microsoft's dominance for another 10 years.  Apple will continue its success, but based on their approach can not change the world by themselves.

The real trick to become the next paradigm in computing is to become transparent.  In the future, it will seem silly to say, "I'm going to go use the computer" because there will be dozens of computers around you at all times.  I'm already surrounded by half a dozed computing devices and this number will only increase.  The future I want to see will be ruled by open source and therefore ruled by no single individual or company.  The question about tablet computing and the future is the wrong question.  There will simply be computing and the entire range of devices must be supported and integrated using the cloud.

No comments: