Monthly Archives: December 2015

Web Assembly and the death of the browser

Original html was not designed with a rendering model in mind. It was simply a means to link information together.

The first browsers were text based, and lynx, such a text based browser, is used even today.

The need to animate this information, this content, only came about once there were visual browsers like Netscape. Once the browser integrated the display of visual content with the text, people started dreaming of more interactive, more dynamic displays.

At the root of these displays was still the notion of linked text and media, mostly static visual images. But by using a markup language the visual images could be tagged so they were semi-processible. However the metaphor of a 2 dimensional display remained.

Even when people added software plugins like Java and ecmascript the 2 dimensional model remained. Many trials happened with 3 dimensional extensions but none were accepted into web standards.

The reason was everyone thought in terms of a browser, and that was a 2 dimensional display device. Microsoft could see that the browser was the display system of a personal computer but because of their dominant position in the market all the other players could see Microsoft would destroy any competition. Legislation eventually stopped Microsoft completely integrating the browser into the personal computer system their called windows. Once again a metaphor constrained us. This time just the name of an operating system for a personal computer.

Windows, like the browser, was a mostly flat representation. You could see “through” the windows, but it was mostly to view an imaginary desk with documents on it. Occasionally, attempts were made to see through the window and view a 3 dimensional image but most personal computers were so underpowered that images would be sluggish if animated and impossible to render in real time.

Slightly more power is available with graphics co-processors, or GPUs. However still not enough to do virtual reality, so currently we are stuck with augmented reality.

There is a trajectory, so we know the direction. It will almost certainly be discontinuous but as a society we are moving away from a browser as the only window into the internet.

And web assembly will take us there.

Web assembly is as attempt to speed up interactivity in browsers. What it will do is outlive browsers. Originally designed as the next, standardised, step after Asm.js and NaCL, web assembly is a way to take any software and run it at machine speed. Instead of trying to make the software portable so it runs on any hardware and any operating system and any browser, web assembly will specify a virtual machine. We already use virtual machines in every area of Computing apart from our personal computers.

Nowadays personal computers are really personal. Where we had the dominance, almost a monopoly, of Microsoft operating systems, personal computers have mostly two; iOS, and android. Via Linux and Mach, these two really personal computer operating systems are derived from Unix, an operating system that is over 40 years old. It has a single processor model and fakes multiprocessor with a number of schemes. One of these schemes has given birth to the container fad, a way to dumb down virtual machines and continue along the dead end that is Unix.

With web assembly, we have a virtual machine model. It’s not real and as long as it can mutate, we can build new end points of the supra-computer we call the internet.

We need no longer be constrained by end point devices that have a piddling number of processors with an attached graphics processing array if we’re lucky. We can make displays that have a processor for every single pixel, we can make holographic generators that suck in more information than the internet has at the moment. If you can imagine what you can do with unlimited processing power and unlimited information then you are probably not thinking deep, far or wide enough.

Web assembly releases us from real machines and marks the end of 2D browsers with their clunky document model. It becomes an holistic universe.