Blog

Viewing posts tagged wasm

The Next Generation of Web Is Here

WASM and WebGL are here, and they power the generation of the web. Web Assembly enables native performance applications with the distribution of a website. Web Assembly or WASM is a way to compile C++, C, Rust, and other programs into a format that can run in the web browser. WebGL is a graphics library that allows you to use the graphics card to have much more power and control over what is rendered on the screen than the standard web languages HTML, JS, and CSS. With WebGL, you can control how every frame and every pixel is drawn. Combining the UI and UX control of WebGL and the performance of WASM enables a new generation of web applications.

Few people are talking about this today, even though WASM + WebGL applications are already disrupting big business. For example, Adobe. A native performance application is required to edit photos and create graphics. Now with WASM, you can get native performance in the browser, and with WebGL, you can get the pixel-perfect controls that users need in a graphics editing program. If you've used Figma, you have used a WASM + WebGL application! Figma is disrupting Adobe because their application is effortless to start using. You go to their website, and it loads in less than 3 seconds. That's it. Adobe Creative Cloud takes over an hour to install. With Figma, you can share and collaborate on your work with the full power of the application. Previously people exported graphics from Adobe applications to show them to coworkers, now, they can share them in the application, and anyone can make changes. Being based on the web brings the whole team into an application previously only used by designers and illustrators. This team collaboration is enabled by the application being a website, and the performance is enabled by Web Assembly.

The magical part of WASM + WebGL is that there is nothing to install or configure, and the user doesn't even know it's being used. As of November 2017, WASM is supported in all major browsers, including first-class support on iPhone and Android. WASM runs everywhere. For the first time, you can build a native performance application that runs on every platform by default. This is a step forward from the Web2 world of HTML, JS, and CSS. Performance + distribution is why I argue that WASM and WebGL are the next generation of the web.

Let me prove to you that WASM completely changes the game. Here is a full Windows 98 emulator running in the browser. Yes, that is an entire operating system running in the web browser. It can even load already booted up because WASM is a consistent build target across all browsers and systems its behavior is also consistent across all platforms. This is a huge step forward from Web2 and enables native code to run consistently on all platforms. This changes the game for both Native Applications and websites by blurring the lines and allowing developers to combine the strength of both. Performance + distribution. 

WASM + WebGL has already significantly disrupted graphics and photo editing, so what's next? Applications where performance and user interface are tightly tied together that are critical to the usability of the application will be disrupted by WASM. It's my prediction this will have a massive impact on the gaming industry, as well as video editing. The native performance and instant wide distribution of WASM + WebGL will also disrupt data science. Projects such as duck-db are showing great traction in this space, they have built a performant in-memory database that runs seamlessly in WASM.

This is why I started a data science company rethinking spreadsheets. Our product is called Quadratic. We are building the first WASM + WebGL spreadsheet application. Quadratic runs entirely in the browser and can load millions of rows of data in seconds. You can use data science languages such as Python and SQL, all directly in cells. You can freely pan and zoom to navigate large data sets (like Figma). Our grids are as easy to use as Google Sheets and are as powerful as your computer running Excel, Python, and SQL natively. Performance + distribution. It would not have been possible to build Quadratic without WASM or WebGL.

PS We are hiring developers. Check out our careers page at https://careers.quadratic.to