An open and shut case.
What is it to be Open? To allow all-comers equal opportunities to code for an OS? I have been looking at the concept of Open Platforms on smartphones, and here is what I think:
1) An Open OS is only useful when the underpinnings do not change dramatically between OS releases/updates
2) An Open OS needs a clearly defined roadmap to be able to keep developers on the same road (no forking)
3) An Open OS is only as good as the quality and usability of the applications programmed to run on it.
The first point is in this instance aimed at the good old Symbian OS. Hmmm…but which one? Which version? S60? UIQ? S60v3? or maybe S60v3.1 or 3.2? An application developed to run on ‘Symbian OS’ does not mean that it can run on Symbian. It means that it can run on possibly one or two of the mentioned versions above. While declaring itself truly open (which it is), it is not universal. Developers moaned when Symbian changed from S60v2 to v3 because of the massive change and improvement in security to the OS broke all applications developed for it. One thing with Symbian is that each incremental improvement i.e. from v3 to v3.1 or 3.2 goes hand in hand with newer hardware. So if you make an app for v3, it may not work with v3.1 or 3.2. This creates fracturing of the Developer community, and also limits the universal appeal of applications within the Symbian ecosphere. With the iPhone there is one singular OS. OSX. Underneath the UI-skin of the iPhone, it’s genetics are inherited completely from desktop OSX. And that of course is inherited from Unix. One phone. One OS. One developer platform, that is entirely familiar to OSX desktop developers.
The second point is at the moment a speculative one, as I am talking about Google’s Android OS. While the much anticipated OS has been seen as setting a future ‘industry standard’ I think it will more likely go the other way. What’s that age-old saying about too many cooks? With Android you have the utopian idea that it belongs to whoever wants to use it. And from the look of things, a LOT of handset manufacturers are eyeing it up. Plus a lot of independent developers as well, due to it’s use of Java for its UI (oh dear..you don’t want to know about how I feel about that). Historically, whenever a new mobile handset came to market, and was taken up by a mobile carrier, it had it’s own customized version of the firmware. It also had pre-installed defaults like where the web browser pointed to, what level of Bluetooth you were allowed to use, how locked down the UI was to customisation etc. Now imagine those same carriers actually DEVELOPING the OS. Do you think they will try to monetize nearly everything they can on the phone? And, if Carrier-A develops its own special app, will this app run on another distro of Android? Imagine a world of so much choice, so many versions of Android, on multiple different handsets, that could be potentially incompatible with other versions of the OS, that you just give up and get a basic dumbphone. Imagine a device ‘designed’ by 150 different people! With each persons own vision of how something should work…ARRGHH!! LET ME OUT!!!
Of course, the final point that I make is about no matter how open, or documented, or easy it is to develop for a smartphone OS, none of this matters if the Apps Suck. Having 97 versions of the same basic app available on your platform does not constitute how well your platform is doing, it only shows what a failure it is as no one has managed to do the app right in the first place. Quality and ease of use will determine the next big SmartphoneOS 2.0. This is the time we are entering now.
Fiery the Angels Fell….