Wednesday 10 December 2008

iPhone SDK, Android and Symbian creating more fragmentation

With over 300 million iphone applications downloaded to date and 200m+ applications downloaded every month across all mobile platforms the mobile application market has never been more interesting. But it's not all good. Despite all the positive impact from the iPhone and Android in the last year this is also causing majors headaches for the mobile services industry. Fragmentation is constantly increasing with more OS (iPhone, Symbian, Android, Windows Mobile, Moblin Linux, Blackberry, etc), mobile browsers (Opera, Safari, Chrome, etc), application standards (Java, iPhone SDK, Symbian, Android SDK, Brew, 5+ different widget standards, etc). This will increase technical complexity, time to market, costs and potentially kill the chances of the industry really taking off. Imagine having to developing different versions of every software program for Dell, HP, Lenova, Toshiba, Asus, etc.

Developing 4 different OS versions of an application is possible although costly for most mobile services companies. Mobile game developers have dealt with this issue for some time with porting and testing costs making up as much as 80% of the total budgets which is bearable but certainly not profitable. The even bigger challenge however is maintaining, upgrading and supporting 5 different OS versions of an application that is in need of constant change. Unless you are Google, Facebook, MySpace or another business with 100m+ users this is simple not an option if you want to have a profitable business.

What are the options then unless you have unlimited resources for mobile application development?

A) Browser based solution only
Stick to a browser based solution and do everything you can to optimise the service over time and leverage new functionality such as script languages on the devices where this is possible. The negative side of this is that the user experience is always a little bit slow and the design and interaction capabilities very limited. It will very seldom give the user a WOW experience.

B) Automatic porting tools to support all platforms
There are a various porting tools available for porting from Java to Brew, iPhone, Windows Mobile, Android etc. These reduce the development efforts but not the optimising and Q&A work. However, they also substantially limit the use of native APIs and functionality across the platforms which means that the ported version is usually based on the most common denominator between the platforms, i.e. a bad compromise.

C) Java and iPhone versions
The only application development standard that works on a majority of handsets is Java Mobile Edition (J2ME). Java is currently available on over 90% of all devices in Europe, 80% in North America (includes packaging for Brew) and about 75% worldwide according to Strategy Analytics. The only multimedia enabled device that does not support Java today is the iPhone. Java definitely has its limitations but in terms of cost efficiency it is the only platform of choice.

In conclusion although the new platforms provide great new capabilities it is very unlikely that the development community will be able to support all of them. The decision on which platforms are used for development must be made on a case by case basis but in most instances Java is the only viable solution for downloadable applications in combination with standard XHTML for browser based services. Despite the competition from new and exciting platforms Java has a good chance to continue to be the platform of choice in the future.

We look forward to further debate on this subject!

4 comments:

TechLady said...

Diskeeper is doing a great job of providing fragmentation solutions for new platforms. They just released a product to optimize SSDs and they also work on Sans, Nas and Raid.

moses said...

thank you for this post, it was helpful indeed :)

Anonymous said...

There's also Mo'Minis Studio which allows fast development of mobile java games + automated porting - http://www.mominis.com

Anonymous said...

There's also Mo'Minis Studio which allows fast development of mobile java games + automated porting - http://www.mominis.com