Why HTML5 is a more significant standard than the IBM PC dito was

By Bundesarchiv, B 145 Bild-F077948–0006 / Engelbert Reineke / CC-BY-SA 3.0, CC BY-SA 3.0 de

In the eighties IBM created the IBM PC and made its technical specifications open. A few years later they where overrun by IBM PC compatibles. No one wanted original IBM PCs anymore, because it was a worse product than the compatible alternatives. Regardless of IBM’s motivations for doing this, it was what got the personal computer market going — an open standard. It was crappy in many ways. The port standard ISA didn’t offer good performance for example, but a standardized hack called Extended ISA solved that. You can still buy a PC in parts and put it together yourself thanks to this standard. Something I have done many times.

But HTML5 has little to do with hardware. It is a standard that in a nutshell defines how a web browser should behave when confronted with HTML, CSS and JavaScript. All modern web browsers are HTML5 compatible and like most standards, it sucks pretty bad. But the great thing with it, is that it for the first time makes it possible to write rich client-server web applications. I know client-server is an old term, but it actually best describes this new scenario. A Single Page Application (SPA) is kind of the same thing, but a SPA does not have two way communication between the client and the server like a rich client-server application has. But OK, let’s stay away from the old lingo. Let’s call it a “connected app”. Same thing. New word. This is a revolution, because suddenly it is possible to build a great user experience that works across ALL devices. And when you think of how big the IT-industry is today, it becomes a no brainier that this is more significant than the IBM PC standard ever was.

To build these new connected web-apps you could set up your own MEAN-stack. A challenging and learning experience that only takes a couple of weeks the first time you try it. Then you need to figure out web sockets and implement that with SockJS for example. And if you are in a professional situation, be sure to document everything you cobbled together in detail, because you might not be the person who will maintain this app. Or, you could just use Meteor.