So your small business has decided to invest in a mobile app of some sort. You know that it's important to be accessible to your potential customers and since they're all looking at their smartphones most of the time, even when they probably shouldn't be, it's about time you create a mobile experience that will be finger friendly and give them access to relevant information about your product or service quickly and easily.
You might have heard about some of the popular app platforms - things like the iPhone OS (now truncated to simply iOS due to the software being used to power other devices, like the iPod Touch and iPad) and Android OS which powers phones and devices that use the Google mobile operating system. There's even a THIRD option, which is to create a mobile web application using HTML 5 that will run inside the device's native web browser. What is the difference between these different kinds of apps, and which should you focus on? Let's chat about it!
A Little (Recent) History
Most people in the application development and technology industry associate the birth of the "app," a program that runs on your phone that you typically download from an app store, with the launch of the iPhone in 2007. Although Apple (makers of the iPhone and other iOS devices) were the first company to support modern smartphone apps in a major way, the device didn't actually go to market with an app store available at all. In fact, Apple's original intention was for developers to create applications for the iPhone using web apps - applications that will run inside the device's web browser much like your webmail client does in Internet Explorer on your desktop computer. At the time web technologies were bustling and many app experiences we think of today could be replicated in the phone's web browser, so what was the point in reinventing the wheel and creating a native iOS-specific app framework for developers to use when they could create web apps out of the box?
In the end Apple ended up catering to their loyal fanbase's requests by creating tools that developers could use to make native applications for the iPhone, and they subsequently unveiled the Apple App Store that iPhone users could visit to download and install these apps on their devices. The App Store became hugely popular, and Apple's competition in the mobile device market (RIM's BlackBerry and Google's Android) followed suit with their own software development kits and app stores. So what ever happened to HTML 5 web apps, and how are they different from these other "native" applications that I'm talking about?
Native Vs. HTML 5
Essentially, the difference between a native application and an HTML5 application on your phone is that the native application is standalone (think Microsoft Word in Windows) where-as the HTML 5 application runs in a web browser, like a website. Each platform has its own pros and cons, but to my mind the biggest of them is that HTML 5 applications will run on any smartphone with a modern web browser, but developing a native software application limits you to one device specifically.
For example, taking the scenario in the opening paragraph of this blog post: a small business decides it needs to have a mobile application. One of the very first questions they'll ask themselves is what platform should they invest in. Should their app be in Apple's app store first, or in the Android Marketplace first? What about BlackBerry? Since all of these phones have different software development kits you can't simply make an iPhone app and have it run on an Android or BlackBerry phone. In all cases the app will have to be "rewritten" for each device you want to support.
That's where mobile web applications with HTML 5 come in. Because web apps run inside of a web browser, and because all modern smartphones have web browsers capable of displaying advanced web apps, you can focus on creating one mobile app that will be available whether a person is using an iPhone, Android phone or BlackBerry phone. Not only that but your app will be supported on larger tablet-style devices, because again, as long as the device has a web browser your customer will be able to access your mobile app if it's developed with HTML 5.
The Taste Test
Okay so you might be wondering what the catch is. If someone can focus on creating a mobile web app, why spend the extra time and money to creative native applications for each kind of device? Do the mobile web applications look or perform worse than native apps? Here's what I want you to try. If you have a smart phone, be sure to download and install the native Facebook app for whatever phone you have. Whether it's iPhone, Android or BlackBerry - go ahead and install the Facebook app for your device. Got it? Good. Spend some time using the Facebook app and make a note of what it looks like and how information is displayed to you. Tap through to your news feed and check up on some of your friends, and try to make a mental note of what the app looks like.
Alright, now load your phone's web browser and enter touch.facebook.com into the address bar (typically entering just facebook.com will redirect to the mobile version of their site, but enter touch.facebook.com just to be sure). Does it look familiar? It should! The mobile version of Facebook's website renders nearly identically to the native Facebook app. You have access to the same information and the same functionality, but it might be displayed slightly differently (this has more to do with the quirks of the various "native" app technologies than the web technologies used to develop the web app).
So why doesn't everyone just use web apps?
So if web apps can be this powerful by using HTML 5, AND you only have to develop them once to support all modern smart devices, why do people bother with native applications at all? First off, I think one big reason is that apps are "sexy." Just like the phrase social networking is a buzz term in marketing nowadays, having an app is similarly popular. However, I guarantee you this - nearly every business or corporation that has an iPhone or Android app has already developed a great mobile version of their website for people to browse to.
There's also the perception of discoverability. People already know about the app store on their phone, so if they want to find a way to access Facebook or Twitter on the go they'll probably visit the app store and search for them there. I think this is more of an issue with marketing strategies though. If my small business is developing a mobile interface for my customers to interact with me, it's my responsibility to make it be known that they have certain opportunities available to them. Are people going to go search for a protocol 80 app on the iPhone app store? Probably not, but if we're holding a seminar and plug our mobile site, will the folks in the room visit it? Probably, especially considering that 9 times out of 10 the only device they have with them that's capable of retrieving information is their mobile phone.