Android is often cited as being a too fragmented ecosystem. Supposedly this is the reason why Nokia decided to go to bed with Microsoft (actually, it’s still debatable but I’ve written my thoughts about it here). It doesn’t help that hardware OEM’s such as Samsung and Sony are slow to upgrade their firmware with the latest Android release and hence the reason why still almost half of all Android devices in the market run on Ginger Bread 2.3 (as per http://developer.android.com/about/dashboards/index.html accessed on 1/28/2013) - but to make things more complicated, it’s no longer enough to develop and test apps on smartphones and tablets, there is a whole slew of devices running android coming, and these do not fit in any particular category.
I’ve been thinking about device interconnectivity here and the fact that the big camera makers have not done enough in this space. As it turns out, there are now several efforts underway, as illustrated in David Pogue’s article here,to bring Android to cameras so as to leverage the ever-growing catalogue of photo apps. It’s a smart move - Android is already an ecosystem and it has user friendly apps, that’s something that neither Ubuntu’s user friendly Linux nor Google’s own Chrome effort can claim. But furthermore, it’s actually what users want. This is evident in many anecdotal stories and projects circulating the globe. Just the number of Kickstarter projects, such as this, that are now looking towards Android for their operating system of choice, supports this notion.
I have experimented with Ice Cream Sandwich on a XIOS DS device and have come to the conclusion that we’re looking at a new form of embedded operating system that has the potential to be both disruptive as well as pervasive. It is disruptive because it’s easily adaptable (the one plus point that manifest itself in fragmentation) to many form factors and it’s pervasive because it’s free, open source, Java based and uses a Linux kernel – in short, it has the ingredients that countless of developers and OEM’s have become familiar with over the last decade or so. However, what my experience has shown is that it takes more than just putting Jelly Bean or Ice Cream Sandwich on a device. In the case of the XIOS, I was able to plug in a keyboard and a mouse and had myself a full-fledged Android PC that ran an awful lot of Android applications (for $100). I think for most people this could actually be a thin client or even a desktop replacement and it also raises the question why Google is not focused on making Android more a PC platform (I’ve advocated this point earlier). But the device is actually intended as a media streamer and such it falls short simply because the mobile OS/Tablet plain Ice Cream Sandwich doesn’t translate well into a media streamer type application – just like it doesn’t really translate that well into a camera operating system or into a refrigerator operating system for that matter.
Companies will of course realize this and adapt the code and we will probably see whole new UI’s on things such as cameras that underneath run Android. Which brings me to the core point of this article: These new devices will make the fragmentation even harder unless Google starts to become more disciplined about Android and decides to enforce certain rules and best practices. Obviously, it needs to do this while maintaining the open source status of Android so that it actually becomes the operating system of choice for embedded systems. This is not an easy task but luckily there are precedence cases that illustrate possible approaches in how this could work – one of those cases is how Java progressed – technically, not open source but Sun has created a parallel project called OpenJDK with the goal to implement an open source reference platform of Java that it still controls but that everyone can use with permission. Sun also championed this idea of the community input for features and requests by the JCP (Java Community Process). Both of these approaches could also work in Google’s favor to progress Android.
The other component Google needs to think about is how Android’s architecture will fit into the various devices. This needs to entail form factors, device capabilities, device purpose, user interface, input methods and user experience – in short, Google needs to create ‘templates’ for various hardware devices that can fully explore that device unique feature. In the case of a camera, this would mean focus (pun intended) on what the device needs to do really well. So instead of seeing my Android home screen on the camera when the device powers on, it should wake up with the dedicated Android app that makes the camera work. Also, external controls are essential – so simply a touchscreen will not work. It requires the usual exposure control and manual mode settings, as well as a trigger button and various other support buttons.
Likewise, for a refrigerator with Android, the display will be the main input (like a tablet) but instead of a touch keyboard, the stylus will be the most important input device as well as 2-3 designated buttons for quick application launches (automated shopping list, notes and intelligent inventory, etc.) There’s a good chance we will see more and more devices come to market with embedded Android that in some cases have the capability to run the full suite of Android apps that are available in the stores. Unless Google creates a more stringent process to allow these devices to have an officially approved Google release, the Android ecosystem might simply not extend beyond phones and tablets and that would be a wasted opportunity for Google.
On the other hand, I would like to be able to play a Space Invader clone on my coffee machine – not because I need to but because I could thanks to Android’s ecosystem.