Tuesday, February 16, 2010

Common Mobile App Platform

This is the week of the Mobile World Conference in Barcelona. With mobile technology having become so dominant, this event has become a major venue for carriers and vendors to trot out the latest gadgets and to announce new deals. The press releases have been coming fast and thick since the weekend.

One curiosity is the Wholesale App Community, an alliance of phone vendors and carriers around the world, to jointly build a vendor-independent platform for software app development. This would allow an app developer to write an app once and it will successfully run on any smart phone OS platform, on any mobile device and on any network. This is no mean feat, which any app developer knows, since they're the ones that have to write and rewrite app software if they are to run on iPhone, Blackberry, Android, and other platforms, and also deal with the diverse form and features of mobile devices using each of those platform. Here it is in the words of this new alliance:
"For the developer, particularly small developers, the alliance will create an environment in which they can flourish and create applications in a straight-forward and effective manner. Today, the route to market for developers is challenging requiring them to approach multiple operators. The alliance will provide a single gateway for developers to access a vast potential customer base (over two billion with limited cost to the developer and this in turn will provide the maximum possible return on investment for them.

In addition, the alliance will utilise existing technical standards, rather than creating new ones to allow developers to access operators’ assets, for example network capabilities or API’s (Application Programming Interfaces) more easily. In practice this means that developers will only have to create one version of their application and this can be used on multiple types of devices and operating systems (such as Symbian, Android, Windows etc) which is not the case today."
Sounds great, although the details are at best sparse. The announcement itself is unsurprising since it's been telegraphed by many of the alliance members for quite some time. The thing is, is it feasible? Technically, sure it's feasible, but it is more important to ask how they will go about it and whether it will gain market traction. An example of a similar success is the world-wide web, courtesy of standard HTML and compliant browsers; it can be done.

As to how they'll do it, that will be interesting to see. One of the important reasons to have native apps -- those that are tuned to a device platform's OS and environment -- is to make use of all the services and technology that is local to the phone: GPS, accelerometer, orientation sensor, audio streams, camera, file system, and so on. A successful alliance initiative would need to achieve a common platform while providing local access to many device features. The challenge is increased by rapidly-evolving smart phone technology; a too-static common app layer will fail if it can't keep pace with the underlying mobile device feature set.

Can a common app development layer diminish the preeminence of the platform decision when developers produce an app? Certainly there will be a shake-out among mobile platforms since there are too many. This is going on even now with the announcement that Moblin and Maemo will be merging, reducing the number of Linux-based variants; this will not be a typical outcome: each of the rest will either survive or die. This, too, could happen to the alliance's initiative.

After a few moments of thought, I have an idea what a common app layer needs to achieve if it is to have the kind of success the web browser has achieved. In fact, it may be a variant of the web browser.
  • HTML5-based app language that can run within a browser, providing a common user interface
  • Cloud (server) APIs to access carrier-provided network services
  • Javascript virtual machine to execute app code on the device
  • Javascript APIs to access mobile device features
This is pure guesswork and probably wrong. I just want to give a flavour of what is needed. Others are guessing as well, and it does seem that games must stay native for now. The carriers will have full control of the network APIs, but need device and platform OS providers to cooperate on the device side software. The browser will become so heavyweight that it may take another generation of mobile phone technology to make it run well, but that will be no impediment if the initiative is planned as a long-term strategy.

I wish the alliance luck, even though I will not hold my breath. Then once it gets into the wild, my bet is that we'll see the first serious malware, designed specifically for the new app platform, appear within one week.

No comments: