Entity view (Content)

Choosing Native Apps vs Mobile Sites
By Makan
Nov. 18, 2016

Apps are great. We can use them to check our emails and social networks, create funny pictures and videos, and play a quick game while travelling. There’s even apps for learning languages, ordering takeaways and taxis, and all sorts of productivity tools to help at home and work.

Since the launch of Apple's App Store for iPhone, many companies have invested a great deal of time and money into creating 'native' apps, sometimes without careful thinking about whether they actually needed them in the first place, or what their real benefit would be.

On the other hand, there are also those companies that haven’t invested enough in native apps or who gambled against native apps with web technologies, and swiftly lost market share to startups and their more contemporary rivals.

"The biggest mistake we made as a company was betting too much on HTML5 as opposed to native." Facebook CEO Mark Zuckerberg

Does this mean we should replace all websites with native apps? No. Or perhaps we need a native app version of our whole website? Unlikely. So when should we prioritize a native app over a mobile site? Let’s take a look at what each has to offer. 

Mobile Sites

Pros

Websites that are tailored for mobile devices, whether they are mobile only or responsive to display size, are valuable resources for quickly obtaining information and using online services. They are accessible via an online web browser on many devices of all sizes, with no need to download and store a large application.

Managing mobile website updates is relatively easy, as companies can take full control of the hosting of a website and make changes to the content and structure of a site instantly. Frameworks like Drupal make developing and administering websites even easier with lots of contributed and tested modules, as well as a simple but powerful system for managing content.

Cons

Unfortunately, using only mobile sites does have its drawbacks, ranging from less connected features to a less pleasant user experience. Whether the reasons are about safety or promoting their own platforms, mobile platforms (e.g. iOS or Android) typically don't allow websites the same access to hardware, software and user data as is permitted to native apps.

They are almost always reliant on an internet connection to function, rendering them unusable or limited when offline or in poor reception areas. They will also never be as fast as precompiled native apps often resulting in less smooth and more jarring experiences, especially on older/weaker devices.

Supporting a wide range of devices and operating systems can also be tricky. Whilst the code on a web server isn’t affected by a website visitor’s device, the same can’t be said about the HTML, CSS and JavaScript that is sent to the browser. It can be very difficult to develop consistent and powerful experiences which work across various versions of different browsers, running in different operating systems, and on countless devices with many different display sizes.

When to Choose Mobile Sites

The key advantage to mobile sites is their instant availability to a huge amount of devices. Tools that are used very infrequently, and don’t absolutely require access to native app features, are probably better served with a mobile ready site. A good example is tools that provide infrequent sales, such as insurance and holiday sellers.

Native Apps

Pros

A "native" app is one that is developed specifically for a chosen platform or device, using that platform’s accepted programming languages and features. When downloaded, these apps have the advantage on their platforms, being both faster and smoother, often giving a more cohesive user experience with the rest of the platform.

Once downloaded, a native app can work without internet connectivity, using data installed with the app as well as any which it downloads from the internet and stores for offline use. Being tied into the platform’s ecosystem means that native apps are more easily accessible to the user, whether it is via the home screen, lock screen, notifications or even voice assistants.

They also have access to certain features which web browsers either do not have, or have limited access to, such as Bluetooth, more advanced camera features and (when permitted by the user) access to user data, such as their contacts or calendar events.

Successful native apps tend to have a common theme. They are smart and powerful, whilst displaying a very simple and intuitive interface. Where popular native apps are created alongside existing websites or software, they tend to only incorporate the essential features for a tool, sometimes using intelligent algorithms to simplify more laborious tasks. Occasionally they are even made as part of a set of apps, each of which allows the user to focus on one process at a time.

Cons

Despite the many strengths of native apps, their barriers can make them unsuitable for particular tasks and resources. The most obvious is that when these apps are built specifically for certain devices, they tend to be incompatible with other devices. Therefore, while a single responsive website can be broadly compatible with any device with a web browser, multiple native app versions for each mobile platform would be needed, each using their own platform’s languages.

Another common gripe amongst some developers is that native apps are typically only distributed on a platform’s store for apps (e.g. Apple’s App Store & Google’s Play Store), which not only delays time to market, but also places restrictions on content and can even force developers to share a cut of app download sales and in-app purchases with the platform creator.

When to Choose Native Apps

Where a tool absolutely requires native app features, the right choice is easy. However there are cases where either solution is feasible. In these circumstances, you should examine the user experience benefits and see what will best suit the majority. 

Is it essential for the users to have offline access to your tool? Will most users open the app frequently (i.e. daily or weekly)? Are most users willing to go to the App Store, download your app, open the app once download has finished and (if required) then register their details? if the answer to any of these questions is 'Yes', a native app will likely suit you best.

What About Hybrid Apps?

There are ongoing efforts to bridge the gap between mobile sites and native apps by combining the technologies together. Some simply act as containers for mobile sites, which they fetch and display inside them, whilst providing access to some of the more advanced device features found in native apps.

These containerized mobile sites gained traction quite quickly, as their development time was small for existing websites and support requirements were then shared with those sites. However, they have lost popularity, as they share the same mobile site limitation of having to support multiple web browsers, and their slower performance frustrates users.

Other hybrid apps allow developers to write code in web languages like JavaScript, which is then adapted into reusable native code across various platforms. This allows somewhat of a shared codebase across difference devices, and even provides some level of native rendering to improve the speed and feel of the app. However there is still a lot of development work that has to go into making these apps work well across all devices, and they still don’t perform as well as purely native apps.

An ideal scenario where there is one language and app building tool that will work perfectly on all devices doesn’t exist today, although efforts in this space using JavaScript in React or Swift on Android are looking positive.

Summary

This article takes a quick look at choosing between building a tool as a native mobile app or instead just creating a (mobile ready) website. Whilst there are many, many points to discuss on this topic, the key message is clear: Where technology restrictions (offline access / instant availability) don’t apply, user experience will help you decide.

Should you be forcing a user to download an app which they will most likely only use once? No, users don’t like jumping through hoops for little reward, and they won’t take kindly to you wasting their time or clogging up their home screen.

How can you help your users save time spent revisiting and navigating your website repeatedly? There’s an app for that.