Native Mobile Apps or Mobile Web Solution?
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?
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.