
PTR TECH BLOG
Musings and Wisdom from our guru Mike Anderson
I've had several folks come up to me in the past few weeks at conferences like the Embedded Systems Conference and RTECC asking me if I thought Google's Android and ChromeOS were going to be "game changers". My answer is that it depends on the market. Let me explain...
First, both Android and ChromeOS are based on Linux. At their hearts is the Linux kernel and the GNU tool chain. So, from a technology perspective, Android and ChromeOS are extensions or evolutions of technology that is proven in the industry. There's nothing that I can see that's particularly revolutionary. That doesn't mean that it isn't good, just that these systems are not titanic leaps forward. In many ways, this is a good thing. Consumers are generally frightened by technology that's too far ahead of its time.
So is Android a game changer in the smart phone market? If the game is the ability to have a phone with a marketplace to purchase applications and download them to the device, then no. Android is more of a game extender than a game changer. The game was established by Apple with the iPhone and the Android environment is playing catch up. Does Android have anything that is substantially different than IOS4? IMHO, not really.
You can make the arguments about Apple's censorship of applications and the openness of Android all you like. The reality is that the typical consumer isn't that concerned with openness. Apple's marketcap speaks volumes. Yeah, Apple's products are a jail for the consumer. But, it's a really pretty jail and most consumers don't recognize it as a jail in the first place. The strident shouts from people like Richard Stallman about freedom are falling on deaf ears. Consumers care that it works, not that it's open.
OK, but what about Android in other embedded spaces? What about set top boxes, TV sets, automobile telematics, GPS systems and the thousands of other non-phone devices? Then I absolutely feel Android is a game changer in these areas? Why is that? It's because Linux is a great O/S for many embedded applications, but it lacks a consistent user experience. The Android framework enables vendors to provide that consistent user experience across a wide variety of hardware platforms.
Android is already running on ARM, MIPS, Power and x86 architectures. You can use the standard Android look-and-feel, or you can create your own. And, with the JIT compiler option now available, you can significantly speed the applications to near native performance levels. And, if raw speed is what you need, then you can always use the Native Development Kit (NDK) and drop back to native C/C++ or other code on the base Linux platform.
Having Android on a platform allows the manufacturer to focus on the hardware development and porting of Linux/Android to the platform without as much concern for the user interaction experience. Existing Android applications should be able to run with little or no modification thanks to the Dalvik JVM. Many of you who know me know that I'm not a huge fan of Java in general. However, this is precisely the type of application environment that Java excels at in the real world. And, the Dalvik JVM is a stripped down flavor much more like J2ME rather than J2EE. So, it's not as pig a CPU and memory pig as Sun's JVMs.
So, is Android a game changer? For the embedded systems space as a whole where there needs to be user interaction with the device, then absolutely yes. However, if the device is a simple control system with little or no user interaction required, then there's no reason to add the overhead of Android to the existing Linux base O/S. So, for a certain class of embedded applications, Android is a huge advantage. But, remember that embedded systems are an enormous market. Use Android where it's appropriate, but not just because you can.
In the next installment, I'll focus on ChromeOS. Stay tuned...
