HTML5 sucks

After a lifetime developing software it’s surprising how rarely I discuss my ideas in this blog. Some of the advice about how to blog suggests writing about your field of expertise but I guess I’m sufficiently burned out after all those years to actually not find it very interesting any more. OTOH, I also actually think that software is not what it used to be. It’s not that innovation was higher in the past, it’s that there were far less people creating interesting software and not much had been done, so we were starting from a low baseline and thus appearing to achieve a lot. Today, frankly, most software is boring. And actually much of it truly is (not just my biased perceptual basis) because it’s so derivative and often trivial. But also, what I’ll label the “meta-issues” have largely already been solved and so rarely does even somewhat innovative software ends up being very interesting.

For instance, in the dying of my working career I chased the irrelevant pursuit of learning yet another development environment to evaluate whether my employers should pursue this development path. In particular, I easily set up an Android development environment, carefully sequestered in a VMWare virtual machine, ran through all the examples in several tutorial books and then did a few samples of my own. There was a time when this would have been a challenging task for me, but after decades of learning new development environments, languages, and frameworks – big whoop, this is trivial. And there would have been a time in my career when having something like Eclipse for development and debugging or the Android libraries would have been really impressive (hey, I date back to 360 assembler era where we have a few macros as the library and punchcards and coredumps as “tools”, so I can be impressed, but frankly after CodeWarrior (for Macs) as my first IDE, they all look pretty much the same now, and frankly, Eclipse is mediocre compared to Visual Studio, but back to my main point …)

It’s this context where I have two reactions to HTML5: a) big whoop, it’s boring as toejam with absolutely nothing interesting or innovative about it (sorry kiddies, it might impress you but that merely means you have a low threshold for what impresses), and, b) it sucks. Now actually it isn’t really HTML5 that sucks (a boring spec, hardly deserving of an entire book and certainly not the entire shelf of books about it). Now it’s: a) the browsers’ implementation of it (esp. Firefox, boy have they gone downhill), and, b) the websites that get excited about it and way overdo (sorta like the early days of fonts when authors got carried away and created documents that really did look like ransom notes, the cliche that eventually applied to bad use of fonts).

Now I realize web designers have to do awful things and create a terrible experience for me because they have to try to get me to pay attention to ads since I, like everyone else, won’t actually pay for content, so we get the trashy presentations we deserve for the price we pay. No, it’s not that (and how HTML5 has made that worse) that bugs it, it’s the equivalent of ransom notes excess, it’s that some sites think unless they’re pushing all sorts of updates and animations and reformatting of the pages at me at a rate so rapidly the browser can’t go through its tedious re-rendering and show me a stable display before the next bit of “dynamic” content comes along. STOP IT, FOLKS.

There is an old bit of wisdom, ignored of course outside the Mac ecospace. Code doesn’t change focus! Period. Only the user changes focus. The incessant violation of this rule, plus the abuses of HTML5, make some websites now almost entirely unusable, in that I can read about five words before the text I was looking at mysteriously disappears off-screen. Are you listening, HuffingtonPost, your site SUCKS BIG TIME. Get some new designers or hire someone older than 15 who knows proper design.

But naturally as an old curmudgeon that all the kiddies will merely think an old fool I think the much ado about nothing that HTML5 (vs apps) creates is really silly, given it is absolutely no content (even poorly done apps beat the best HTML5). But nonetheless there people who actually want to argue that HTML5 is wonderful, as pure this article (but notice the source when you click the link, not exactly a knowledgeable source). So let’s deconstruct a little bit of their feeble arguments, since their arguments are mostly the conventional wisdom of the doctrinaire anti-Apple crowd (or alternatively, pro-openSource (aka mostly OpenTrash), pro-Android (aka mostly, pro-crappy UIs, but “open”), pro-Unix (aka, puzzle solvers who want to prove how smart they are by having unusable software where “user-friendly” is as much a swearword as commie is to tea-baggers)).

Distribution: Native apps are distributed through app stores and markets controlled by the owners of the platforms. HTML5 is distributed through the rules of the open web: the link economy.

Surely you jest! Have you ever heard of malware, aka Android apps at Google (even controlled sources like Amazon will get you a quick case of an STD). Yep, I can’t think of a better way to get malware than “open web” – you dolts! No matter how fascist iStore may be I’ll put up with Apple’s dictatorship before having a mean time until my personal information is known by every hacker on the planet of 12ms that “open web” will do.

Monetization: Native apps come with one-click purchase options built into mobile platforms. HTML5 apps will tend to be monetized more through advertising, because payments will be less user-friendly.

You’re kidding, right! Who are you addressing this comment to – users or developers. It sounds like developers, but your point is stupid even for them, and it’s insane for users. Why would I want a crappy, slow, poorly done, loaded with ads, bandwidth hogging (btw, you do know bandwidth isn’t free any more) website instead of a nice clean app I have to pay the whopping $0.99 for. Come on, payments will be less friendly than ads – again, what planet do you live on. And somehow this is a good thing about HTML5 (as opposed to merely a whine about Apple policies; would you make the same claim for apps vs HTML5 on Kindle Fire?)

Platform power and network effects: Developers have to conform with Apple’s rules. Apple’s market share, meanwhile, creates network effects and lock-in. If and when developers can build excellent iPhone and iPad functionality on the web using HTML5, developers can cut Apple out of the loop. This will reduce the network effects of Apple’s platform.

And your point is? (Still waiting for it, or this is confusing as mud). Now I’m fine with the idea of keeping Apple out of my app (other than maybe they’ll stop me from creating malware, but otherwise I don’t like their censorship). But to even begin to compare the minor functionality of HTML5 with what I can create in an app is silly. HTML5, even with a big pile of Javascript, is braindead when it comes to doing any interesting (like using the camera input and doing cool stuff with it). And I’m still trying to figure out what these adverse Apple network effects are? (some two-bit discount carrier I can’t use?) BTW, you do realize there are other environments than phones or tablets to think about. Stupid!

Functionality: Right now, native apps can do a lot more than HTML5 apps. HTML5 apps will get better, but not as fast as some HTML5 advocates think.

Now this is so laughable you know this author has never written a line of code, either app or HTML5, or even has been a very observant user. “Right now“!!? In which century in the future will HTML5 functionality even come close to native apps? HTML55, maybe (except that will suck even more). I’ve heard this kind of stupidity most of the my career to the general effect (“well it sucks now but it will get better”, otherwise known as the Microsoft first principle of business). NO, FOOL, NO! HTML5 is less capable that, as Spock once said, “stone knives and bearskins” when compared to code. “HTML5 apps will get better” – HA!, we’ll be lucky if they get less sucky! Exactly how are these awful things going to get better, except to remove most of the cutesy HTML5 insanity.

No, this kind of article is just plain stupid (right up there with any article explaining how Android tablets (or worse, Windows 8) is almost as good as Apple). You guys hate Apple (and for many reasons I agree, but that doesn’t mean I’ll use a terrible product just to spite Apple) and you can’t stand their success and this is just the 999th thing that is going to kill them (I’m sure you predicting Linux would be the OS of the future and smartphones had to have a keyboard and Apple Maps is better because it does (badly) auto-routing).

Next to the stupid things political commentators say (like Karl Rove and Dick Morris) you (author of this article) make them look good and like insightful gurus. Why are most tech writers such idiots, just sellout shils or just stupid?

About dmill96

old fat guy, who used to create software in Silicon Valley (almost even before it was called that), who used to go backpacking and bicycling and cross-country skiing and now drives AWD in Wyoming, takes pictures, studies Spanish and writes long blog posts and does xizquvjyk.
This entry was posted in musing, whine and tagged . Bookmark the permalink.

9 Responses to HTML5 sucks

  1. popo says:

    Couldn’t agree more. HTML5 is really remarkably unimpressive. Give me a native app any day of the week over some clunky HTML5 disaster.

    And the development environments are *still* crap. The develop-once, run-anywhere paradigm is just totally untrue. And the speed is awful.

    When it comes to desktop environments, I’d rather have Flash. Particularly for gaming. Any simple Google search for “HTML5 games” will bring up a collection of the most pathetic efforts to make HTML5 look like a viable gaming platform that you’ll wonder what year it is.

    Thanks for the post. It’s good to hear others reaching identical conclusions about overhyped, under-developed technologies…

    • dmill96 says:

      Thanks for your comment. To me the main selling point claim (and fail) is:

      The develop-once, run-anywhere paradigm is just totally untrue.

      I think this claim is made so strongly as just an anti-Apple slam, esp. over the issue of money. Yep, Apple is being greedy and grabbing their share of your revenue via the app licensing and folks like Amazon thus sell products via websites instead of apps, but that’s entirely a different issue, which doesn’t even require HTML5 per se to solve. Of course no one ever admits the real motivation (money) so they make false claims on the technical side.

      But the bad part to me is that inexperienced/naive developers believe what they read and then tweak their websites to use “hot” HTML5 features as though they were the second coming and as a result get a bad website. I think the old dogma that code should never change focus is even more true today. When you start actually reading a webpage and suddenly it refreshes and jerks around to some other location, the ads are not just obnoxious any more, this “dynamic” behavior makes the website nearly useless. Of course in the never-ending quest for maximum ad revenue websites are destroying whatever value their content might have by never letting me actually look at it long enough to consume it. Jiggly screens are a total turnoff and simply just amateurish web design and I blame the combination of HTML5 and immature developers.

      But it will take the various review sites and the “conventional wisdom” turning against HTML5 (as I predict will happen) before these immature developers realize their mistake (someone “trendy” has to tell them for them to listen) and get rid of some of the horrible pages they’re cranking out now.

  2. NoLand says:

    Hi,
    just stumbled over this post. First, please allow me to note some of the good aspects of HTML5:
    a) The major part is about semantic markup – and, if we approve to the notion of machine-readability of websites (for which there isn’t much need to do so), the implementation is a big step ahead of XHTML, which was really a bit of an ill-born brethren.
    b) The media-capabilities (esp. the canvas element) and client-server requests (which actually predate HTML5) are also a big step ahead, bringing interactive content back to the web itself, instead of web-sites being a mere carrier-device for embedded Flash-content.

    On the other hand the hype about this is really a pain (in some parts of the body), even more, if the hype is completely ignorant of the quality and reason of the applications in question. I think, most of the things you mention in your post, is due to another hype: mashups and JavaScript-libraries. Libraries are stacked onto libraries: if the user dares to scroll the page, 4k of lines of codes are executed where a single line of native code would have done the job, and 5 different social-media-services are contacted for any of the items listed on the page, resulting in some hundreds of partial re-renderings. – This is the Web3.0 in all its glory: The mashup- and widgets-web.
    So it’s rather about another “conventional wisdom”: It’s not the tools, it’s what you do using them – and there’s no need to start writing Chinese, only because you’r computer has a Chinese font. (In fact, most of this could have been done, and was done, in the 90s with frames, but was limited to some extent by the performance of browsers and computers then available.)

    • dmill96 says:

      Good points. And as I interpret your analysis of Web 3.0 “misuse” as the source of many of the issues I cite I agree, but also suggest that there has been tension since the earliest days of the web (or in many ways even predating HTTP/HTML) between: a) commercial interests and informational interests, b) semantics and format (separate but strongly related issue). The fundamental problem is not technical but economic. In attempting to pay for the web without actually charging for it we have opened the door for massive abuses that will get worse. And I will submit that much of the motivation for HTML5 was to enable the growth in bandwidth- and attention-hogging elements solely for the purpose of overcoming steady rise in ignoring ads. Banner ads were irritating when they first appeared, now they’re invisible (and even more ignored), so the ad crowd must escalate, demand our attention, esp. with all the multimedia stuff and most of all via sound, something far harder to ignore.

      The semantic tagging idea is terrific but it extends to only a tiny fraction of the web community and in many ways conflicts with the commercial interests. How many sites go through all sorts of tricks to make sure bots can’t scrap information needed to do product/service comparisons. How many sites really want to label items like size, quantity, and especially price, so that bots can easily make comparisons. Semantic classification of content serves academic/informational requirements but not commercial ones. So HTML5’s contributions there are modest, esp. say just compared to custom XML schemas that can really be used much more effective, esp. with web services, for machine-readable content. Semantic tagging serves relatively little purpose to human consumption.

      Additionally much of my complaint ties also to browser implementation. HTML5 makes zero progress toward a universal standard with write-once pages since parsing and rendering engines persist in maintaining differences. Some sites, esp. some ad-heavy (and cheesy glitz-heavy) web sites interact very poorly with certain versions of certain browsers making the pages almost unusable (constant change of focus, forced scrolling, constant re-rendering in dynamic layouts – not just incredibly ugly, but incredibly unreadable!). And why all this jittery screens: a) browser cannot anticipate more changes being pushed or what a particular element will do to alter screen layout, b) browser is torn between rendering in alternate buffer and only refreshing viewable buffer when “done” (since done is mostly undefined, even though it could be guessed at better), b) irrelevant, i.e. ad content, is particularly oriented toward disruption of reading since that’s exactly its purpose, to force your attention to the ads, not the content, and, c) much of the multimedia stuff is gratuitous and/or immaturely added with some vague notion it makes pages more cool (for people raised on video only and with 10 second attention spans).

      Now, again you can’t blame abuses on the tool, but maybe you can when the tool makes the abuses easier. Rather than driving HTML toward a better viewing/reading mode and discouraging the ad crap, HTML5 mostly compromised in favor of commercial interests. Hostility to Flash (partially deserved but also often based purely on commercial considerations) doesn’t justify adding features to HTML just to drive out Flash if the consequence is a degraded experience.

      The problem with Javascript and the libraries is simple – no two browsers (or versions, or platform implementations) work the same, so people build complex libraries (e.g. ExtFS) to attempt to standardize a UI model so coders can build apps and then attempt to implement that model consistently to overcome the inconsistency in browsers. In short though, highly interactive “apps” in dHTML still suck and still work poorly (just look at how awful the HTML editors are in comparison to a native word processor). The world wants consistency, vendors want uniqueness. This isn’t new to HTML, or even the Web or even the Internet. Since the first days without a 100% monopoly competitors have deliberately created arbitrary differences to try to force users, or esp. developers, onto their products. HTML5 attempts to promise an illusion, consistency, which the entire commercial universe opposes.

      It is, of course, impossible. Therefore is HTML5 a positive step – probably. Is it anything to get excited about, is it the end-all, be-all, absolutely no.

      • NoLand says:

        Hi,
        You’re making a very good point at marking the conflict of academic interests (where the web came from) and commercial interests (where it is heading to since the late 90s).
        HTML5 is a bit on both sides, as it is bringing back a bit of the academic theme, but also – thinking of WebGL and so on – on the commercial-oriented, resource-hungry side.

        (But there have been efforts on this side long ago: E.g. HTTP1.1 and streaming http-content (multipart-http), which was a great idea, but we should be rather grateful for the broken http-chunks implementation in Windows and MSIE, which prevented a flood of commercial-abuse of this feature.)

        On the compatibility issue: Maybe, the real great plus on HTML5’s side is that it has brought MS to senses and Internet Explorer (version 9 and up) onto the road of standards. Using any browser released in the last 3 or 4 years, there are near to no compatibility issues any more. (So there’s practically no need for things like jQuery, since even IE 7 and IE8 can be treated with some rules of exception.)

        On Flash: Flash Player was, if programmed directly and properly, a platform not to bad. You could do near to everything that could be done with Java on the client-side, and it provided ways to integrate content quite light weight. The main issue was – aside from security matters – that it invited untrained developers, quite like VB-Script, and that it gave us an exclusive preview into the framework-hell of rich media applications with all the issues you’ve described. Again, it’s all about what you’re doing with the tools and how you’re employing them. And commercial interests and the rise of “web agencies” hasn’t helped much to this.

        Maybe this will help to make you friends with HTML5 🙂
        http://www.masswerk.at/spacewar/

        • dmill96 says:

          All good points, thanks. Certainly for websites I see no reason not to use HTML5 (wisely) and minimize scripts. Sites with good content (not just bling) should focus on user experience, esp. for users with an actual attention span. Even marketing sites should restrain themselves for optimal selling. The real issue is having a satisfying, but minimalist experience AND not to hog bandwidth since out in the real world that is not assured like with some IT maintained internal LAN.

          But when it comes to apps, esp. for iOS (Android is such a mess, due to the fragmentation it’s almost impossible to optimize experience) apps still prevail, IMHO, over using the browser and HTML5, even with simplest apps. But any app that needs to be highly interactive the browser, even with HTML5, is just too unstable, hard to use, and risky (too easily to lose data input in a poof of browser fail or connection fail smoke).

  3. skr says:

    Agree with all the points, HTML5 really sucks. making a simple drag and drop with audio and animation took more than 5 days and still no consistency on all the browsers. HTML5 is seems business making game noting more. I am leaving this for apple only

  4. Pingback: What is the point of blogging? | dailydouq

  5. Pingback: A Positive Negative | somewhereundertherainbow382

Leave a comment