Artilium Blog

Friday, October 30, 2009

Mobile Apps, the limitations

One of the dilemmas faced by mobile apps developers is which platform or platforms to develop the application for.  E.g. should it be an iPhone app with a limited number of subscribers but a great distribution network, Symbian with a great subscriber base but requires signing and has a poorer sales channel, Blackberry with a large business user subscriber base, ... ? Even simple games apps developed for J2ME are not guaranteed to work across multiple phone devices even from the same manufacturer due to differences in the software implementations and user interfaces.

A developer of desktop applications does not really have the same dilemma due to the monopoly held by the Microsoft Windows operating system so the initial target platform decision is usually a no-brainer.  For web applications we have do the benefit of industry standards maintained by W3C so properly constructed web applications will work equally on Firefox, Explorer, Safari, Chrome, Opera, etc.

So, the problem for phone applications is that there is no standard (or no platform monopoly).  Obviously J2ME is a Java standard for mobile devices but the code still needs to be optimised for different device capabilities so a single code solution does not cover all devices and accessing services of the mobile device from J2ME can be difficult. The BONDI open source project is enabling web applications access to local capabilities on the mobile device which is another step forward. However, developing ubiquitous applications for mobile remains extremely difficult due to the variety of device platforms on the market.  Modern SIM cards are now effectively smartcards and can be programmed, so an alternative to programming on the device is to programme the SIM card. Of course you need an arrangement with the operator to place executable code on the SIM but this can lead to a much more ubiquitous solution. The SIM platform is based on standards and is the same regardless of the device carrying it.

The traditional view of mobile apps is that they run on the phone platform, but as we get bored with novelty apps (virtual pints and the like), apps must become useful and may require services that exist external to the mobile device. This takes us into the domain of cloud computing and enables extremely powerful application to be created by using services already available via the Internet.

Artilium’s ARTA platform enables many network services to be made available to developers and standards are being developed for these types of services through the GSM Association’s One API project (i). By developing applications based on services available in the cloud it is possible to create useful applications which are not restricted to a particular type of device.

As an example, imagine building a worker management application which can display the location of all employees and route calls to their fixed line when they are in the office. To build this application we would use our thin location client on the SIM (note that this is a service not a phone application). We would use ARTA APIs for call routing and a service such as Bing Maps for the location display. Note that to build this application we have used a phone service, a network service and a third-party web service. You could not develop this application on an iPhone and even if you could, it would not be ubiquitous! 

(i) http://oneapi.aepona.com/, 30 Oct. 2009

Posted on 10/30 at 03:15 PM

Next entry: Using personal data

Previous entry: Predicting Relevance


back to the top