UX Magazine

Defining and Informing the Complex Field of User Experience (UX)
Article No. 1179 January 29, 2014

Native or Web-Based? Selecting the Right Approach for Your Mobile App

So you've decided to create a mobile application. Whether it is an extension of an existing digital offering (like a website) or a killer stand-alone app, there is a fundamental decision that needs to be made right away that will play a crucial role in the long-term success of the endeavor: whether it will be built as a "native" or "web-based" app.

A native app is one that is built for a specific platform, such as iPhone or Android, using their code libraries and accessing their available hardware features (camera, GPS, etc). A web-based app, on the other hand, is one that is hosted on the web and accessed from a browser on the mobile device. Let's explore the pros and cons of both approaches.

Native Apps

Speed

Native apps tend to be faster and more responsive. Because the code that runs the app is stored locally on the phone, there is no time spent waiting for static content (such as images and text) to be downloaded from the web. While dynamic content may still need to be accessed from the web, it’s an improvement over the web-based model in which everything needs to be downloaded each time.

Local Storage

Native apps can run asynchronously, meaning dynamic information can be stored locally on the phone temporarily and synced with the central web-based server later. While new technologies and features (such as those in HTML5) will allow for this to also be done in a web-based environment, native apps are still ahead of web-based ones on this front.

Killer Features

Going with the native app approach gives you access to that platform's hardware features allowing interesting functionalities such as taking photos, accessing GPS information, making phone calls, leveraging near field communication (NFC), etc. Because web-based apps are platform agnostic, they do not have access to the device’s hardware features.

App Store

While the App Store has gotten a lot of bad press since its debut, it can also be viewed as an asset. It represents free shelf space for new products and can be a great way to advertise to and gain new users, especially if an app offers unique features. When releasing a web-based app outside of the App Store, you would be entirely responsible for its marketing and distribution and would not have this same edge.

Drawbacks

The biggest drawback to developing a native app vs. a web-based one is that a separate code base must be created and maintained for each individual platform. For example, if you decided to initially build an iPhone app, you would have to design, code, and deploy an iOS app to the App Store. If you then decide down the road that you also want an Android version, you will have to redesign the app for the Android device, code and deploy it to the Android app store—likewise for other platforms.

A well-orchestrated user experience is the best defense in the rapidly evolving world of mobile

While there can be savings in porting an app from one platform to another (versus building it up from scratch) the value may be less than you would think. From a design perspective, the task of changing the look and feel from one platform (say iPhone) to another (say, Android) is often straightforward. From a development perspective however, the code bases are two entirely different languages and will have to be completely rewritten simply to mimic the original app’s functionality.

Web-Based Apps

Single Solution

The biggest upside to a web-based approach is, of course, the biggest downside to a native one. When developing a web-based app you are centralizing your offering. Users of any mobile device (iPhone, Android; even Blackberry, Palm, and future devices that don't exist yet) will be able to access the app and use it immediately. There is no waiting for the [insert mobile device here] version of the app to be released and you need only have one person/team maintaining a single code base. Single-source means that there is a single version of the code base that all users across all platforms access and use.

Real-Time Updates

In addition to this, updates to your app can happen in real-time "automagically.” There is no waiting for the App Store gods to review and approve your change, and you don't have to bank on your user base going through the process of updating the software themselves.

Freedom

Another big upside to the web-based approach is that you are not tied to the rules set forth by the terms and conditions of competing app stores. You are free to offer content and advertising as you see fit.

Catching Up

It's also worth mentioning here that, from a technical perspective, things are moving forward very quickly on the mobile web. For an experienced web developer, many (but not all) of the limitations of the web can be compensated for or overcome entirely.

Drawbacks

The biggest downside to the mobile web is the lack of (or limited) access to the hardware features of mobile device, such as GPS, camera, NFC, etc. For those developing an app that must have access to any of these hardware features, this limitation often forces the decision to go native.

Additionally, while the constraints and requirements of a developing for a platform may be seen as stifling or constrictive, they also serve to force consistency and inherently solve for many subtle details with very little work. When developing a mobile web solution, a person is responsible for everything concerning that app and cannot rely on the platform or app store for support.

Moving Forward

Given the incredible rate that technology is advancing, the following considerations should also be taken into account when creating an app.

    1. Cell connectivity will continue to improve both in coverage and speed. The next generation of cell phone technologies will have a positive effect on the performance of apps that require access to web-based information. This has the potential to narrow the gap between native and web-based apps in terms of speed and responsiveness.
    2. Web technologies will continue to improve meaning the edge that platforms such as iOS and Android currently have will disappear over time. While Apple and Google surely have more tricks up their sleeves, web technologies such as HTML5 will become serious contenders to native offerings.
    3. As the app market continues to grow for both mobile devices and tablets alike, it will become more fragmented and considerable market share may not just be limited to one or two platforms. Additionally, new mediums such as interactive television are already coming up on the horizon. Considering the guarantee that there will be more mediums and more platforms as technology continues its march forward, the need for centralized product offerings will become more necessary for those who cannot afford to develop applications for multiple platforms.

In Conclusion

Both approaches certainly have their share of benefits as well as drawbacks. Which approach is “better” for developing a particular application will depend largely on its desired functionality and reach as well as available resources (time, money, etc.). A long-term strategy would seem to favor web-based over native apps, but keep in mind that no matter which approach is taken, a well-orchestrated user experience is the best defense in the rapidly evolving world of mobile platforms and devices.

 

Image of dewy spiderweb courtesy Shutterstock

ABOUT THE AUTHOR(S)

User Profile

The Director of User Experience & Design at DOOR3, Michael Montecuollo has been with the company since 2007. He is tasked with overseeing all enterprise, web, and mobile user experience work for the company.

Michael manages a staff of talented UX and visual designers in ensuring that DOOR3 builds solutions that are highly usable, easily adoptable, and up to the latest standards and best practices within their solution domain.

Add new comment

Comments

43
38

Hey Michael a very insightful write up. This is a common question asked by many people looking to get an app developed, Selecting between the two completely depends upon the fuctionality needed, kind of budget, technical capabilities and many more. Like if you want a shopping app to be developed then web based platform is preferred, because it will need internet connection for making payments and all. If the app needs device specific feature like camera, compass or accelerometer then Native is preferable. So, both have their respective advantages and disadvantages.

We have also tried answering similar kind of queries in our Mobile App Development consulting series:
http://www.youtube.com/playlist?list=PLT_LlUc4U_lD1yGMvYfNKTP21za4ZWUqg

Thanks..:)

42
39

Great article Michael. It's a difficult choice for many companies to make and many neglect to even think about the different ways of doing it. Researching options for both the platform and users is crucial.

46
45

You missed mentioning hybrid apps. I just wrote a desktop web app using AngularJS, and quickly ported it to my Android phone using PhoneGap, only needing minor modifications to the styling. All of the images and functionality of the app are located on the phone upon installation.

32
35

Sorgfelt, your point is well taken. I could probably write another entire article on the hybrid approach, although I think most of the fundamental considerations between what to go native with versus what to go web-based with would remain the same

41
43

Yup, Good article. Although you can usually access GPS data with a web app. Not as reliably but you can all the same.

39
33

Joe, agreed, there are now some geolocation abilities in HTML 5 but I'm not sure they can be considered as reliable as the native approach.

42
40

Thanks Michael, a great summary to help us all make what is often a massively strategic decision. We also attempted to summarise the decision making process with a poster : http://www.fjordnet.com/conversations/the-10-essential-criteria-for-choosing-a-mobile-delivery-strategy/