Welcome to the world of Infosys Engineering! It is a half a billion plus organization that takes pride in shaping our engineering aspirations and dreams and bringing them to fruition. We provide engineering services and solutions across the lifecycle of our clients’ offerings, ranging from product ideation to realization and sustenance, that caters to a cross-section of industries - aerospace, automotive, medical devices, retail, telecommunications, hi tech, financial services, energy and utilities just to name a few major ones.

« Offline web applications with HTML5 | Main | The need to build complex systems - smarter »

Native Mobile Apps or Mobile Web Solution?

Mobile enabling their business is one of the latest trends most companies around the world are following. When a company decides to mobile enable their business, they want to target the maximum number of customers possible. Over the past few years any company engaged in B2C or B2B model have made their presence felt in the mobile world. Businesses ranging from banking, retailing, gaming, ticket booking to health care are all going mobile. Some companies are clear on their mobility roadmap and have a particular segment of users in mind e.g. they want to build mobile apps for people using the iPhone because the Apple App store is the largest app store currently and attracts a huge user base. Some customers might want to target the Android platform and others might want to target users irrespective of the type of mobile device they use. This leads to the million dollar question, do we build a native mobile application (for one or multiple platforms) or do we go for a mobile web solution? Both approaches have their own pros and cons. In the end, it is all about the user experience that a mobile solution provides to the customer.

Native Mobile Apps

When a company decides to build a native mobile application, it has numerous target platforms to choose from including iOS, Android, BlackBerry, Symbian etc. Native mobile apps are platform specific e.g. they may be written using Objective C on the iOS platform or Java on the Android platform. According to Gartner, the Android platform is expected to become the leading mobile platform in 2011, accounting for no less than 38.5 percent of all Smartphone's in the market. This will be followed by iOS at 19.4%, Symbian at 19.2% and BlackBerry at 13.4%. Not all native platforms are the same, nor do they offer the same capabilities. Every platform has some unique features which may or may not be found in other platforms. Some platforms like the iOS are available only on Apple devices like the iPhone or iPad while others like Android are available on devices manufactured by multiple vendors. While native mobile applications can make optimum use of the device capabilities, the development and maintenance cost of native apps is also higher.

When to go for a native mobile app:
1. The application requires high graphics performance or native capabilities like accelerometer, Bluetooth, camera, gyroscope etc.

2. The application has to interface with other native applications or features of the mobile devices like contact list, calendar etc.

3. The application required video and audio capabilities.

4. The company wants to reach out to prospective customers via the various app stores and take advantage of their sales channels.

5. The application can be run offline.

 

What are the cons associated with native mobile apps?

While native mobile apps provide an unmatched user experience, companies should keep the following in mind before making the decision to go for them,

1. The mobile platform world is very fragmented and cross-platform development is not possible. All the mobile platforms have different platform capabilities and provide their own SDKs for development. This essentially means writing a single piece of code which works seamlessly on all platforms is not possible. A separate code stream has to be maintained for each platform.

2. Higher development and training cost since companies have to develop native apps for multiple platforms if they want to ensure maximum reach.

3. The cost of maintenance and support of the native apps increases depending on the number of platforms supported.

4. Customers have to upgrade the native apps whenever a patch or newer version is released.

 

Mobile web solutions

When a company decides to mobile enable its website, it essentially wants that customers should be able to access their website from their mobile phones. The mobile version of the website should be optimized for browsers present in hand held devices. It should not matter whether someone has a Smartphone or not. Technically, the mobile phones should be WAP or GPRS enabled and should have a mobile browser; which more or less every mobile device has these days. A company can reach out to many more customers using a mobile web solution in comparison with a native mobile app which will target a specific platform only. There are a number of solutions in the market which can be used to mobile enable your company's website with minimal changes while ensuring that the website will be accessible on a broad range of mobile devices having varied screen sizes and resolutions. Some of these solutions include, Infosys mConnect, Antenna Mobility Platform (AMP), netbiscuits Mobile Cloud Platform, jQuery Mobile Framework etc. Using these solutions, companies can create an effective mobile experience for their customers across all platforms and devices. Some of the advantages offered by these solutions are,

· Accelerated mobile enablement of websites.

· Support for broadest range of mobile devices - iPhone, iPad, BlackBerry, Android, Windows mobile etc.

· Provide detailed analytics of usage patterns.

· Take advantage of running the applications on a mobile cloud.

· Lower cost of mobile enablement, maintenance and support


When to go for a mobile web solution:

1. The most important use case if when the company wants a build once, run anywhere solution.

2. The business is mostly transaction driven e.g. banking, retailing, ticket booking, online reservations etc.

3. The application has heavy backend processing and wants to take advantage of cloud technologies.

4. It is desirable to have lower development, maintenance and support costs.

5. Customers don't have to download or upgrade applications.


What are the cons associated with mobile web solutions?

1. Mostly mobile web solutions cannot take advantage of native capabilities of the devices or platforms. Many of the platforms exposed APIs are not available to the phone browser and hence not available to the mobile web application.

2. Browser fragmentation exists among platforms which means the application has to be designed keeping in mind the capabilities of different browsers supported by each platform. However by using a middleware platform like Infosys mConnect, cross-platform solutions can be developed which behave well on all devices.

3. High bandwidth requirements.

 

Is there any other alternative?

Sometimes companies want to make their presence felt on the app stores and at the same time want to make their application available on multiple mobile platforms across a wide range of hand held devices. In such cases, companies may choose to go for a hybrid solution wherein by using certain application development frameworks, web technologies like HTML, JavaScript and CSS can be used to build cross platform native applications that can interact with the platform's features and can be deployed on the app stores. PhoneGap, rhomobile, Particle Code and Appcelerator Titanium are some of the leading frameworks for hybrid mobile application development. Hybrid solutions are basically web based solutions embedded within the native containers.

When to go for a hybrid solution:
1. Web technologies is the preferred language for development and companies don't want to invest in training for platform specific technologies like ObjectiveC, Java, .NET etc.

2. Access to device specific features is required while ensuring that application is available on all devices and platforms.

3. The company wants to reach out to prospective customers via the various app stores and take advantage of their sales channels.

4. Companies want to keep the development, maintenance and support cost low.

 

So which solution should we go for?

Mobile web solutions are great in terms of device and platform independent usage, but if the solution wants to take advantage of the platform or hardware capabilities, native applications are a better solution. In the end the choice between native, web based or hybrid solutions, depends on what the application is trying to accomplish and what device characteristics are necessary for it to work. Unless native apps are a requirement, customers should opt for platform independent mobile solutions in order to ensure that the solution is accessible on maximum possible devices and has a greater customer reach.

Comments

Which tool is used to develop native apps for mobile operating systems

The leading mobile operating systems are Android, iOS, BlackBerry. Native mobile apps for these operating systems can be developed using a variety of tools, some of them open source.

Android is essentially Java based. Eclipse can be used to develop Android applications.The Android SDK and other plugins need to be configured in eclipse for this.

iOS applications are developed using the Apple proprietary tool XCode. The iOS SDK has to be installed along with this. Developers need a Mac machine to develop iOS applications.

BlackBerry apps are developed using the BlackBerry's Java Development Environment (JDE), MDS Studio Rapid-Application-Development tool and Eclipse

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter


Categories