Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘Operating Systems

Diversity in Mobile Phone Platforms

with one comment

There seems to be an explosion of mobile phone platforms these days. Mobile phones is certainly where the growth is. The number of people regularly using them is expanding, plus people tend to break, lose or get stolen phones, that the replacement cycle is very fast. We have a number of legacy platforms like Symbian, Microsoft Windows Mobile, Motorola. Then there are a great number of new contenders including Apple’s iPhone, Google’s Android, RIM’s Blackberry, Intel’s Moblin and Palm’s Pre. Then there are dozens of smaller players all contending for developer’s attention.

Each of these systems has its own SDK (whether closed, proprietary or open) where you can write applications for the particular platform. Then if you can certify your application you can get it sold through some sort of proprietary app store. So as an application developer, do you just choose one platform and lock yourself into that and live with the risk that the vendor can kick you off the app store on a whim if they think you are competing with them or annoying a major cell phone carrier? Or do you develop the same application over and over in each SDK? Doing this is a lot of work and you can still get kicked out of major markets.

So what to do? Each of the major platforms now comes with a good browser (ever built in or via an add in). Google as Chrome, Apple has Safari, etc. These cell phone mobile browsers can browse and run most AJAX/JavaScript/HTML based applications. This gives a point of standardization that is outside the control of the cell phone platform software vendors, hardware vendors and cell phone carriers. If you write your application using web based standards then you can run in the browser on all these cell phones. All you need to do is make sure you application can render the screens nicely for commonly available screen sizes and allows varied input mechanisms.

Now doing this you don’t have access to the cell phone hardware, so you can’t initiate calls and can’t access the GPS (at least yet). But you still have open to you a wide range of things you can do. Additionally you are writing an application that runs on any hardware, not just cell phones, so your application can be accessed from Windows PCs, Linux PCs, Apple PCs, Game Consoles, WiFi devices (like iPod touch or PSP), and many more.

It seems that as hardware platforms are diversifying, it doesn’t make sense to develop for a single platform’s SDK anymore whether its Windows or iPhone. It seems like the cost effective way to get the widest audience is via open web standards. The standards based JavaScript/HTML world as evolved to the point were you can write extremely rich client experience applications without the use of any proprietary SDK. Java tried to get us to a write once, run anywhere world, but failed. Now AJAX/JavaScript/HTML has gotten us there.

Written by smist08

September 27, 2009 at 11:45 pm