(I attended the IndicThreads Conference on Mobile Application Development today. This article is based on presentations made there and conversations I had with some of the presenters.)
The smartphones market is very fragmented.
In 3Q2010, Symbian had 37% of the smartphone market, Android was second with 25% (it was at 2% 18 months ago), and iOS in third place with 16%. RIM (Blackberry) was next. Windows was losing.
So, what should a developer do? Which to target?
I talked to Romin Irani of Xoriant about this problem, and whether HTML5 is the answer to these issues. My key takeaway’s from this conversation were:
- HTML5 is here already. I was under the impression that HTML5 is something that will arrive sometime in the near future. Romin pointed out that HTML5 support is pretty good even today, especially if you’re thinking of mobile phone browsers.
- But HTML5 not the answer to all your problems. If you need access to device sensors, you’re probably better off with a native app. If you want access to the appstore/marketplace, then you need a native app. HTML5 doesn’t qualify!
- If you’re a new startup, and you want to build a mobile app, what should you do? These are the guidelines:
- If you don’t need device sensors, and don’t need to be in the appstore/marketplace, strongly consider a HTML5+CSS+JavaScript app
- If you want to go after the US market, you must have an iPhone native app. (Maybe followed by Android)
- If you want to go after Europe market, then you will need to have a Nokia based native app, just for the sheer numbers they have
Rohit Nayak of Talentica had talked about the use of cross-platform app development frameworks like Titanium and PhoneGap. Both allow you to write apps in JavaScript. Titanium cross-compiles them to native apps on each platform. PhoneGap uses a modified version of the browser so that your app is HTML+CSS+JavaScript, but there are modifications that allow you to access native phone features (like sensors).
There are some limitations, and such apps aren’t as good as native apps.
So, would he really recommend the use of PhoneGap/Titanium for developing apps? Rohit had this to say:
- Titanium and PhoneGap are rapidly getting better and better. More and more apps built using them are showing up on the android marketplace.
- If you already know JavaScript, and need to get to the market quickly, you should definitely consider using one of these tools
- If you don’t really need advanced native features of any specific platform, then it makes a lot of sense to go this route
- If you are a software outsourcing company that’s building apps for third parties, you should seriously considering building a team that uses Titanium. For most of your customers, you’ll be able to quickly complete an app that satisfies them. Otherwise, you’re faced with a nightmare – you’ll need to build teams with expertise in each of the major platforms, and this is almost impossible to do with today’s attrition.
The last few points seem very similar to the advantages of HTML5, so I asked Rohit whether PhoneGap/Titanium had any advantages over HTML5. Answer:
- PhoneGap/Titanium generally support more native features than HTML is planning on supporting
- An app built Titanium/PhoneGap can go on the appstore/marketplace.
- An HTML5 app necessarily requires you to have a “cloud” presence – a web server and an API, and supporting all the online connections. PhoneGap/Titanium application does not require any of that.
I think on iOS and Android platform because these two are growing up tremendously leaving back Blackberry and Nokia.
Other Platform I would like to add in this is the New Microsoft Windows.
Microsoft has come up with the market place for apps store. I think it will grow up in coming future.