December 23, 2010

Going mobile, should you go native or Web?

You want to go mobile. From an end user standpoint and a business angle you know what you need to mobilize you know what you need to mobilize in your app. In other words the context of use is well known, and known to be useful to your users.

Do you go native or html5?

We’re constantly having those conversations internally and with customers. Here are our top questions and considerations, let me know what you think!

Native apps

Cache offline content : Connectivity is not created equal, offline capability is huge and natural to do in a native app. 

Bottom line for Product Development: costly to build out for each platform.

Buzzworthy : The importance of this here is dependent if your product is a consumer play or an enterprise play. In the former, it’s very important to build awarness, and a buzzworthy app is huge in this case. In the enterprise case, I refer you to ease of discovery

Richer experience : The library of controls available to use in the design and development is tightly integrated with the whole device.

Make use of phone’s features : No matter what it will always be easier to push the envelop with a native app. Platform dependence has its up side!

Ease of discovery : A company has at least one channel to push your app to on all platforms. This is both a blessing and a curse, the number of apps on those markets is huge in some cases, like Apple’s Appstore. An app can be lost in this market very easily. I remember back in the days at Corel, the all so important need to have our software prominently displayed in the store isles or even better at the tip of the isle was best. The same is true now for the virtual stores, one has to craft the name, description, and so many other things as well as being original to rise above the noise and make it into features etc. The more they see the app the better, it’s important to find ways to make it visible. 

In the context of enterprise software whether an app is discoverable or not doesn’t matter as much. A user has to use the enterprise system, if there is a native mobile access  for that enterprise software, the user will be directed to it.

Web apps

Easy activation: send a viewer to your property from, URL, Barcode, QR code.

Easier cross platform development : One code base for the most part is your goal, testing on all devices is still very much a requirement.

Maximize HTML5 to get richer features : HTML5 offers some great stuff, and great ways to get access to native features and functionality. They require your team to think they code in a multi-platform way. The functionality is available, and be aware it can be displayed differently from device to device.

Easier updates : All the other web vs. app goodness: smoother product lifecycle for updates, maintenance, etc. Let’s face it the pace at which we click update on our mobile devices is quite fast, the rate of iteration in this space is really fast. As a user I sometimes feel I update way too often. With the web this is all done in the background without your intervention, and this is a good upside.

My Take

I think native apps are here to stay, and we will see more web based apps in the next couple of years. Truth be told, HTML5 is still fairly basic. Creating a look and feel that will be seamless in HTML5 is still a challenge. Regarding size of investment it truly depends on the complexity of the app your organization is looking to create, the mileage of HTML5 today will vary greatly in this regard. Some apps will be a slam dunk while others are going to be as expensive to create in HTML5 as the native one.

Framework is an avenue to explore, and yet it’s still the far west out there in the mobile space, who is going to win is not clear. The selection of the framework is an important decision just as always!

So what do you think?


Warren Gallagher said...

Another approach is hybrid. Use the web browser control inside a native app. This allows you to use web technologies where it makes sense. It also allows you to code directly to the platform where needed. You get the benefits and caveats of app distribution and updating with the amount of cross-platformness you are comfortable with.

For web apps, any platform that supports a webkit based browser will support offline page caching and at least three methods for local data storage.

Tony said...

This is web vs native discussion we saw on the desktop about 10 years ago. The web won then, we will see if the web wins again now. Now a mobile screen, user interface, and resources are very different then a desktop but most 'native' apps are glorified front ends relying heavily on web services, and many could easily be implemented with the browser control like Warren mentioned.