Sunday, December 03, 2006

What technology platform to choose for development of mobile applications?

A wide variety of platform choices is typical of an emerging market. The mobile platform market is promising and as a result of this lots of ideas are brought to the market. This creates a challenge to application developers who need to make bets on which platforms to align themselves with. Here are my recommendations for the USA market:

1. If reaching the widest possible audience is the primary driver then SMS is a clear choice. It is supported by all carriers and available on the largest set of handsets. In addition, deploying SMS applications is straightforward as it does not require going through an extensive approval process by the carriers. Anybody who has used texting is familiar with how to interact with messages. Hence adoption is uncomplicated as well. The big disadvantage is limiting user interface. While exchanging text messages can meet many user needs, there are many applications which require a more sophisticated user interface. Still companies such as Google, Yahoo, PayPal, and many others have demonstrated that a variety of applications can be built using SMS.

2. Mobile web is the second in terms of availability on large number of handsets. It is easy to built and deploy mobile web applications. However user experience is rather cumbersome. Applications involve lots of clicking with lengthy delays between page refreshes. Therefore I am personally not very fond of the platform in its current state.

3. When functionality of a fully fledged application is required and the application is targeting users with a variety of devices across all key carriers, there is no choice but to build it twice – in J2ME and BREW. A prudent approach may be to build the application on top of one of the two platforms, validate it in the marketplace and then port to the other platform. Which platform to choose first? It is easier to set up a J2ME development environment and the learning curve is shorter as well. BREW has a smaller footprint and subsequently can run on a broader selection of devices. Its build in revenue sharing model has a strong appeal as well. Out of the two, for experimentation J2ME is a better first choice. It is important to note that J2ME and BREW applications will need to be certified before a carrier would allow deployment on its network.

4. Native Symbian, Linux, and Windows Mobile applications running on smartphones offer the highest level of sophistication. They are a good choice for developers targeting specific devices who work closely with device manufacturers or carriers. However, for many programs, the complexity of development and a small market share of devices supporting these operating systems outweigh the benefits.

5. For enterprise applications where the user base is known and both carrier and device selection can be controlled, PDA is typically the best choice. Larger form factor and better input capabilities support more sophisticated applications. Out of the three PDA operating systems Mobile Windows is the safest longer term choice as it offers the highest probability of being around years from now. Many users have a strong affinity with Blackberry which is also a good choice. PalmOS market share has been declining. It is possible however, that PalmSource will regain its momentum through the implementation of its Linux strategy.

For overview of the mobile development platforms please refer to the earlier posts:
Mobile Messaging
Mobile Web
Mobile Java
BREW
Symbian
Mobile Linux
Microsoft Windows Mobile Platform
PDA Operating Systems

1 Comments:

Anonymous Anonymous said...

Technology and platform to choose for, when developing mobile applications depends mostly on, who the Target audience are, when it comes to looking at the commercial viability, Whether the target audience are Regional basis, Gaming Industry, any particular client or any particular service provider giving any particular mobile devices.

Coming to the programming side.

I feel good algorithm of a particular Software can be ported on to any language let it be C++, Visual Basic, Java...etc. Similarly a good algorithm targeted for mobile devices can be ported on the any mobile device specific platform. The SDK provided by the various vendors might differ a bit in terms of its API's but by and large all provides almost the same functionality.

"Hacker is successful not because he is intelligent but because of the amount of free time he puts into breaking a problem"

The complexity of development is not a major issue. If adequate time being given then almost any program can be made by and large on most of the Mobile device platforms ((keeping in mind the memory factor and unwanted demands)). It is the commercial viability or clients requirements that drives Technology and Platform.

Certainly Mobile Devices which are Windows OS Centric will rock the market in days to come....

11:42 PM  

Post a Comment

<< Home