Software

iOS 8 release: WebGL now runs everywhere. Hurrah for 3D graphics!

HTML 5's pretty neat ... when your browser supports it

The Cave 2 visualisation facility in Melbourne, Australia

Today, Apple drops iOS 8, and whilst most of Cupertino’s fanbois will be quantifying themselves with HealthKit, flashing their lights with HomeKit, or configuring their greatly expanded notifications capabilities, one of the most significant changes in its mobile operating system has mostly been ignored by Apple.

Big companies rarely shout it from the rooftops when they’ve fallen into line around a standard all their competitors have already adopted, so it’s with little fanfare that Mobile Safari - the foundation for all browsers in iOS-land, per Cupertino ukase - has implemented full support for one of the newest and most exciting HTML5 technologies, WebGL.

The history of 3D graphics on the Web stretches back nearly as far as the Web itself. Twenty years ago, Tony Parisi and I invented VRML by sticky-taping a 3D file parser and renderer onto TimBL’s libwww code. It worked, but the PCs of 1994, with 486 CPUs and XGA graphics, stuttered their way through polygon-rich virtual worlds.

Still, VRML had enough juice to get Jim Clark - the founder of Silicon Graphics who’d left to found Netscape - to write a check for Mike McCue’s Paper Software. Netscape Navigator became the first browser to ship with a VRML plug-in. Not to be outdone, Microsoft licensed a plug-in from Intervista (founded by Tony Parisi), and both of the two major browser platforms offered VRML.

Where was Apple in all of this? Lost in the swamps of Gil Amelio, a collapse of confidence only arrested by the purchase of NeXT, and the return of Steve Jobs. Apple didn’t care about VRML, and the weakness of the MacOS market failed to convince any third-party developer to make the effort.

Yet most of the Web’s developers and designers - addicted to Photoshop and Dreamweaver - used Macs religiously. The disconnect between a user base who could play with VRML and a developer community that couldn’t was one of the reasons VRML withered on the vine and faded away.

A decade of tremendous advances in browser technology and GPUs led inexorably to a marriage of the two in WebGL. WebGL wires the GPU to the browser with a Javascript-based OpenGL ES API, thanks to the HTML5 canvas tag. This means WebGL content is a DOM element (never true with VRML, because it operated as a plug-in), and can be manipulated with the same procedural or formatting techniques as any other element.

Although OpenGL ES forms the basis for many iOS and Android games, it’s not easy to learn or to use. The programmer has to manage every aspect, iterating through buffers of visual elements to create for each frame. Middleware platforms such as Unity found success in hiding much of that complexity, providing a ‘scene graph’ that allows the programmer to focus on application specifics.

WebGL inherits all of the low-level complexity native to OpenGL ES, and most developers shied away from it until the emergence of Javascript middleware libraries. The most popular of these, Three.js, has become the de facto platform for WebGL development.

By the start of this year, WebGL had matured into a stable 1.0 release, shipping inside Firefox, Chrome and Opera, and IE11. Android users found it embedded in Chrome for Android (though they sometimes had to diddle with their settings to make it work). Only Apple lacked WebGL support. Neither OSX Safari nor Safari Mobile supported WebGL, until, at June’s WWDC, Apple announced both OSX ‘Yosemite’ and iOS 8 would ship with WebGL support.

Starting today, three billion devices can render WebGL content. Developers no longer need to worry about whether a device can render WebGL content. This changes everything.

With WebGL, the entire range of 3D graphics - at native speeds - can be delivered to any browser, on any device, anywhere. That undercuts the need to write an app. Apps will remain the wrappers for paid content, but are no longer the sole path to deliver 3D.

Yet WebGL is much bigger than games. 3D is a media type - just like text, images, movies and sound - but one that’s had no native integration with the web. WebGL provides a common platform for the creation of 3D interface elements, everything from ‘flipping a page’ (which can be simulated in CSS) to flying through a Gibsonian sprawl of real-time data.

We’re going to need a 3D media type to help us digest all of the big data we’re now collecting. Properly visualized data can be understood thousands of times faster than text. (In the simple case, consider a bar chart versus a spreadsheet.) Companies like Tableau, or Sydney startup Small Multiples,, build businesses around making the ‘weak signals’ in big data clearly visible.

The long game for WebGL isn’t a better version of Candy Crush, but a clearer view into the galaxy of data that we own but can’t get handle on. The human GPU, with its incredible capacity to parallel process its way into pattern recognition, has finally met the Web. Twenty years on, cyberspace might be more than a clever word. ®

Mark Pesce is an inventor, writer, entrepreneur, educator and broadcaster.

In 1994 Pesce co-invented VRML, a 3D interface to the World Wide Web. He founded graduate programs in interactive media at both the University of Southern California’s Cinema School and the Australian Film, Radio and Television School. Pesce currently holds an appointment as Honorary Associate in the University of Sydney’s Digital Cultures Program. The author of six books, Pesce is now also a Reg columnist.

Sponsored: The world has changed, has your IAM strategy?