Tuesday, August 5, 2008

Getting into Mobile App Development?? …Good luck to you



I recently ventured into Mobile App development and found out one thing-Mobile App development is a real messy affair, unless of course if you are targeting a single deployment environment. There are too much of Platforms with varying length of influences across geographies. That creates a business problem. Think of a Mobile App that has to be catered for a wide range of consumers across geographies. Think of Maintainability and Standardization. Have a read through this blog. I’ll explain a bit about all the Major players in the Mobile market and give a small thought on how to counter this problem. Please let me know whether it makes sense

Time for some Gyaan. The start of 21st century has a seen a flourish in the mobile industry. There are some stunning numbers awaiting us about the mobile connection. Around 80% of the world's population has access to mobile phone coverage, as of 2006. This is expected to cross 90% by 2010. The pace at which it is growing, I don’t think you need to wait till 2010 to see those numbers. Another important number to note down, mobile devices vastly outnumber personal computers, telephones, televisions, and all other media and communications platforms. Now these points do give us a picture of the state the Mobile Industry is in. Mobile has become an unavoidable part of our lives almost like an extension of an individual. This holds true both as in a domestic consumer and an enterprise consumer.

But unlike the PC industry, where you have a 800 pound gorilla controlling almost 90% of the whole market (Read as Microsoft), there is no clear supremacy by any particular platform in mobile. Let’s have a look at the biggies in the Mobile platform market.

1)Symbian

Definitely not an 800 pound gorilla, but if any platform comes close to being one, this is it. With over 60% of market share (Thanks to its close association with Nokia) Symbian leads the pack. It had a wonderful run with its vastly successful S 40 series and currently shining out with its more polished latest release S–60. S-60 has helped Symbian to get a stronghold in the smart phone market which is being threatened by the new entrants. S-60 also features in non Nokia phones like Motorola and Samsung which has helped it in gaining more market in U.S (Nokia is the prima donna choice in the European and Asian market, not the same in US). Symbian has a very good developer base which is not an easy feat to achieve, and exactly the reason why Symbian will hold its lead for a good amount of time in the future.
Nokia recently brought Symbian for over $400 mn and what did they do after spending all that cash…They Open source it !!!!! Yeah you heard it right…They are going to give it away for free and make it as Symbian foundation. Looks dumb on first thought but the mobile market experts beg to differ. With Google coming out with its Open platform Android and “Daddy of all Open sources” Linux gaining more market share, it looks like a very smart move from Nokia.

You can find all about the Tools and SDK’s for Symbian in here.
And for more detailed read try this:

2)Windows Mobile

The original 800 pound Gorilla from the PC market have been trying use its muscle power to get into the Mobile OS market. To a good extent they managed to do well by having close to 13% of the overall smartphone market. But coming from Microsoft , you expect them to be at the top and that is the intend too. Major players like Sony Ericsson, Motorola , HTC etc are coming up with their latest smart phones like XPeria, Moto,HTC Touch Diamond and Pro etc (all of which are touted as iPhone Killers) are all based on Windows Mobile Platform. That shows the belief of these vendors in the capability of Windows Mobile Platform. When it comes to the developer base, nobody comes even close to what Microsoft has. With the provision given to code in a stripped down .NET environment and amazing Tool support in the form of Visual Studio ,Microsoft is here to stay in Mobile App development. Easy of synchronization with the PC also helps. The current version available is Windows Mobile 6.0. Windows Mobile 7 Codenamed "Photon” is a major upgrade planned for release in 2nd half of 2009. Not much else is known about the release, though leaked information suggests a revamped UI, multi-touch and motion-related features.
For more detailed read have a look at this:

3)RIM (Research In Motion)

You might not have heard about the Canadian wireless company RIM , But you definitely would have heard about their offering, Blackberry. RIM provides the OS that runs in Blackberry. Blackberry is a very familiar name in the Enterprise Community because of its ease of use in emailing, a feature that was unrivaled till now, until the phenomenon called iPhone came by. RIM is gunning to have a good run in the consumer market for the smartphone with Blackberry. They have done well so far. The competition is fierce in this segment. RIM usually develops its own softwares for its devices and you don’t see too much of third party developer support for RIM. This is OK as long they are planning to do well with the Enterprise customers, but to stay alive in the consumer market you need to build a good developer base.
For a brief overview have a look at this :

3)Linux

Embedded Linux has been ported to a variety of processors not suited for use as the processor of desktop or server computers.It is an alternative to the—usually proprietary—bespoke assembler or C software largely used in embedded development. Advantages compared to other embedded operating systems include: the source code can be modified and redistributed; relatively small footprint (a typical installation may require less than two megabytes of memory); no royalty or licensing costs; mature and stable; and a large support base. Embedded Linux systems combine the Linux kernel with a small set of free software utilities.
Motorola had in the past rolled out a lot of Smartphones using Embedded Linux and recently Open Moko is released into the market which is seen a gamechanger. Google Android also uses a Linux kernel at its heart. As said earlier being the “Daddy of all Open sources”, there is no shortage in the developer base and community support.
Try this :

4)iPhone

Apple shook the work with the release of iPhone. A touch phone was unthought of and even ridiculed by almost all other Phone makers. iPhone made them eat their words and they are scrambling around and trying to bring into market what popularly called as iPhone Killers. iPhone with its amazing touchscreen functionality and an even better browsing experience with an improved safari browser has really created a storm. The next version of iPhone was released last month and it managed to create the same frenzy that it created when it debuted. But in the version 2.0 what really made us to notice was its Software(apart from its 3G and push mail support). Few months before the iPhone 2.0 release Apple open sourced the iPhone SDK and came out with the concept of App Store where in individual developers can create applications for iPhone and host them in App store with a revenue share business model.
Coming from Apple, the iPhone app development is possible only with a Mac machine. Even though that reduces the scope for the SDK the number of applications that was hosted in App store are really encouraging. With plans to release the phone in over 72 countries, this one is really worth a watch.

You can get your iPhone SDK from here :
Also read this :

5)Palm

Palm with its Palm OS was a rage some time back. In fact there was a time when Palm was synonymous with Smart Phone. But their failure to provide a better platform in the recent times has eroded their market share and their developer base. PalmSource was acquired by Chinese Co. and there were plans to create a new platform for Palm on Linux kernel. Nothing has come of it yet. The way things are going for Palm, one could only see a sinking ship.

More on Palm OS:

7)Android

There is not even a single Hand Phone that is currently available in the market that uses the Android platform, Yet the whole world is downloading it , studying it and creating applications in it. The sole reason being, it’s an Open Mobile platform being developed by Google. But again it’s not just Google, its from the Open HandSet Alliance which is a business alliance made of Google, HTC, Intel, Motorola, Qualcomm, Samsung, LG, T-Mobile, Nvidia and Wind River Systems to develop open standards for mobile devices. Android platform is build over the Linux OS and comes with an SDK, Development and debugging tools and emulators. Google also conducted Android Developer Challenge, which is a competition for the most innovative application for Android. Google offered prizes totaling upto 10 million US dollars.

Get the Android SDK and source code from here :
Read this too:

There are some more platforms or App development suites in the market like BREW, FlashLite, but not worth getting covered (or you could call me lazy). One could say that the same holds true for a Mobile Web app development too, but in a different sense. You have an array of Mobile browsers which are tightly bound with one of the above Platforms. Like IE for windows Mobile, Jb5 for symbian, Safari for iPhone etc..and other independent browsers like Opera. Even firefox is coming out with a mobile version…Watch out opera. But lately almost all the browsers are capable enough to show the original web contents as such without the need of any special definitions.

Coming back to my original statement.Now that you have seen the wide range of Platforms that are available in the Mobile App development, you would also be knowing the head ache involved in it. A Mobile App that needs to be catered for a wide range of consumers across geographies will give you a maintainability Hell. And add to that the thought of having Standardization. In a PC world you know you have to create the App for a particular platform and even if it has to be ubiquitous, you need to support it for only 3 OS. This gives way to a business problem and also to a opportunity to create a solution and selling it. There is an idea on hold. Why can’t we have a Mobile Code Generator?? Think of creating a DSL which will translate into Platform specific code. There goes your maintainability problem , add to it the Standardization too. Ain’t that Brilliant (Or Crazy) ??? Either way…Do please give me you valuable feed backs