Mobile Apps · Mobile

What are the pros and cons of developing mobile web vs mobile app?


January 20th, 2016

Thinking about launching a new product which would be largely be used on tablet/phone and on the go.  How do you best tackle getting something out to launch?  App seems like a better end-user experience.  Mobile web seems easier to develop and get live.  

Matt Belge UX Design Lead at Carbon Black

January 20th, 2016

With the advances in HTML and supporting technologies, I would say the key deciding factors are: 1)Do you need native functions of the phone, like GPS or camera? 2) Is connectivity an issue - does the user need to able to do something even if their cell connection is down or very poor? 3) Is a lot of data or real time interactivity essential to a successful experience? If the answer to any of these is yes, then it most likely it should be a phone app. If the answer is no, it is very likely you can make a mobile web app.

Eric Owen CEO Mono Solutions North American

January 20th, 2016

There is an overwhelming amount of app fatigue in the market!  If you have a highly engaged audience with very strong repeat usage then an app might be the way to go.  I've seen many, many companies invest big time and $$ in apps only to find that their target audience wouldn't download, and even if they did they often uninstall quickly. 

Mark Neild Empowering quietly creative people to prosper through innovative yet authentic and engaging business models

January 20th, 2016

Mobile app v mobile web. Think about customer adoption. It is easier to browse to a web site than find and download an app. Typically web is better for attraction and app for retention assuming the app substantially improves UX

George Calvert

January 21st, 2016

Per the above, functionality can be the deciding factor: GPS, local storage and phone links are available in a phone's browser. Most of the other stuff is not.

Assuming those aren't issues, I'd recommend you start by building a browser app that uses a single-page architecture (SPA) and responsive design (minimally CSS that reacts to viewport size). This gets you a device-agnostic app -- one that should run on a laptop browser too -- with which you can get some feedback from others.

You'll need to tweak a few settings and there will be some annoying quirks, but you can bookmark the web app so it's an icon on the phone and run it in full-screen mode.

From there, you're well-positioned to leverage technology like PhoneGap/Cordova for access to phone features like the camera and so on.

Conversely, even if you started with a native app (i.e fully Obj C / Swift or Java), you'll still end up needing a browser version at some point. So -- try proving the concept with a one-size-fits-all solution and then, feedback in hand, specializing from there.

Heck, you may find demo'ing the app for a few friends changes your marketing plan.

Simon Effing Technical Advisor and Scala Developer. I build sustainable MVPs for lean B2B startups.

January 21st, 2016

Compelling reasons for a mobile app might be:

  • highly interactive UI apps, e.g. games. Native apps are more performant and have access to all device resources.
  • the app has to be able to work offline
  • you need background processes, notifications, geolocation, camera, voice or sound
  • regular customer base, the app is used on a daily basis

But mobile apps come at a price:
The user has to install and update them. This costs data usage and and storage space. I'm personally quite annoyed by this frequent message "25 apps need to be updated, 10 need approval".
Walk in customers are put off by interstitials that prompt you to install the app and hinder the access to the web page:

This gets even worse if you provide your core service only through the mobile app. In this case you lock out desktop users and all users who don't want to or can't install the app on their device.

Developing and maintaining a native mobile app is a separate task for every platform you want to support. Even big companies are struggling to keep their apps up-to-date, considering how many mobile apps offer less functionality than their web counterpart, although technically they could offer a better experience.

You might have the case that you simply have to build native apps because certain device resources are just not available to a web app. But in many cases, in particular if you're at an early stage and still testing the market, it makes sense to start with a responsive web-app and add mobile apps later, if necessary.

David Fridley Founder at Synaccord

January 20th, 2016

Matt and Aldo cover the important points, I just want to make it clear that there are programs (PhoneGap and Cordova) that take web apps and make downloadable apps for phones.  So if the user experience you seek can be accomplished through a web app, you can still get downloadable phone apps and spend less on development and have a consistent experience from desktop to mobile. But if there are certain features that you need, a web app can't do them.


January 21st, 2016

Depends on your comfort zone & who is building it. I did went through this state of what to do, but eventually did an excellent job building an awesome interface for all three scenarios with similar tech stack & backend architecture. Give or take it took me 4 weeks to build a stable & usable model for browser, mobile web(responsive), mobile app using hybrid/html5 - ionic approach. this is a one person effort all the way, but net net the way hybrid app eco system is growing I would bet for an immediate ionic/cordova based app..stabalize & then go for native. two cents

Gabriel Magaña Gonzalez

January 22nd, 2016

I can't believe only one person (David Frey) mentioned hybrid apps (PhoneGap). If you are not taking these apps into account, then you are missing a huge option you have: Writing code once and compiling it to run in multiple platforms (iOS and Android are the most popular, but there are others). You can use plug-ins to get the native functionality mentioned, like GPS and access to the camera.

If you structure your JavaScript code well, then you can share a lot of code with a web app as well, minimizing the amount of client-side work you need to do to get web+native even further.

The last piece you'd need is to write your server as an API server so that you can service all your different clients with the same back-end.

Warning 1: I will say that the only place where hybrid/PhoneGap will probably not work is on games or any other application that needs to get the most performance possible from the mobile device.

Warning 2: This sort of architecture where both the client side needs to be well planned and written, and also the server side. This is not something your typical run of the mill average programmer can build from scratch. You need a good systems architect to set it up for you, and then the lower-level folks can build on top if it. The reason being is that everyone in school (or self-taught) learns the "build it once for every platform" approach before they learn the "how can I minimize the code as much as possible" approach.

Joe Emison Chief Information Officer at Xceligent

January 21st, 2016

You should do mobile web to start. As many of the above comments point out:
  1. There is serious app fatigue in the world
  2. Installing and accessing an app requires much more user effort than mobile web, and so your feature-usage rate will be orders of magnitude lower
  3. You're probably already building a desktop web app (if not, you're probably making a mistake), so the effort to have a mobile version (if not just a responsive version) is fairly low.

Only once you have a substantial number of daily active users should you be considering an app.

Eyal Assa Director of Product Management and Sales

January 24th, 2016

Its one of those questions with no definite answers...
Since this topic is somewhat familiar to me... the answer would be an outcome of what your targets, resources, considerations and constraints are.
On a nutshell, there are more than 2 ways to handle it (app vs. web app). There are also some various cross-platform solutions, some are getting better and better like React Native and Xamarine. Each with its own pros and cons...
The major decision you need to consider is budget )of the design, development, distribution, marketing, maintenance, etc.) against quality. On one side, there is a web app, also known as mobile web or responsive (real responsive) website. This is the fasters and cheapest solution, but the quality (in terms of user experience and "mobile" behavior) is also the lowest. The other side, there is a full native app, which is the best in terms of quality, but cost more, at least X2 than the web app. But in between there are many options to follow, either use a cross platform, develop native for only one platform first (e.g. iOS or Android), etc. I would recommend making a table of what are your goals and priorities looking from the user/product perspective and try to come up with the best solution that answer most of them within your defined budget.
Good luck