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?
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.