Friday 20 July 2012

Don't blame HTML5 for bad engineering

There's recently been quite a lot of anti-HTML5 based app publicity, usually surrounding reports like this that the Facebook mobile apps are being rewritten as fully native for performance reasons.

I am reminded off two sayings, one old and one more recent, although I've not heard either of them for a long time.

A bad workman blames his tools is the first one, and it only takes an experienced eye to look at the Facebook app for Android to recognise that it hasn't been thought through, is sloppily written, and at best badly tested.

There's no language in which you can't write a bad program, or words to that effect, used to be an adage when programming languages actually looked different from each other. A good programmer can craft a great app in pretty much anything while a bad programmer can manage to ruin all the good intentions in any programming model.

Listing all the things wrong with the current Facebook apps would take more time than I'm prepared to invest in it, but there are some clear areas that have not been addressed. One is error handling, especially on communications, another is handling back which sometimes heads off to interesting pastures new, and finally interaction between push notifications, alerts and the news feed which all get hideously muddled. None of these are related to HTML5 and JavaScript being slow - they are architectural difficulties that need addressed at a fundamental level.

HTML5 may not be perfect, but it has huge potential. Just as the formal definition of the environment hasn't been completed, the engineering disciplines around using it have not firmed up yet. An HTML5 app has a lot of moving parts which need co-ordinating, and the tools don't have a lot of static checking yet. I have a nasty suspicion that the name HTML5 makes people think that designers can create stuff using it, but it really needs hard-core software engineers at least until the tools mature. You wouldn't want us, the engineering, doing the graphic design so why should the designers do the engineering?

1 comment:

  1. Wow this such a great article and the tips are very comprehensive. I love your article.
    Design Mobile App