How to Choose between a Web app or Native app

It’s slow. It’s clunky (compared to others). It’s not as pretty. It’s the so-called “web” app ~ as distinguished from the “native” app. So why build one? Well, there are some good reasons, and the biggest one is, web apps are “cross platform,” that is, they will run on any kind of mobile device that is connected to the Internet. So in the same way you access the Internet from a PC using the browser of your choice, regardless of who manufactured your PC, you can access web apps using the browser of your choice, regardless of who manufactured your mobile device. Sounds great, yes?

Not so fast, kemosabe.  Remember, there is a war on, Google vs. Apple vs. Microsoft vs. Blackberry and so on. Each of those companies make mobile devices, and they don’t want their device turned into a commodity. They don’t care much for web apps or the technology that makes them possible: HTML5. So the big (rich) players, namely Apple and Google, are investing gazillions to keep you, and the armies of developers who build apps, on their proprietary platforms, that is, on native. How do they do that? Innovation.

Native Rocks!

As of today (2013), the best apps are native apps. They look better, have more polish, perform faster, are available in the app stores and thus easily monetized, and are easier to use. Slick and fast, they are. Users love them. Plus, because native apps are built on platforms offered by hardware manufacturers who want you to LOVE the hardware they make, native apps make better use of the hardware than do web apps. Just look at any app taking full advantage of your device’s embedded camera, accelerometer, or headphone jack, and you’ll find a native app. Steve Jobs is knowns for having quoted Alan Kay with “People who are really serious about software should make their own hardware.” The integration of hardware and software is where the magic of innovation happens.

Then there is the matter of roaming charges ~ a key issue for tourism apps. Tourists, by definition, are away from home, and therefore subject to network roaming charges when they use their mobile devices. That can get expensive, especially if your tourism app requires heavy data downloads, say for audio or video.

One solution is to allow the user to download all that data-heavy content when she is in range of cheap or free WiFi, say before leaving home or at the hotel. Once those heavy files have been downloaded and stored in the device’s local memory, there is no need to ever download them again. Those files are then acessible anywhere, anytime, at no cost, even when there is no Internet connection.

Not so with a web app. In that case, very little is stored in the device’ s local storage. A web app pretty much has to download all the files every time the app is used, which is one reason why they are relatively slow. Once out in the field and standing near a point of interest, chances are the user’s device will not be in range of cheap or free WiFi, and so roaming charges may apply. Ouch!

White Knight? What White Knight?

So where is this white knight on the white horse I alluded to in my last post, the one who would save us from the platform wars? Why bother with web apps and HTML5? Why not just “go native”?

I’ve mentioned one big reason already ~ the cross-platform nature of HTML5. A web app is your best, least expensive way to build an app that will run on a broad range of mobile devices, regardless of the manufacturer. Otherwise, your tour app will need to be developed for Apple’s iOS platform using one programming language (Objective-C), and then again for Android using a different programming language (Java). Want a version of your app for the new Windows phone? Then it must be built using yet another programming language (C#). The next thing you know, you have three sets of code for three versions of your app, and your hassles and costs are skyrocketing.

Then there is the problem of which Android. Remember, Android is an open platform, or the wild, wild west as I refer to it. One result of this openness is that there are hundreds, nay thousands, of devices in the market using the Android operating system. Each one is different, and each has its own peculiarities, so your app might look great on one but lousy on another. Android is no walled garden.

A Garden Party in the Walled Garden. But who’s Invited?

“Ah, simple,” you may say. “We will just build our app for the Apple iOS platform and forget about Android. We will just have a happy little garden party inside of Apple’s walled garden, just like Steve Jobs wanted us to.”  Then kiss good-bye almost every tourist coming from developing countries, and certainly China, where Android devices are preferred over iOS devices by like six to one. Building your app for iOS only would be like opening a store and only allowing one out of every six customers to come in. Granted, that one customer tends to be more affluent and speak English, but I submit developing for iOS only is a shortsighted strategy for tourism apps.

There are companies, like Appcelerator and Phonegap, that offer ways to build a single set of app code and have it work on multiple platforms. That is one option and a good one to consider. Another is to build your app on HTML5.

HTML5 is a Knight in Training

HTML5 is no more, no less, than the next version of the same programming language (HTML, or HyperText Markup Language) that is used to build virtually every web site on the Internet today, including yours. Sure, you may have used WordPress, PHP and CSS to build your site, but under the covers is HTML. The “5” simply designates that this fifth version of HTML is highly accommodating to mobile devices. It is not owned by any one company, but is rather, developed by committee, which means it is slow to evolve while good intentioned developers have food fights (in committee) over which direction HTML should take. The ideas and intentions are good. HTML5 holds great promise, but it is still a young knight in training.

But I predict many of the shortcomings of web apps I have mentioned will fade away in due time, making it a good choice for your tourism app. More pervasive free WiFi will mitigate the roaming charge and performance problems. HTML5 or 6 will do a better job of leveraging the hardware, and offer programmers more tools for creating slick, polished apps. There will be solid ways to monetize web apps, without going through one of the proprietary app stores. In due time.

It Comes Back to Your Story

In the meanwhile, develop great content that can be used on all the platforms, both those available now and also those that are emerging, like Google Glass and “phablets” (a cross between a smartphone and a tablet). Think of it this way: Orson Wells made the movie Citizen Kane in 1941. The delivery “platform” for his content back then was film, and you could only see the movie once in your local movie theater. Since then, Citizen Kane has been migrated to newer and better platforms: black and white TV, color television, VHS, DVD, Blue Ray, and soon, streaming. The content (story, cinematography, script. etc)  is still the same, and is considered by film critics to be one of the best movies ever made.

Make your content with the same passion for excellence, tell your story and tell it well, and it will live forever.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: