WebAssembly is the Keystone

Within the last two days, WebAssembly (wasm) has graced the eyeballs of every JavaScript developer. If wasm is new to you, the articles linked at the end of this post fully describe what wasm is.

Since that’s been covered, I’d like to talk about one impact wasm will hopefully have on future of computing. To set the scene, a quote from the man himself:

Meanwhile, I took one quick step that would demonstrate the concept of the Web as a universal, all-encompassing space. I programmed the browser so it could follow links not only to files on HTTP servers, …

In one fell swoop, a huge amount of the information that was already on the Internet was available on the Web.

Tim Berners-Lee, Weaving the Web, 1999

Back then, Tim enabled the first Web browser to follow links to newsgroups and FTP servers. By linking up a slew of existing content, the Web became much more useful.

This realization is pretty potent. The web has taken over the world because of the power of linking things together, especially things not yet on the web. I was initially surprised that Tim saw the now-humble URL as the most vital Web technology and had it standardized before HTTP and HTML.

Today, we can follow URLs to images, videos, articles, text, PDFs; most types of media are linkable. Clicking/tapping a link is the most commonplace thing in the world.

There’s one type of content that still isn’t linkable, though: Applications.

For the past ten years, the JavaScript revolution has been trying to make real the dream of following a URL to an application.

It’s been a circuitous, roundabout, and partially successful journey. Emscripten has made it possible and asm.js made it faster.

My great hope for WebAssembly is that it can bring the world’s teeming vault of existing applications onto the web, with very little fuss. Imagine using Photoshop merely by going to photoshop.adobe.com, and you’ll have some idea of where WebAssembly might carry us.

After the WebAssembly announcement, I read every bit of documentation currently available, about a dozen articles, joined the W3C Community Group, and have been hanging out in the IRC channel (irc://irc.w3.org:6667/#webassembly). I don’t want to speak too soon, but I’m pretty well convinced that wasm is the next revolution.

For further reading, here are some of the best articles I’ve found: