Should I build a Mobile, Web, Hybrid, or Native Mobile App?
January 28, 2013

This is a question that we go through with nearly every mobile client we work with at Barefoot Solutions. Mobile technology is progressing at breakneck speed right now and it’s very difficult to keep up. So to start, what are the technology options for launching a mobile strategy? While there are an infinite number of variations, the options can mostly be put into 4 buckets:

  1. Mobile Websites
  2. Mobile Web Apps
  3. Hybrid Apps
  4. Native Apps

Mobile Websites are simply websites that have been optimized for mobile devices. A good example of this can be found at Changes to the layout are made by recognizing the user agent as a mobile device and optimizing for its limitations. This can include removing ads, increasing the size of clickable areas, and most importantly, accounting for the smaller screen size.

Mobile Web Apps are still mobile websites, and thus must be accessed via a phone or tablets web browser. The difference between a mobile website and a mobile web app is that mobile web apps are built to mimic functionality of native apps. By adding controls like date pickers, tab bar navigation, and other native feeling controls, this gives the user the experience of using a native app. Typically these are built using frameworks such as Sencha Touch or JQuery Mobile. These frameworks are effective because they have already built most of the common controls using HTML5 and Javascript. Building all of those controls from scratch would be a significant undertaking, but JQuery Mobile you can focus on functionality, rather than building the sometimes complex user interaction necessary for mobile devices.

Hybrid apps also utilize frameworks, often built with HTML5, Javascript and CSS, to produce native-feeling apps. Some examples are Phonegap and Titanium Appcelerator. The difference between a hybrid app and a mobile web app is that the hybrid apps are actually compiled and treated as native apps. This means that, on your iPhone for example, a hybrid app must be downloaded from the app store, and will live as an app icon on your home screen. Hybrid apps are appealing because they allow you to develop only a single app, but then compile for the various app stores and be available on multiple platforms. Another benefit of hybrid apps is that they have access to the phone’s hardware. Access to the accelerometer, image gallery, camera, bluetooth, and other sensors on the phone are often a requirement for the more advanced apps.

Finally, we have purely native mobile apps. This means that they are written in Objective-C for iPhones, or Java for Android applications. They are compiled, and submitted to the app store for distribution for that devices particular users. Mostly, native apps have to be built as a separate piece of software for each platform, and are able to share very little code. So if the desire is to make your app available on iPhone, Android, WinPhone, and Blackberry, you would need to build four separate apps.

So with those as the options, what factors should go into deciding on a platform? To start, it’s important to identify the goals and limitations of your mobile strategy. Then you apply those goals to the four factors below to make a decision.

Mobile apps become more expensive as you get closer to the fully native experience. A mobile website can often be implemented by altering layout and stylesheets of an existing website, and as such is a low cost product that can be accessed on any phone or tablet with a web browser. Native apps, on the other and, require quite a bit more development time, which then gets multiplied by the number of platforms that need to be accessible. As such, native apps are the most expensive option, by far.

User Experience
If this decision was based entirely on cost, then a mobile website would be the obvious choice. But what about the user experience? Unfortunately, native apps, while the most expensive option, also provide the best user experience. By interfacing directly with the native SDKs, native apps have a very fast and responsive UX. Think of the difference between using a desktop app like Microsoft Word, versus Software as a Service like Google Docs. Because Microsoft Word is a compiled and installed application, it directly interfaces with your machine and allows it to be more powerful, and responsive. The same holds true for native apps. Further, native apps have controls like pickers, navigation tabs, action bars, and others that are immediately recognizable to users of a platform. When building a single app for multiple platforms, you must find commonality amongst those platforms and therefore can’t entirely mimic a native experience. While this will work for some apps, others, particularly those that are entirely consumer facing, need the native UX to provide users what they have come to expect from their apps.

Difficult to develop and maintain
Many organizations now have in-house web developers, or at least people with some experience with HTML/CSS. This makes it possible for some organizations to build a mobile website or mobile web app without having to hire outside of the company. Native apps however require a very particular skillset. Objective-C developers, for instance, can be difficult to find and expensive to hire. While it may be feasible to hire a firm for the initial development of your app(s), there is also the matter of continually managing this relationship to account for updates, bug fixes, operating system upgrades, and other required maintenance over the lifetime of the app. Depending on resources this may not be feasible for some smaller organizations.

Mobile websites and mobile web apps are available on any device that has a web browser. This is basically any feature phone or smartphone these days. As such, they have the furthest reach with the lowest cost. Hybrid apps can also be available on multiple platforms for only the cost of building a single app. Further, along with native apps, they have the added benefit of placement in the various app stores. This allows apps to be discovered by users in a way that just isn’t possible with the mobile web. This also allows the possibility of reaching high in search rankings, or earning a featured placement in an app store which can provide a serious spike in downloads.

So what approach should you choose? It seems to be like the odds are greatly in favor of the non-native options, but very often that is not the case. As I mentioned, the user experience on non-native apps is just not where it needs to be. Even with hybrid apps, buttons can take a half-second longer to respond to a tap, and scrolling can get slow and choppy. In the beginning of 2011, Facebook’s mobile app took a largely hybrid approach. They were faced with considerable user unrest, and suffered a fairly low rating in the app stores. In the middle of the year they re-architected to a much more native experience. Their apps are now faster, more responsive, and the user feedback has improved considerably.

At Barefoot Solutions, we always recommend native for any purely consumer facing app. Period. If you want to have a chance at gaining significant traction, it is imperative that you provide the best User Experience possible. It is often better to launch on only a single platform, with an excellent user experience, versus launching a mediocre experience on all platforms. When we start talking about internal apps, mobile web apps and hybrid apps become a much more cost effective solution. For example, if you’re building an app to help your sales staff in the field, and this staff uses a variety of devices, it often makes sense to build a hybrid app. This will allow most of your staff to use the app on their devices, and they will most likely be willing to look past the slight lack of performance.

If you are a restaurant that just needs contact information, directions, and a menu available on customer’s phones, then a mobile website is probably the right strategy for you.

Overall, this is a decision not to take lightly. Jumping from one strategy to another often requires an entire rebuild, so it’s important to get this right the first time. At Barefoot Solutions, we’re happy to provide a free consultation to discuss your mobile strategy and provide an in-depth look at what might be best for your startup or existing company.

Let’s Build Together
We would love to hear about your product or idea.
Chat With Us
We love talking tech and business.
(619) 870-0114 [email protected]

4241 Jutland Dr., Suite 300
San Diego, CA 92117

    Name * Incorrect format
    What would you like to talk about? * Incorrect format

    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply

    Thank You
    We’ve received your message and someone from our team will contact you soon.