Hacker News new | ask | show | jobs
by chunkyslink 5694 days ago
Here is an example of where exactly what you are asking has been done to good effect.

By inserting a line of code in your normal website, we detect which device you are on and redirect you to a HTML5 + Jqtouch version of the site which acts and looks a lot like a native app (especially on the iphone)

See http://www.pocketdiner.co.uk

We've had no problems so far so the answer to your question is yes - HTML5 is mature enough for mobile devices from our experience.

2 comments

This is a perfect example why web apps are still nowhere near native apps. For example (testing with a HTC Desire):

- The transitions are very slow and response times are too big.

- Pinch zooming a picture results in corrupting the design - overlapping buttons and labels and so on...

- You cannot use the Menu button

- You need a constant Internet connection to be able to work with the application

- The address bar shows all the time and takes a lot of place on the screen

HTML5 has offline cache.

WebKit has CSS has transitions, which are hardware-accelerated (at least on iPhone).

WebKit has <meta name=viewport> hack (hopefully standardized as @viewport) and touch events can be used to control zooming.

In iOS pages bookmarked on home screen are allowed to hide addressbar completely.

>You need a constant Internet connection to be able to work with the application

This would seem to be one of the biggest issues. Regardless of the function of the app, having it become really laggy/jumpy when connection loss occurs would be a non-starter for me.

Thanks - that is exactly what I'm talking about. But don't you have a problem with older mobile browsers not being able to render the site correctly?
Without describing what phones/operating systems you're expecting to target it's difficult to get specific. You will absolutely run into rendering issues between different mobile browsers, this will likely never go away, but the good news is the majority of the more recent mobile browsers are based off of, or will be, WebKit. If you go the Mobile Web application route and don't limit your scope to more recent phone OSes you're going to have to deal with the challenges of cross-browser development which could involve just as much time and effort as going a native application route with a helper framework like PhoneGap.
Well, we'd basically want to target them all! Given that people change their phones more often than their PCs, one would expect the installed mobile browser base to 'fresher' than the PC one. In other words, over the medium term (say 2 years) the rendering issue should hopefully fade away.

It's just a question of timing - when is it going to be OK to go 100% HTML5? (assuming, of course, the app is not particularly complex)

Ahh, I had assumed you were talking about a brand new application/service. If, as you mentioned in a reply to another comment, you're just exposing an existing web service to mobile phones then simply providing a mobile alternative to that service gets you a large percentage of your likely user base for a minimal effort.

If you're asking when 100% of the phones in your possible market will have browsers on them that are HTML5 aware/capable, I couldn't begin to guess. I don't think that will happen soon, but it's certainly happening at a faster rate than I ever thought it would be. This is the kind of question that can have a paralyzing effect however. If you want to provide a mobile gateway to your existing service you should go for it and you should implement to target the phones you expect the majority of your users to be using.

It was pointed out earlier, but it bears repeating, plan for what's out there right now. HTML5 has a lot of momentum in the browser space, but that doesn't mean it will be adopted in a uniform manner. Limit your scope if you have to, something is better than nothing, but right now the state of mobile browsers is in flux and I wouldn't recommend depending on 3rd parties to create a desirable environment for you.

I agree it's all about trade-off. Cleaner, faster, cheaper development vs risk of alienating some percentage of users with older mobile browsers. I was trying to get a feel for what people are currently thinking - but there doesn't seem to be an overriding consensus yet.

As regards focusing on what the stack looks like now rather than making an educated guess as to the not-too-distant future, here I have to disagree. Our business is all about well-reasoned gambles, and it seems pretty clear HTML5 will win the day for all but the most complex / intensive apps, so it really only boils down to timing.

Highly-respected VC Mark Suster made a similar point when he advised people to "skate where the puck is going" http://www.bothsidesofthetable.com/2010/10/17/skate-where-th...

Would you not arguably have more problems getting those same presumably older handsets to run your app?