Editor’s Note: Welcome to our weekly Reader Forum section. In an attempt to broaden our interaction with our readers we have created this forum for those with something meaningful to say to the wireless industry. We want to keep this as open as possible, but we maintain some editorial control to keep it free of commercials or attacks. Please send along submissions for this section to our editors at: [email protected].
Enterprises are investing in mobile, that’s a given. But chief information officers are still facing issues related to mobile apps and mobile websites – these are two very different approaches when it comes to development and implementation. Which should your enterprises choose, and what’s important to know? There is no clear answer as the right approach varies for each business, and your decision should take into consideration user experience, features, internet/connectivity, engagement and ease of use.
According to Gartner, by 2017, half of all employers will require employees to supply their own device for work, while 38% of companies expect to stop providing devices to workers by 2016. With these “bring-your-own-device” growth trends, CIPO’s are looking at efficient and cost effective ways to deploy governance and assure that business goals, data security and quality are maintained.
When an enterprise decides to develop a mobile application (either business-to-consumer or business-to-business), one of the first questions that arises is the type of application that should be developed – should it be native or Web-based? There are numerous trade offs for each, including performance, usability, portability, network connection dependency, improved time-to-market, engineering development skills within the organization and of course security – we will elaborate on each of these below. But the important thing to remember, regardless of application type, is that the end-user experience is critical. Mobile users’ expectations in terms of functionality, performance and usability are very high and they demand nothing less than an outstanding experience. These high expectations are in direct contrast to the objective resource limitations of a mobile device vis-à-vis desktop-based apps, which leverage a full range of capabilities, “unlimited” hardware resources, an always-connected state and more.
With all of this to consider, there is now a lively debate in the market about the best approach or strategy for developing a long-term mobile product or service, especially when the leading mobile web technology (i.e., HTML5) hasn’t reached full maturity and security is vulnerable; it is still not 100% feature ready. Today, it is clear that end-users and large enterprises still prefer to invest in native applications. However, there is evidence that the market is moving towards hybrid-based applications that allow enterprises to enjoy the best of both worlds with a reasonable investment and time to market.
No free lunches with mobile apps
So what are the differences between a native-app and a mobile-Web approach? What are the pros and cons of each? Let’s take a look at the key trade-offs to consider when making your decision.
–User experience/end-user engagement: When developing a mobile Web application, you need to build your app in a more generic manner to accommodate any mobile device and browser. Since you are not developing your app through the native language of the target devices, you may need to compromise on the look and feel of your user interface, which as a result may be less visually appealing. In addition, mobile Web apps are slower than native apps in getting UI API access, which also impacts the end user experience. Some gestures, as well, such as multi-touch and pinch gestures are only possible with native apps (it is not possible in Web apps to capture multi-touch input events or to determine when more than one finger is on the screen). This fact also impacts end user engagement with the application.
–Performance: Mobile Web applications perform slower than a native app, which works “locally” on the devices, leveraging the platform capabilities and resources. Mobile Web apps may require downloading resources from the Internet to support various actions done by the end-user, as opposed to native apps which usually store all resources on the device’s local storage. This means that the accessibility and performance of native apps are usually faster. For this reason, in apps that require fluid animation such as gaming, highly interactive reporting, or intensely computational algorithms for transforming photos and sounds, native apps are more appropriate.
–Network dependency: As mentioned above, unlike native apps, mobile Web apps require the end user to be connected to the Internet, making this dependency a single point of failure. In such cases, the app developer ought to assure that the end-user gets the right experience when network connectivity is limited or lost, rather than an irrelevant error message, or even worse, a full crash of the application.
–Development skills: For native mobile apps, organizations may develop in the target mobile platform development languages (Java for Android, Objective C for iOS) or leverage cross platform development tools, which allow them to develop in one language and then building (compiling) the app for various platforms. In both cases, this is more time consuming and costly than a Web-based app, which can run across all platforms from a single source.
–Cross-device portability and maintenance: Deploying mobile Web-based apps on various devices with different screen sizes or with different OS versions is straightforward; simply provide a mobile we site URL (i.e. m.mobileweb.com). Native apps require “porting” and adaptation across devices, OS versions, and even screen sizes. This is also an issue for future releases since it’s necessary to maintain and support different app versions for older devices and OS’s in conjunction with newer versions. Releasing or updating a mobile Web app is transparent to the end-user, allowing for bug fixes to be deployed quickly and “quietly.”
–Time to market: In accordance with the above points, the Web-based approach is a more agile method of developing and deploying mobile apps. As such, it follows that TTM is faster in that case. The trade-off, as mentioned, is a compromise in usability, network dependency and performance.
–Access to device hardware: Native apps have access to the device hardware resources such as GPS, camera, address book and more. Mobile Web apps, by their nature, cannot access these capabilities (although mobile-hybrid apps can gain access to such resources).
–Security: In today’s mobile Web, security is a paramount concern – especially in the enterprise environment. Mobile Web apps and productivity apps that allow the end-user to access sensitive business or financial data from the mobile device must be secure. There are ways to secure mobile Web apps like using offline storage or caching on the device, but these methods don’t come close to the level of a signed and encrypted native app that guarantees the security of the enterprise data with robust authentication and authorization.
Mobile app vs. mobile Web – key quality recommendations
Regardless of the path you choose, your mobile app needs to stay in sync with the ever-changing market, while meeting end-user expectations for uncompromising quality on every platform. As such, enterprises going mobile should consider these five recommendations for their mobile quality programs:
1. Leverage your existing investment in ALM tools, processes and skills of your research and development team and extend them to mobile (e.g., if your team is skilled in using HP UFT or Microsoft TFS , extend these capabilities to mobile app development and testing using the same tools).
2. Use a device cloud to easily scale your mobile testing, increase coverage and reduce costs, as well as testing across different networks (for both Web and native apps)
3. Develop mobile test automation across platforms to allow quicker TTM, better quality and increased scalability. This will be easier in mobile Web since one script will fit all devices, while for native apps you’ll need robust automation scripting to cope with different platforms and objects.
4. Test for performance prior to releasing your mobile app to production and monitor performance post-production to avoid compromising your end user experience.
5. Choose to work with the right partner and the right tools for a sound long term investment and fast return on investment.
Remember, there are many benefits to the mobile-Web and native-based approaches. It’s important to consider security, existing tools, development skills and performance when evaluating which will best suit your business. Most importantly, enterprises need to consider user-engagement and make sure mobile apps are easy to use and performing at the expected levels – a feat that requires proper testing, the right strategy and scalable tools.
Eran Kinsbruner is director of product marketing at Perfecto Mobile, the leading cloud-based mobile application testing and automation company. Formerly CTO for mobile testing at Texas Instruments and project manager at Matrix, Kinsbrunner has been in testing since 1999 with experience that includes managing teams at Qulicke & Soffa, Sun Microsystems, General Electric and NeuStar. The co-inventor of a test exclusion automated mechanism for mobile J2ME testing at Sun Microsystems, Kinsbrunner has extensive experience in the mobile testing world. You can find Kinsbrunner on Twitter @ek121268, LinkedIn, and his professional mobile testing blog at ek121268.wordpress.com. Kinsbrunner also writes regularly for the Perfecto Mobile blog.