Mobile City

Join Hands to Build a Smarter India: Sign in | Join now
   Mobile City >> Expert Column
Dont Miss Experts ( 1-4 of 12 )
Approaches for Mobile Application Development
Bhaskar Paul
Bhaskar Paul
Project Lead, Manipal Business Solutions
Bhaskar is currently working for a Japanese Medical product development company since April 2009.... more>>
(This Article was co-authored by Bhaskar Paul, Project Lead, Manipal Business Solutions and Priyanka Gupta, Enterprise Mobility COE, HCL Technologies)

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.

Solution

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:

In this approach the application is developed using the framework’s supported scripting languages and then it is made to execute on the different platforms. The framework does provide many javascript code which gives the native look n feel and many provides APIs to access the device functionalties as well.

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.

Best Practices

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.

Common Issues

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.

Conclusion


•    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
Rohit  Ghatol
Director
Synerzip
Ashay A Raul
Executive Marketing
Supreme Petrochem
Shyamala  Prayaga
Founder & CEO
UXLabs India
Prakash  Dantuluri
CEO
Paradigm Creatives
Piyush  Dholariya
Software Engineer
I-Integrator
Vishwesh  Jirgale
Chief Tech Architect
AgreeYa Mobility
Vivek  Juneja
Engineer
Torry Harris
Prithwish  Das
Technical Lead
Sony India
SiliconIndia About Us   |   Contact Us   |   Help   |   Community rules   |   Advertise with us   |   Sitemap   |  
News:       Technology   |   Enterprise   |   Gadgets   |   Startups   |   Finance   |   Business   |   Career   |   Magazine  |   Newsletter   |   News archive  
Cities:        CEO   |     Startup   |   Mobile   |   CIO   |   Women   |   BI   |   HR   |   SME   |   Cloud   |   Marketing   |   QA   |   Java   |   Web Developer  
Community:      Members   |   Blogs   |   Indian Entrepreneurs   |   Gyan   |   Advice   |   Community   |   Find   |   Events   |   CXO Insights  
Job Board:      Jobs   |   Freshers   |   Companies   |   HR Speak   |   Forum  
Online Courses:   Web Developer   |   Java Developer   |   CCNA Training   |   SEO   |   SAS   |   SQL Server 2005   |   J2EE
Education:   MBA   |   MCA   |   Engineering   |   Training Institute
Life:          Real Estate   |   Travel   |   Finance   |   Gadgets   |   Movie Reviews   |    Jokes  
Send your feedback and help us continue to improve SiliconIndia
© 2014 InfoConnect Web Technologies India Pvt Ltd. all rights reserved