I would like to clear up some apparent confusion regarding mobile Event App development.

Web, HTML5 or Native Event Apps?

A mobile website is not an app, it is a mobile website. If you need to enter a url into your mobile browser and save the bookmark to your home screen this is not an app, it is a mobile website. If you enter in a url and are taken to an app store then this is an app. It may not be a truly native app (may be hybrid) but it is an app. Anything that you do not download via an app store is not an app. It is a mobile website and it is important not to confuse the two.

HTML5 web sites, Hybrid web apps and Native Event Apps I also want to demystify. A truly native app is native application or program that has been developed for use on a particular platform or device. Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software that is typically installed on that platform. We define hybrid HTML5 apps as a web app, primarily built using HTML5 and JavaScript, that is then wrapped inside a thin native container that provides access to native platform features. Apps such as Fabebook are Hybrid web apps.

HTML5 for web development has been described as the cure for device fragmentation, and is liked by developers for its use of familiar programming languages such as HTML, javascript and CSS. It is interesting to note that Facebook, for example, shunned native mobile apps for years, instead betting fully on HTML5. But last September at TechCrunch’s Disrupt conference, Mark Zuckerberg announced that “betting completely on HTML5 is one of the, if not the biggest strategic mistake we’ve made”.

What went wrong?

To be clear, HTML5 has certain limits and shortcomings. The implementation of HTML5 is far from uniform. It varies from browser to browser and from mobile platform to mobile platform. This widespread “technology fragmentation” makes it difficult for software developers to know which part of HTML5 they can use. HTML5 apps can also be afflicted by slowness and often work erratically when a data connection isn’t available or is intermittent.

Other shortcomings of HTML5 in comparison to native applications include the fact that it presently lacks the DRM (Digital Rights Management) needed for many multimedia services, does not support background processing, and is missing secure storage and notifications outside of applications. Finally, HTML5, by itself, does not provide apps with the native look and feel that users may expect. These disappointing aspects of the technology have led some well-known companies to reduce their usage of HTML5.

It turns out that HTML5 is not yet a mature enough set of web standards to fully deliver on its promises. Missing APIs, weaker UI compared to native apps and difficulty routing ads onto HTML5 sites can add up to make it feel like an inferior product. Zuckerberg added that “it’s not that HTML5 is bad. I’m actually, on long-term, really excited about it” – but right now, the platform isn’t mature enough to replace the native app. Even if performance and UI improve in HTML5, developing and upcoming features such as augmented reality and NFC, will first be exploited by native apps, maintaining a feature gap.

You might even find this article interesting:

Why LinkedIn dumped HTML5 & went native for its mobile apps
Read more at http://venturebeat.com/2013/04/17/linkedin-mobile-web-breakup/

For my money, and obviously Facebook and LinkedIn, native is the only way to go.

All interesting points to consider when planning your mobile event app strategy.

Mobile development is a constantly moving target. Every six months, there’s a new mobile operating system, with unique features only accessible with native APIs. The containers bring those to hybrid apps soon thereafter, with the web making tremendous leaps every few years. Based on current technology I will sum those up in the following table:

Native HTML5 Hybrid
App Features
Graphics Native APIs HTML, Canvas, SVG HTML, Canvas, SVG
Performance Fast Slow Slow
Native look and feel Native Emulated Emulated
Distribution Appstore Web Appstore
Device Access
Camera Yes No Yes
Notifications Yes No Yes
Contacts, calendar Yes No Yes
Offline storage Secure file storage Shared SQL Secure file system, shared SQL
Geolocation Yes Yes Yes
Swipe Yes Yes Yes
Pinch, spread Yes No Yes
Connectivity Online and offline Mostly online Online and offline
Development skills ObjectiveC, Java HTML5, CSS, Javascript HTML5, CSS, Javascript