In the previous post we had a quick introduction to the challenges when dealing with Enterprise Mobility. You can find that post here. This post will deal with choosing between and installed application and a browser application.
What is an installed app?
An Installed app is something that is installed in the phone / tablet and is always available on the device. An installed app can be downloaded from the online app store such as Google’s Play Store, Apple’s App Store or Microsoft’s Windows Phone Store. Alternately installed apps can also be side loaded. Side loading refers to the practice of loading applications into the device that are not certified by the store or not downloaded from the store. Some device operating systems have restrictions on side loading. Prior to the advent of app stores all applications were side loaded.
From a technical stand point the installed app resides on the device and runs using the device’s capabilities exposed as APIs by the device operating system.
What is a browser application?
A browser application on a mobile is similar to any web application in that it runs off a web server, is accessed via a browser and does not need any installation on the device itself. Where it differs from a traditional web application is that these applications factor the display dimensions of the device and the browser capabilities on the devices as opposed to the desktop browsers.
The device capabilities are exposed to the application through the browser in this case and is typically a limited subset.
Deciding between the two?
The suitability of a particular approach or choice is often based on the impact of the choice on multiple fronts. The table given below provides an insight on potential impact for many relevant factors.
|Factor||Installed Application||Browser Application|
|Cost||Depends on the application||Depends on the application|
|Time to market||Takes relatively more time to develop. Number of device configurations (OS, Version, Screen Size, Device Sensors) supported determines the development and testing effort||Takes relatively less time to develop. Screen size and usage of browser specific features determines the development and testing effort.|
|Skillset||Specialized skillset required. The programmer needs to know Objective-C, Java||Any existing web application development skills can be reused|
|Support cost||Support costs can be expensive if the number of platforms to be supported is high||Support costs can be optimized by using standard browser features|
|User Experience||Can provide excellent user experience with good design. Responsiveness is typically higher||Bringing an excellent user experience is a very involved process. Responsiveness of the application is typically lower|
|Upgrades||Version upgrades are not automatic. User has to choose. Multiple versions can typically exist at the same time||Upgrades can be made automatically. Typically only the bookmarks are affected.|
|Fixes and Turnaround time||Rolling out fixes is the same as rolling out upgrades. User has to choose to upgrade. App store approved apps take some time for approval||Turnaround times are lower and favourable compared to installed apps|
|Performance||Well-designed applications are very fast to use on devices with suitable specifications||Much slower than installed apps|
|Infrastructure cost||Server costs are low, but devices costs can be higher based on standardization policy||Server infrastructure costs can be high especially for large user base applications|
|Using device capabilities||Installed applications have access to device sensors such as gyroscope, accelerometer, proximity sensor, camera, GPS etc.||Some of the sensors can be accessed such as camera and GPS|
|Convenience||Ease of access is high for the application. Discovery and Installation process is an overhead||Discovery is via shared link or search engine. No need for an installation. Ease of access is high for bookmarked applications. Requires login as an extra step to use for secured applications|
|Security||Locally stored data needs to be protected and care has to be taken for the same||Security can be handled at the server side|
|Technology Longevity||With versions of OS rolling out with newer features and changes being of high frequency, this is a challenge||When using standard feature sets, the application has a long life|
You can include additional relevant factors and evaluate their impact in order to make an informed decision.
When to go for an Installed App
The following enterprise use scenarios typically can be addressed by an installed app
- An installed app is most suited when an application can work offline, requires local storage of data, or can work with periodically synced data.
- Installed apps are preferred when device capabilities such as camera, GPS, accelerator, and other sensors are to be leveraged.
- Installed apps are the way to go when user experience is high on the priority list, without compromising performance and development complexity
- Installed apps are also suitable when the application can use local processing capability to save on server infrastructure investments
When to go for a Browser App
The following enterprise use scenarios can be addressed ideally by a browser application
- Browser applications are ideal when the application changes frequently and all users have to be on the same version
- Browser applications are best suited when user devices are not standardized to a particular platform, but all devices use standard browsers
- Browser applications are a good choice when the time to market is short as they have shorter development cycles
- Browser applications are the way to go when the application has to be shared with newer users (especially outside your enterprise) on a regular basis, or when it has numerous infrequent users
What is the impact on my budget?
When the budget impact is being seen for an enterprise application we need to take into account the total cost of ownership and operations. While browser applications can be developed in a shorter time frame compared to their installed counterparts the server infrastructure cost also has to be factored. Maintenance costs of applications also vary based on the technology choices and the application complexity.
Standardization of choice of device can save on costs while not compromising the user experience, but add to inflexibility at all levels including the IT strategy. A Bring Your Own Device (BYOD) policy can save on the cost of devices but increase support and maintenance costs. Initial development costs for supporting multiple platforms can also be higher.
Making the right choices is important to ensure that flexibility, user experience and cost are all balanced and that the application provides a return on investment that is acceptable. Enterprises should factor mobility in the overall IT strategy to ensure that it is aligned with business realities.
Technology allows enterprise to get into mobility in more than one way. Enterprise can adopt the right mix to cater to a large audience while incurring acceptable costs. The success of the mobility strategy finally lies in ensuring that the applications are really useful and that user adoption is high. The technology choices have to contribute to the success of the strategy.
Coming Soon – Developing Responsive Mobile Web Sites