Wednesday, September 14, 2011

What is the biggest challenge in computing? Depending on who you ask and when you ask the question the answers will be dramatically different. The biggest challenge often provides the gateway to the next breakthrough in computing. While the iPad has created a new market that it proceeded to take all of the market share, I do not believe this form factor provides the biggest challenge even though manufactures of Android tablets are acting like it is. Apple is promoting the three form factor sizes that they sell. However, this is a dramatic oversimplification.

Reality is that we are living in a world where screens come in every shape and size. The world is not divided into a 3.5 inch, 9.7 inch, and 15 inch buckets. We have screens that range in size from 2 inches all the way up to 65 inches and beyond.

The real challenge is the operating system. Specifically, the visual interface of the operating system. In my mind there are three major competitors that are all working towards the same goal. Apple's iOS, Google's Android, and Microsoft's Windows are all heading the same direction: a unified interface.

We are not there yet. For Apple, Mac OSX Lion has an iOS like interface (that I find more annoying than useful) and the iPad has a larger screen that has become very popular. For Android, Ice Cream Sandwich will unify the the Gingerbread / Honeycomb differences for the phone / table interfaces. For Microsoft, Windows Mobile Phone 7 and Windows 8 have a unified interface with the Metro design. Lets not forget the Apple TV, the Google TV, and the Microsoft Xbox all have interfaces for large devices provided by the corresponding companies.

The problem is that the same interface that works on a phone, on a computer, and on a television has not yet been invented. Some people think it does not exist. As a developer, I do not necessarily want an interface that is the same, I just want to build it out of the same building blocks. This way I can write an application once and have it run anywhere. As a consumer, I want my data and accounts to be portable. My experience developing applications has taught me that I am horrible at creating interfaces. I am suited for database and object oriented design, but my GUIs are hideous and hard to use.

My prediction is that Apple, Google, and Microsoft will each provide a solution for a unified operating system that works on every size screen within the next few years. We are already almost there already!

My least favorite of the approaches is that taken by Apple. The closed system approach that targets a "single" device has major benefits, but is not capable of innovation in a vacuum. The iOS platform has pushed computing into new areas and created new opportunities for the average person to integrate technology into their lives. My favorite approach is the open source one provided by Google's Android. Even though Android is not developed in the open and the code is licensed Apache 2.0 instead of GPLv3, the balance still favors freedom. The biggest downside is also the freedom provided by the system. The combination of phones, tables, and TVs all running Android is mainly complicated by Chrome OS. The real competitor to keep your eye on is Microsoft. While their phone solution may not be taking off, the market power of Windows combined with Xbox makes this not only the platform of the past, but the likely platform of the future.

While I am currently developing native apps for Windows, Android, and now even iOS, the universal platform is still the web. While Chrome and Chrome OS are designed to push the limits of the web while providing improvements to security and an overall simplified experience, I do not see native applications going anywhere. The scifi interfaces of the future are quickly approaching and it will be the next generation operating systems that make them a reality.

I believe the end result will be a way for a developer to write a single application that runs on devices of all shapes and sizes on a single platform. It may be the open Android, the proprietary Windows, or the locked down iOS, but hopefully all three. The big trend seems to be moving towards simplification. In the end though, I still only want a heads up display with augmented reality, but that is another issue all together.