July 5th, 2013

Mobile Strategy Handbook Chapter 6: How to chose the right technology? Native, HTML5 and more…

native-vs-hybrid

What people are saying about HTML5

– “I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… Because it just wasn’t there…” (Facebook, September 2012)
– “Hybrid mobile apps are the future of app development” (Nick Heath in CIO Insight, February 2013)
– “Mobile apps will soon be dead.” (Brian Kennish, former Google engineer, May 2011)
– “Native Apps are dead, long live Native apps!” (Dan Yoder, CTO at Border Stylo in Slashdot, June 2011)
– “All the problems [of mobile web] can be solved if Apple, Google, Microsoft and the rest will just stop shutting out HTML5” (Dan Rowinski at Mozilla, November 2012)
– “HTML 5 is the way almost all applications will be built, including for phones.” (Eric Schmidt, February 2011)

Everyone has a different opinion about the best mobile app solution and some people dismiss apps entirely.

Just to give a few examples among big brands and media:

  • Facebook rebuilt their apps from scratch as native apps
  • Linkedin had a HTML5 hybrid approach and recently went native for its mobile apps
  • Twitter had fully native apps from the start
  • Instagram is a native app that wouldn’t work otherwise
  • Bloomberg replaced their native apps with hybrids to improve speed to market of updates
  • ESPN builds all their apps with native because they consider it a requirement for great sport apps.

In conclusion it’s a confusing world and there are no common right and wrongs! On the other hand there is usually is a best solution for each purpose and that’s what we will focus on in this blog.

What analysts are saying

According to Forrester and Gartner enterprise apps are seeing rapid growth in hybrid and HTML5 app development which leads us to believe that the majority of apps will be hybrid or HTML5 apps in the coming years. According to Gartners mobile app landscape for 2015 this is what the split will look like:

Gartner-apps-consumer-vs-enterprise

Introduction to HTML5

Before we get into the details we recommend that you read up on what each solution does. The presentation below (which is one of the most viewed slideshare presentations on this subject) will give you a good starting point.

Now let’s get on to how you choose the right technology.

HTML5 apps

Web standards are amazing when they work and depending on the purpose HTML5 can work really well. Link to {Every app needs a mobile website}

Pros

  • HTML5 is meant to work seamlessly across mobile platforms and browsers.
  • HTML5 web apps can be installed from the Web as icons on your home screen across any phone.
  • Developers like HTML because it is a familiar language to most of them.
  • HTML5 apps don’t have to share revenue with Apple, Google or Microsoft

On the desktop HTML5 works really well except with older versions of some browsers (IE8 and older).

On mobile HTML5 can work really well. Forecast.io is a beautiful example of a HTML5 mobile web app.

Cons

  • HTML5 faces its own fragmentation problem – browsers and platforms are inconsistent in their support of HTML5 features
  • HTML5 apps don’t work as well offline
  • Most HTML5 development remains focused on the desktop, not mobile.
  • HTML5 needs access to more device features to truly compete with native
  • Performance can be very slow on some devices and browsers.
  • It’s hard for consumers to discover and buy HTML Web apps, since there is no central app store.

So when should you chose HTML5?

Use the following criteria as a starting point:

  • Any mobile website that benefits from the additional functionality that HTML5 offers versus previous versions of HTML
  • Any app concept that has no user benefit from being turned into an appstore app
  • Mobile websites that you might want to turn into a hybrid app in the future
  • Apps with limited budget that need to work across multiple platforms and browsers where user experience can be compromised
  • An online service that needs to be searchable through search engines
  • When you require to be able to do instant updates not only to the content but also to the application logic

Native Apps

When Apple launched the iPhone appstore in 2008 Steve Jobs had previously talked about how great web apps were. Obviously he could never have envisaged how big mobile apps would become at the time but the simple fact is that native apps immediately outperfomed web apps in terms of functionality, user experience and performance and have ever since. One proof of this is that almost 80% of all time spent on accessing content and services through mobile devices is through apps vs 20% through mobile web. {Check stats from previous blog and link to this}

So what are the pros and cons of native apps?

Pros:

  • Performance is better on native apps and will continue to be for the foreseeable future since the app platforms evolve faster than the browser
  • Native apps provide more flexibility in designing and developing the user interface and thus a richer overall user experience
  • Security features are stronger on native apps
  • There are a lot more device features available including integration of the camera, accelerometer, bluetooth, contacts, calendar and 200+ native development components for iOS and Android such as 3D support, image and video editing, notification centre, voice recognition, maps and more.

Cons:

  • Appstore approval rules and waiting times (especially for Apple)
  • Appstore revenue share for premium content (games, subscriptions, etc)

So when should you develop a native app?

  • The app concept clearly benefits from the capabilities of a native app (e.g. Instagram)
  • Ongoing engagement using notifications is a requirement to keep customers engaged and up to date (e.g. Facebook or Linkedin)
  • Security requirements such as encryption of content and authentication requires native app functionality
  • Being on the appstore is a key requirement to distribute the application (e.g. enterprise or consumer appstores)

Hybrid apps

Combining native app development with web development is by no means a new concept. Symbian offered this early on, Palm WebOS was entirely based on this principle and Samsung Bada also heavily depends on this. iOS and Android has enabled websites to be embedded in apps since the first releases and improved this experience over time. Therefore any app using webview could be considered a hybrid app. For the purpose of this blog the definition of hybrid apps is an app developed using a cross-platform tool or combining native app development with web technology within the code of the app. The leading cross-platform development tools currently include Phonegap and Titanium.

Pros:

  • Enables web developers to develop mobile apps without native app development skills
  • Allows apps to be developed using HTML5 combined with proprietary code that will enable to app to run across multiple platforms
  • Lower maintenance cost as changes can in theory be done once and applied to multiple platforms

Cons:

  • To make hybrid apps look as good as native apps across multiple devices require just as much development work if not more than native development
  • User experience and performance will usually be a compromise
  • Phonegap and other cross-platform tools will always be behind the native app development platforms in terms of functionality
  • Lock-in / dependency on a cross-platform tool can be costly long term

So when should you choose hybrid apps?

  • Willing to compromise on UX for speed to market and cross platform suppor
  • Only have access to web developers
  • Appstore upload is a requirement
  • Requirement on ongoing changes to the application logic
  • Limited budget for cross-platform support
  • Mobile web services without an API and therefore requires webview (common requirement for payments to avoid PCI certification for apps)

Conclusion

Given the choice we generally prefer pure native or pure mobile web / HTML5. However, we don’t think there is a one size fits all.

What do you think? We will continue to develop and improve the mobile strategy handbook over time and appreciate your feedback on what’s good, bad and missing.

Also read our previous blogs on this subject:
Mark Zuckerberg says HTML5 sucks
Native vs HTML5 vs Hybrid apps

Image source: Developerforce

 

Tags: App development gartner HTML5 hybrid apps mobile apps native apps

Connect with us

Job Openings

Want to be part of our growing team?

View More
Work with us

Learn how DMI can help you grow, or launch your business.

Get In Touch
Offices

See all of our locations around the world

View Locations