WebGL and the future of the web

At the recent Web 2.0 Expo New York, Google unveiled MapGL, a version of their popular maps product which uses WebGL, the new Web Based Graphics Library Standard. With this effort, Google is working on mainstreaming a technology that may be key to the future of web applications.

What is WebGL?

At its most basic level, WebGL represents a set of extensions to JavaScript that allows developers to write code that can use the processing power of a user’s computer to create 3D graphics that update in real time. The standard is supported by Apple, Google and the Mozilla foundation but Microsoft has not yet lent its support to the nascent standard (I suspect it’s only a question of time as most of the browser world has announced support for the format). Today, you need a fairly recent computer and the latest version of either the Chrome, Mozilla, or Opera web browser.

The applications can now run and modify fairly complex 3D web-based applications. This is going to be a huge boon for online games, as can be witnessed from early examples like the recent implementations of web-based versions of Quake and X-wing, and also have substantial other uses. For example, the Google body browser allows users to get a better sense of how the human body works and someone put together a very convincing webgl photo editor that can handle a substantial amount of the basic image editing needs most people have. In science, a lot of representation can now be fred so scientist can experiment with different views of the data on an experiment.

In the future, one could see a lot of data set being presented in 3D using this technology, with the ability to access and manipulate data in real-time and see rich representations of that data immediately.

The bigger picture

For a long time, web applications have been limited to running within the context of a browser and thus sandboxed away from the rest of the operating system. With WebGL, we’re seeing that barrier broken down for the first time and is creating a precedent for the future growth of web applications.

In a way, this is an interesting return to ideas that existed almost 15 years ago. Back then, Microsoft was interested in merging their browser with the operating system. Early alpha versions of IE 7.0 actually had a deeper level of integration with Windows but fears around anti-trust regulations led the company to pull those extensions out.

To open up the web to deeper level of integrations with lower level processes could mean a variety of new possibilities. While web applications have long been limited by the browser sandbox, webGL now opens the door for a substantially improved experience as it gives the web access to a lot of the power that has been resident on users’ desktops. For a couple of decades, the web has been sipping that power through a straw but with WebGL, it’s as if the straw had been replaced by a firehose when it comes to graphic processing power.

For almost two decades now, many people have tried to make 3D on the web a reality (a little known fact, for example, is that Mike McCue, the man behind TellMe and now Flipboard, got his web start with a plugin that allowed the Netscape browser to display complex 3-D models) but many of those effort failed. A large reason for those early failure was that the different solutions presented were often limited to what the web browser could handle and until recently, it was considered a big no-no for the browser to access any low level processes.

But a few entrepreneurs had a more long term vision. In the 1990s, Marc Andreessen quipped that his browser would reduce the Windows operating system to “a set of poorly debugged device drivers”. While many have laughed this off as bravura on the part of a young man (he was in his 20s then), the concept of the web browser as central to computing experience is no laughing matter and it appears that the browser is now getting to that point where it could truly reduce operating systems to what he had envisioned in the 90s.

While 3D processing is but one frontier being broken by WebGL, it is an important one because, for the first time, web browsers are given access to low level processing without requiring plug-ins or authorization from the end-user. This will, of course, represent a set of new security challenges as code that is interpreted by 3D rendering engine gets pretty close to the heart of the machine (and traditionally, the code that has been allowed this privilege has been tightly controlled at the distribution channel level, with 3D gaming being mostly manufactured and distributed by a few people. By contrast, the whole web is mostly open to everyone with few or no limitations, opening it up as a potential attack vector).

Now that this frontier has been broken (and one could say that the door was initially opened when HTML5 was allowed to do geolocation), imagine what some of the next offerings that will build on this precedent could bring: in the future, we could see web applications being allowed to access cameras, microphones, accelerometers, and other parts of electronic devices across all web browsers. This could mean that applications that now run on your desktop could truly break free from that format and run exclusively from the web.

In the past few years, the idea of breaking down applications into smaller and smaller components to be distributed through an app store has taken hold of the computing industry, potentially challenging the idea of applications running from the web itself. With the rise of WebGL, the graphic rendering portion of those applications is something that now has accomplished feature parity. Sound will be next and access to device components will probably follow.

Web applications’ future has been challenged by apps and the web has answered the challenge, allowing for a set of offerings that will be richer and will present themselves in a way that will make it hard to differentiate between a native and a web application, Eventually, we will see WebGL being implemented on mobile devices browsers (the processing power is there and I suspect it’s something we will see appearing within a couple of years), radically reshaping the web app vs. store app debate.

With WebGL, we’re seeing a future that renders the web exciting again. It’s a technology worth keeping and eye on. Now may not be the time to develop on it (unless you’re developing web-based games for computers) but within the next 12-24 months, it is a skill that will be required of most Javascript developers.


Previous Post
An Occupation
Next Post
Pushing beyond standardization
%d bloggers like this: