It demonstrates what's possible, but it's only the beginning

Oct 13, 2011 20:51 GMT  ·  By

The web has evolved from being a way of serving documents to a lot of people to a platform for running complex applications. This change has been dramatic, but also problematic since the web itself was not built for what developers were trying to get out of it.

This led to the obvious need for new technologies. WebGL is one of them and it's probably the most advanced as well.

The technology is quite impressive, it enables web developers to use the full power of the GPU for their applications, be them games or anything else that is visually intensive.

Mozilla and Google were quick to adopt the technology, they were the ones pushing it in the first place, but Firefox and Chrome only got support enabled by default this year. Opera joined them today with the experimental Opera 12 Alpha.

Browser support is coming along nicely, but there is still a lot more work to be done. To date, much of what has been done with WebGL has been experimental.

Cute demos to showcase what the technology is capable of, but few actually useful products. Even some of the games we've seen running on WebGL were nothing more than tech demos.

Which leads us to today and MapsGL, the most ambitious WebGL project to date. Google has, rather quietly, released a beta version of the next generation Google Maps one that fully embraces the latest web technologies to enhance the experience.

Users may have already spotted the MapsGL experiment which started showing up in Maps earlier today. Those that have the required computer specs have been able to play with it for themselves.

When it works, MapsGL is impressive and it definitely feels like a major upgrade from the current Google Maps.

And it's just what the technology needed. There's hardly a more complex application out there with the scale of Google Maps.

In designing MapsGL, the team encountered problems that others hadn't found before but also solutions that should help other companies and developers that don't have Google's resources.

If anything, the simple fact that MapsGL exists puts WebGL in the realm of usable technologies as opposed to experimental demos.

It hasn't been an easy task though and Google isn't done yet. But it is already pretty far along and has come up with some solutions that should benefit all users.

"Today, the Maps team is launching a beta of a brand new experience we call MapsGL. MapsGL is one of the first large scale applications to be built on top of WebGL," Jennifer Maurer, a Software Engineer on the MapsGL team, wrote.

"MapsGL makes use of 3D rendering and hardware graphics acceleration to provide an experience that is seamless, smooth, and runs directly in the browser," she explained.

"Technically, MapsGL brings significant changes to how map and image tiles are rendered on the client and server. Rather than loading pre-rendered image tiles from servers, vector data for the map is sent to the browser and rendered on the fly using WebGL," she added.

This is the same solution, vector graphics rather than static images, that Google introduced for its Maps Android app last year. But the native app was able to use the regular Android APIs for the 3D acceleration. On the web, things are more complicated.

"While developing MapsGL, we found that WebGL draws from both native and web app backgrounds. For those used to working on web applications, WebGL adds a lot of functionality, but also increases the complexity of what you need to build and test," Maurer explained further.

"Even though WebGL is cross platform, performance varies dramatically across graphics hardware and operating systems - and what improves performance on one may hurt performance elsewhere - so testing across a wide array of setups is critical," she added.

The whole post describing what the MapsGL team encountered during development is well worth a read if you're interested in WebGL or just technology in general.