Project Lead, Manipal Business Solutions
Bhaskar is currently working for a Japanese Medical product development company since April 2009.... more>>
There has been a paradigm shift in mobile domain in the past 2 years with the introduction of smartphones.Every business desires to reach its customers through mobile applications and too on all the platforms. In addition, the business wants to keep the time to market the products minimum so that they can beat their competition and and also be able to show their superiority in the market.
Considering this business problem, this paper will explore the various possible options to develop mobile application and will explain that how the cross platform application development can become a beneficial way to develop potential applications for mobiles and tablets.
Market trend/ Challenges
The mobile ecosystem is in the midst of an unprecedented wave of transformation. At the center of this transformation all businesses wants to have its presence in mobile industry and touch base with its customers which are increasingly using smartphones and tablets.
The smatphones market is highly competitive and fragmented.
The share of worldwide 2010 Q4 smartphone sales to end users by operating system, according to Canalys is shown as below
A different analysis of 2010 Q4 sales by Gartner puts total Symbian phone sales slightly ahead of Android.
According to the International Data Corporation (IDC), smartphone vendors shipped a total of 99.6 million units in 1Q11, nearly double from the 55.4 million units in the first quarter of 2010. IDC Forecasts that Worldwide Smartphone Market to Grow by Nearly 50% in 2011. By 2014, sales of smartphones will reach 572.5 million units, representing 40% of total handset sales.
The reasons for such a steep growth are seen as:
1. Vendors are increasingly emphasizing smartphones as the key to their own growth.
2. Selection has proliferated from mostly high-end devices to include more mid-range and entry-level offerings
3. Pricing has become increasingly competitive, with even high-end devices available at low price points.
4. Users continue to seek greater utility from their mobile phone beyond voice, and smartphones have been the ideal solution
5. Empowerment of users on the kind of applications they want their smartphones to have.
Considering the above mentioned factors, businesses now want to target all the leading mobile platforms which includes iPhone, Android, BlackBerry, Palm & Symbian.
Each of the different platforms have their own SDK and the programming languages, technology and underlying platform are different, as mentioned below.
Table 1 : Mobile OS, IDE and Skill matrix
The challenges being faces by the companies are:
1. Difficult to acquire and maintain skills for multiple platforms.
2. Developing and Time to market the application for all platforms becomes long.
3. Once developed, the cost of upgradation and maintenance is also heavy.
4. Each of these platforms have their own ways of licensing.
5. Not sure that which is the strongest smartphone platform is the among the company’s users.
We will try to devise a solution matrix based on the various sets of requirement which varies according to the type of application, budget and time to market.
We have identified fours ways to develop smartphone applications:
1. Native application:
This method requires developing an application using the natively supported programming languages. This approach gives the maximum flexiblity in terms of using the device capabilities and performance.
2. Webkit based application:
In this approach the application is developed using the HTML/JS/CSS code and is wrapped with the available webkit of the device and make it run as native application. As it uses the web technologies so it works across the platforms which supports webkit. However, accessing the device capabilties is not possible and performance is not so good as compared to native applications.
3. Hybrid application:
4. Mobile web application:
Using this approach the user can access the web pages (through any mobile browser) which are especially designed for mobiles and residing on a server on the web.
Despite the advantages of the native approach over the web based approaches(Web appa,Web kit approach, Cross platform tools approach), it is doing much better in some specific areas.So, it becomes very ambiguous for developers to decide which approach to follow to add a WOW effect to the application and at the same time they are also supposed to keep time to market in mind to beat the competition.
So lets have a look at what type of application fits best where either on web based approach or on native approach.
We have created a table where we have tried to list down the various possible requirements and then mixed various of requirements to creat new sets of requirements. (Refer table3)
Then we have created a Venn Diagram(Refer Venn1 in next page) where we have positioned the requirement sets identified in Table3 in the corresponding set.
Table 3 : Requirement set matrix.
Venn Diagram 1
In a broad way, if your application is targeting a number of platforms then obviously the web approach would be a better one as the maintenance of the application is easy as you have only one codebase and then it will work across all the smartphone.
On the native side, Android and iphone are growing fast and gaining market rapidly.So one version of android or iphone is not sufficient.
Developer would have to create versions of the app for iphone as well as for the ipod and ipad and similar is the case with android,symbian and other platforms.Which needs a lot of time,money,and platform specific skills.Beside all these things developer will have to bear the cost of testing, certification and deployment and go through the approval process.
However games work best as native application as they use the heavy graphics which can not be rendered as effectively in HTML5 as in native apps and benefit from not having access to the resources through browser.
Shopping and Services application work best with the web application many of the mCommerce products do not fit into the static iTunes content oriented billing model. This fact is true for other sectors as well. On the mobile web you have the freedom to create whatever business model you want and it also gives you an opportunity to access your information from anywhere.
Here goes the table comparing a variety of applications for the development approach as per our recommendation .
Table 4: Application Type and Suggested Approach
In last one important thing is that from the marketing perspective apps are great as the apps phenomenon is so hyped today and once you got an application, you get a lot of attention.
So there’s little a native app can do that an HTML5-based app simply can’t.
• Native apps are faster for some operations – particularly anything very graphics-intensive. Graphic-intensive games won’t render as effectively in HTML5 anytime soon. However, increasingly, vendors like Sencha are working around many of the speed issues by doing things like embedding a map component that can be primed for loading maps — addressing the slowness you’ve seen in things like Google maps or other sites.
• Native apps perform better than all the mentioned approaches. More accurately, it takes more work and expertise to achieve comparable performance.
• If you have invested in native technologies already and don’t need to expand to new mobile platforms, stick with native.
• If your app is extremely complex and highly interactive (and especially if you don’t need to customize the look & feel heavily) - or if any performance issue is your prime concern; consider native.
• In most other situations, consider mentioned approaches.
• If you are targeting multiple platforms, or your expertise is largely Web-centric — and if you’re willing to spend some time optimizing — then we certainly recommend any of the cross platform approaches as per your application requirement.
Experts on Mobile
Chief Tech Architect
Sr Software engineer