Customer experience for mobile is more important to your business than you might think.
Before we dive into the nitty gritty world of Hybrid vs Native Mobile Apps, there’s one aspect of mobile that you should be aware of. Mobile Phopnes are very personal devices. Have you ever lost your phone and said to yourself, “Oh well, I’ll find it another time. It’s just not that important.”Surely not. Once you lose your phone, your biggest priority at that moment is to find it or get a replacement. All other priorities go out the window.
Your mobile device is with you, quite literally, every minute of the day. And if the device is with you constantly, it needs to be responsive and reliable. It should respond quickly and give you the answers you need as soon as possible. These are the expectations of all mobile users.
Nobody has time for bad user experiences, your customers and employees included.
While 79 percent of consumers would retry a mobile app only once or twice if it failed to work the first time, only 16 percent would give it more than two attempts. Poor mobile app experience is likely to discourage users from using an app again. Source
You might get one chance to get it right. But you almost certainly won’t get a second.
As you read this document, understand that user experience trumps everything else when it comes to mobile. It’s a known fact that hybrid apps don’t perform as well as native apps, so if you’re going to choose a hybrid, make sure you’re aware that your users’ experiences will likely suffer.
While there are a lot of advantages to using hybrid, customer experience for mobile should be a primary consideration.
It can make or break the success of the app.
Eight years after the release of the first iPhone we simply cannot imagine a world without smartphones and their companion mobile applications. Nowadays there’s a mobile app for everything: dating, ride sharing, finance, gaming, insurance claims, email, music, etc. If you can imagine it, it’s probably already available for download. More importantly, as users interact with companies, they expect to do business with them via their mobile devices.
Perhaps the most important decision a company must make before entering the world of mobile app development regards the approach they wish to take when building a mobile app. Do you want to astound and entice your users by building an entirely native application that integrates into the platform of their choice (Android or iOS)? Or are you more interested in taking a Minimum Viable Product approach and quickly developing a hybrid application which can be released across platforms? Though potentially easier to build and maintain, this second strategy is likely to result in a less than ideal user experience with sub-par performance.
There are hundreds of articles detailing and debating the Native vs. Hybrid topic. Some argue that the war between the two sides is already over[1] and that most apps are already hybrid. Others take a more balanced approach, assessing the weaknesses, opportunities and threats of each strategy[2]. One source even claims one can formulate a decisive response to this critical question in only 5 minutes[3].
Whatever choice a company takes (or took before you were hired) in the discussion, knowing the resulting tradeoffs and hurdles one may expect to see down the line is of the greatest importance. In this article, I will go over the main factors impacted by each of the two approaches such as website performance, user experience, speed to market, and release cycles. By looking at the key differences between the two development frameworks, I argue that despite the original higher investment, most companies will be better off choosing native instead of hybrid in the long run.
Native and Hybrid apps – A quick overview
A native app is a smartphone application developed specifically for a mobile operating system (think Objective-C or Swift for iOS vs. Java for Android). Since the app is developed within a mature ecosystem following the technical and user experience guidelines of the OS (e.g. swipes, app defined gestures, left aligned header on Android, centrally aligned header on iOS, etcetera), it not only has the advantage of faster performance but also “feels right”. What feeling right means is that the in-app interaction has a look and feel consistent with most of the other native apps on the device. The end user is thus more likely to learn how to navigate and use the app faster. Finally, native applications have the significant advantage of being able to easily access and utilize the built-in capabilities of the user’s device (e.g., GPS, address book, camera, etcetera). When a user sends text messages, takes pictures using the device’s default app, set reminders, or uses the device’s music app (the one that came with the phone), they’re using native apps In short, native apps are exactly that, native to the user’s OS and hence built per those guidelines.
Hybrid applications are, at core, websites packaged into a native wrapper. They look and feel like a native app, but ultimately outside of the basic frame of the application (typically restricted to the controls/navigational elements) they are fueled by a company’s website. Basically, a hybrid app is a web app built using HTML5 and JavaScript, wrapped in a native container which loads most of the information on the page as the user navigates through the application (Native apps instead download most of the content when the user first installs the app). Usual suspects here are Facebook, Twitter, Instagram, your mobile banking app, etcetera.
Time to market or do it right?
Typically, when a company decides to build a mobile app, they are either playing catch up with their competitors, or have identified a business opportunity previously untapped. Whatever the reason, executives want the application built out and released ASAP. However, as most people know, ASAP often means many compromises need to be made as well as well making decisions on the fly. Both hybrid and native approaches can get the job done but there are certain considerations that should be understood right off the bat.
First, if a company can wait six months or more before the app is launched, a native approach makes the most sense. Native applications have the best performance, highest security, and best user experience.
However, if the desired time to market is less than six months, then hybrid could be a better alternative because the app can be built in one source code, can be released across platforms, and development time and effort is considerably less as compared to that of native applications.
Again, another word of caution. Your users will EXPECT a great experience. They do not care what approach your team decided to take. They will open the app and EXPECT it to be intuitive and responsive in terms of speed.
Getting out the door may guarantee a mobile presence but it certainly doesn’t guarantee the success of the mobile app in question. As mobile app usage takes over traditional browsing paths (desktop/laptop), which as of last year they have, , companies with a mobile presence must constantly think about the two key promoters or detractors of their application: speed and user experience.
Overall, the performance of the app as well as the user experience vary significantly based on the development framework chosen, with the native app approach being the uncontested winner in both cases.
How important is the performance of an app to your company? (very important, we hope!)
Even the most vocal advocates of hybrid applications are forced to admit that native applications win the war in performance. A native app is faster and more reliable by its very design. As users navigate a native mobile app, the contents, structure, and visual elements are already on their phone, available for instant loading, and thereby providing a seamless experience. This is akin to downloading most of a website’s static content to a user’s phone at once which is then available for instant loading regardless of their phone’s internet speed.
In contrast, a hybrid app has only a wrapper that is downloaded to the user’s phone (which may or may not contain all the navigational elements) with most of the data being loaded from the server. In this case, there are two key issues that may have an impact on the overall performance of the app: the number of server requests (i.e., how many people are making calls to the same server at the same time), and the load balance requests (are the requests coming from mobile devices pinging the same servers as desktop/laptop clients, or do they have designated servers).
Experts agree that, despite all efforts, hybrid applications take a hit in the performance war. John Long, a developer at Mozilla, argues the following:
“There’s no indication the DOM [document object model, the API used to pass information before the mobile interface and the server] will ever be fast enough, and if it does happen it’s light years away on mobile. I’ve seen no technical description of a truly plausible way to make it significantly faster.”[4]
More than experts, users also agree with this assessment with 84% of users considering performance to be an important or very important factor.
User experience – a critical differentiator in the Native vs. Hybrid debate
User experience is the key to an application’s success. Fifteen years ago, many executives disagreed with this assertion (some still do), perhaps with good reason. At that time, most websites had a poor user experience so it was not a differentiator. Consider how Apple, Amazon, Microsoft, and Yahoo’s websites looked 15 years ago, for example.
In contrast, today’s software development is all about the user experience. In fact, the optimal mindset a company must embrace is this: “How do I allow my user to accomplish a task without even giving them the chance to think they’re in a new app?” The psychology of a mobile user is straightforward: they’ve already been through the steep learning curve getting familiar with their phones, and that experience was not without its frustrations. Once users learn how to use their devices, they don’t want to have to absorb new features specific to other apps they might download unless it’s truly intriguing. Users just want to keep using their phone in the way they believe all apps on their phone will operate from a navigational and interactive point of view. This means that the application’s controls, interactions, visual cues, and gestures (if you’re on Android) must be seamlessly integrated with your platform’s extensive style guide.
So important is the user experience for mobile app users that 92 percent of all customers will have some sort of a negative reaction to the app: from never using it again to switching to a competitor’s mobile app, giving the app a poor rating in the app store, and so much more.
All this background is needed to understand the user experience trade-off when choosing between native and hybrid options. As we saw above, a native application is designed for a specific operating system. As a company embarks on the task to build a new app, the user experience specific for that OS become of critical importance to the mobile presence on the market. A robust user experience must address the adaptability and layout, navigation, modal structure, interactivity and feedback, animation, color and typography, and in-app branding.
When launching a hybrid application, that app is platform agnostic. That’s one of the main appeals of a hybrid app: you build it once and then you release it across multiple platforms. One UI – nice and simple. Additionally, you do not have to maintain two different code bases. All of us know that an iPhone app is written in Objective-C or Swift while Android apps are written in Java, and they are not transferable (i.e. – they need to be rewritten). That means hybrid apps are, one, easier to build; two, take less time to market, and three, maintain one code base.
The tradeoff isthe user experience. The problem with a hybrid app is that even the most brilliant user experience architect cannot truly build an app that caters to the two dominant user types: iPhone users and Android users. Their style guidelines are simply too different, oftentimes to the point that from a design perspective any decision becomes a compromise which, on a case-by-case basis, must be weighed against all other strategic and tactical factors.
Another factor to consider what approach to take is a company’s internal dynamics and release cycles. What is your strategy towards app development? Do you run a program that takes an agile approach to mobile development (i.e., trying to release working software at short, frequent intervals) or do you prefer a waterfall approach (i.e., with a turn-around time of several months)?
Release cycles impact on native vs. hybrid mobile app strategies
The reason this internal dynamic matters is because the frequency with which you intend to move things to production will have an impact on how you do it and whether the user must take an action to see the improvements.
With a hybrid application, unless a company adds a completely new feature that dramatically changes the user experience, the user doesn’t need to update the app in the app store. If the update in question is on a page that is loaded from the server, as the user navigates through your app they will instantly see the update. It’s that simple.
In contrast, for native applications the user needs to update the app to see the changes. For most users who set up auto-updates when their phones are on wi-fi this is acceptable, but it doesn’t work for everyone. Nobody wants to exasperate their user by having him/her update the app every month or so. It attracts unnecessary negative attention to the app which could cause the user to simply uninstall it.
Additionally, when you’re deciding whether to go native or hybrid, you need to bear in mind that native has certain advantages which simply aren’t currently supported by the hybrid mode of development. The following graphic was designed to give you access to the most important native benefits that are simply not (yet) fully optimized for a hybrid approach.
On the surface, Cross Platform Hybrid development sounds great.
- Single code base across multiple platforms.
- Don’t have to update each app in the app store to wait for approvals.
- You can use your existing web talent and don’t need to bring on additional resources.
- Don’t need to do any API development since it’s all handled via the web.
Who wouldn’t you use Hybrid?
You know who wouldn’t want you to follow a hybrid approach? The customers using your app. They don’t know what a hybrid mobile app is, but they don’t like it.
Not convinced?
Facebook went from an HTML 5 Hybrid Web App to Native, and users rejoiced!
Today, Mark Zuckerberg revealed that Facebook’s mobile strategy relied too much on HTML5, rather than native applications. Source
Cross platform development is certainly very popular these days. By creating one source code which fuels the app on the two dominant platforms (iOS and Android) a company saves time and money to get an app out the door. Additionally, depending on the complexity of the app, maintaining one source code is very appealing because new features are also easier to develop and deploy. Conversely, bug fixes are platform agnostic and can be done and released easily to production. Lastly, hybrid apps are distributed through the app store like all other apps which means the user will not see any immediate difference between a hybrid and a native app.
So if a company follows the philosophy of “falling forward fast” and learning from user analytics while potentially reaching out to 90% of all users (that’s the combined market share of iOS and Android users), then a hybrid application is the right approach.
However, there are also specific limitations that need to be understood before choosing hybrid over native. As previously stated, the performance of the app and the user experience are distinctly superior with a native app. Additionally, hybrid apps do not support an offline mode which means if the user attempts to access the app in an area with poor reception or no reception (aeroplanes are a good example), they will not be able to do so. Moreover, if down the line the corporate mobile app strategy requires the app to access device specific capabilities (GPS, location, contact list, etcetera) this may not be possible or may only be feasible at a steep development cost. The same applies to specific native APIs that a hybrid approach may not allow for. So whereas choosing a hybrid approach may save a company time and money in the short term, it is also likely to result in significant additional costs in the long run.
Do you really need to build an app to work on both platforms right away?
The biggest misconception that decision makers have is that their company’s app needs to be available on both Android and iOS immediately.
Yes, there are advantages of being on both platforms, but do you REALLY need to be on both platforms RIGHT AWAY?
Let’s take Instagram for example.
Instagram took two years to develop an Android version. Two years!
“We are currently working on making the iPhone experience as solid as possible. Only then will we consider other platforms, but currently we have nothing to announce.” – Instagram FAQs 2010
If Instagram waited two years to develop an Android app, I think you can, at a minimum, wait three.
The only time you should consider using a hybrid web app
- If you have less than four months to develop an app, and you want to test a limited private market on the viability of your app, then use Hybrid. If the test works, then move to native as soon as you can and show it to the world. If it doesn’t work, you’ve saved yourself time and money.
- If an executive pushes to do a web app for strong reasons, make sure they’re aware of the trade-offs.
The bottom line: compromise time
The following graphic summarizes the key differences between the two approaches:
There are clear and distinct advantages and disadvantages for both hybrid and native approaches, and that is why this discussion is still relevant. Speed to market, one source code, cross-compatible web technologies, easy updates, availability of resources, and lower (initial!) budget costs make hybrid applications very appealing. However, even with 4G network coverage most phones today are not at the point where a seamless hybrid app experience is actually possible. In the long run, the biggest detraction of hybrid apps is that a company will likely spend more time fixing and tweaking the app because of user complaints about UI elements or performance driven issues.
Additionally, native apps have the added advantage of functions that are specific to the OS on which the app is built (e.g., camera, GPS, address book, etcetera). Furthermore, a native approach offers the best in class security for a mobile application, the best performance, a highly responsive user interface, and access to all native APIs. In other words, the original investment may be higher but a company will save time and money in the long run while offering a great user experience and an industry standard app performance.
Each approach has its pros and cons but at the end of the day a native approach will have the biggest benefits for a company’s bottom line.
Sources
[1] http://readwrite.com/2015/02/27/native-vs-web-apps-ceasefire
[2]https://www.ibm.com/developerworks/community/blogs/mobileblog/entry/swot_analysis_hybrid_versus_native_development_in_ibm_worklight?lang=en
[3] http://julysystems.com/hybrid-vs-native-mobile-app-decide-5-minutes/
[4] http://jlongster.com/Radical-Statements-about-the-Mobile-Web