No. HTML5 is NOT the Answer

Profile
Written by dermdaly on December 14th, 2011

The cross platform versus native app question comes up again and again. Everyone knows where we stand on this; I truly believe that natively written apps, targeted for iOS, or Android, or Windows Phone 7, etc. produce more polished, better, more engaging apps.

I’ve never seen a brilliant app written in a cross platform way. And take a look at the apps that have grabbed recent buzz. Do you think Path or Flipboard ever considered a cross platform toolkit? I think not.

And, then I often get told that the answer is HTML5. One page rendered the same on all devices.

As Wayne was known to have said

“Shhhhyyyeaaah”

Look. Browsers differ, implementations differ, and as a result the output differs. Web designers all over the world still shudder when people mention internet explorer 6. The hacks to get web pages working across browsers was always an issue; and we’re being promised that we won’t have this in HTML5.

Or, as Wayne was known to have said

“And monkeys may fly out my butt”.

How do various browsers support html elements ? Well take a look here.
Wow. There’s a lot of red and green in there. Even a few sort ofs, “incompletes and almost.

How about CSS ? Well, lets look at that.
Oooh. We have yes, no, incomplete and buggy.

Wanna use some HTML5 advanced features. Sure. Go ahead. Just make sure you consult this first, mmmkay?

I know you want basic information, and you want wide reach, using HTML5 is a solution. However the promise of “it will work everywhere” may not be as true as you’d like it to be.

If you want a slick app, that shows your company, brand, service whatever in its best light, do yourself a favour and stay native.

Comments (15)

Matt says:

Absolutely.

People forget that Apple offered web apps to people on iphone and the market responded that they wanted native apps.

A heap of hippies and hipsters wanting HTML5 doesn’t make a market.

If this is the way it’s going, there has to be better inter-app communication. (I believe Windows Phone does this better)

In Twitter.app, I click a link and end up on The Journal, who ask me to install their app, which I already have done. In the Journal I click on a Tweet, and Twitter (the HTML5 one) asks me to login. That sort of stuff is a nightmare.

The other challenge here is whether or you should design Android style apps for Android, iOS style for iOS and Metro for Win7. At that point you’re really into a tricky situation.

Lastly, aside from all this, unless Apple & Android sort it out, you should really have a mobile site too.

Like I said, Nightmare.

mm dermdaly says:

Agreed. Style is a whole other blog post, so I didn’t bring it in here. In short: I don’t think a x user will thank you for a y experience. If that makes sense.

I mostly agree with you but I have to take issue with this statement:
“I’ve never seen a brilliant app written in a cross platform way.”

Have you never seen Photoshop, Premiere Pro, or After Effects?

mm dermdaly says:

I’ve never used Premiere Pro, or After Effects, and whilst I agree that Photoshop is amazing in what it provides functionally, as a piece of software its usability is appalling; It could never be accused of being a nice piece of software to use (although, Pixelmator, written from the ground up looks amazing).
Questions
1. Is it written in a cross platform toolkit? I was under the impression it has been ported to Native Cocoa only somewhat lately.
2. Can you imagine attempting to do anything as complex as Photoshop in HTML5?
3. Lastly, I was referencing mobile apps. And, I am still to be impressed by anything cross platform on mobile.

HTML5 and cross-platform toolkits are completely different things. The first relies on target platform (browser) at runtime. The other is compiled to the target platform and, depending on the tool kit, has a native integrated experience.

>The other challenge here is whether or you should design Android style apps for Android, iOS style for iOS and Metro for Win7.

Yes, yes you should. Separation of concerns: keep your UI layer thin.

“Look. Browsers differ, implementations differ, and as a result the output differs”

This is also a problem with native apps: outside of iOS, device support for native apps varies just as much as the browsers do, perhaps more so. Some Android apps that are fine on the Samsung Galaxy are unusable on other Android devices. Sure, this is a problem of Android fragmentation but if your philosophy is to go native, that’s the world you have to deal with.

Both native apps and HTML5 apps have their place, but native apps are going to be increasingly sidelined as marketeers realise that a mobile web app addresses much of the same requirements, with some other advantages also (bigger addressable audience, linkability, better “at-time-of-need” suitability, easier to find, easier to update, cheaper etc.)

Native apps suit frequent use cases e.g. email, Twitter etc. but are perhaps less useful for rare/once-off use cases such as interacting with your local restaurant etc.

mm dermdaly says:

I completely agree with your points. Particularly the last sentence; I’m all for avoiding “an app for an apps sake”.

I don’t think there’s a need for the hard-line approach. I would personally lean towards the assumption that, as with the desktop, mobile will be increasingly web-powered as time goes on.

On the desktop, I use “web apps” for email, project management, music, calendar, time tracking, instant messaging, social networking.. the majority of stuff, I’d say. Two years ago that wasn’t the case and you would have been mad to suggest it.

Whereas now I appreciate no end how I can switch from my Linux desktop to my OS-X laptop, over to Windows for some browser testing, or even to my mobile phone in some forward-thinking cases, and have the same experience with the same apps I’m used to, just as I left them.

I agree with you that the mobile web experience isn’t quite there yet, but I’d have to expect it’s on the way.

Mobile web apps and interfaces to take note of at the moment are the new Twitter and Facebook, which already look and function almost, if not entirely, on-par with their app-store counterparts, and Trello and Toggl which seem to work better (or only) on the web.

“People forget that Apple offered web apps to people on iphone and the market responded that they wanted native apps.”

Because what they offered was so limited you couldn’t create anything compelling perhaps? Because it was very limited. Now we see the likes of PhoneGap, NimbleKit, Mulberry etc. that provide an API between native and web technologies. This gives the app marketplace visibility (the major issue with pure web apps) while allowing people to use web technologies. These things are extremely popular and even Facebook uses their own custom PhoneGap-esque framework and Web techs for their mobile apps (cheaper, easier to get the skills, more maintainable, more portable)

IMHO neither pure native nor pure web is the way IMHO but a balance between the both. For example charting libraries for iOS are less than ideal so why not use a UIWebView with perhaps HighCharts or some other canvas or SVG based javascript library that provide infinitely better options for output?

Can’t we all just use what fits? HTML5 is set of technologies – use it where it helps and where it makes your life easier (assuming you aren’t totally sacrificing UX of course) rather than either claiming it the second coming or shunning it for creating terrible fragmentation (which compared to the Android mess isn’t actually that bad or work around)

I agree with Ronan’s comments on device fragmentation. As more and more web enabled devices hit the market, a cross-platform approach makes more sense.

Web devs have had years of dealing with browser inconsistencies and the prevailing attitude of the browser vendors is now to try to implement standards. Hardware manufacturers are still in the one-upmanship phase of adding new sensors to this device and higher resolution screens to that. It’s like Netscape versus IE all over again.

Personally I’d rather write HTML5 apps and deploy them via a wrapper such as PhoneGap mainly because I’ve realised that iTunes is not the only app store.

Ronan says:

The Facebook apps (iPhone, iPad, Android) use HTML for the content sections (news feed, timeline, notifications, inbox), wrapped in native container.

http://www.quora.com/Is-the-Facebook-iPhone-app-entirely-native-Objective-C

mm dermdaly says:

They do indeed. Which is precisely why they are rubbish.

Ronan says:

Fun talk last night at Beermob, Dermot. But I think millions would disagree with you about the Facebook app being rubbish. LinkedIn too. iTunes however I’m with you on.

p.s. I didn’t receive email with your new comment above.

[…] a rich of set of features and industry support.  But we still need to remember that write once run anywhere is just not there, a lot of work is still needed for developers and […]

Comment on this post

Let us build your app

We offer native app development for iPhone, iPad, Android and Windows Phone; with full service from idea generation through to getting your app on the App Store. If you’d like to discuss your app development needs, get in touch.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close