WebGL on Mobile Devices
It’s an exciting time for HTML5 technologies. The ambitious HTML5 standards are being quickly adopted and supported on all platforms. One of the most anticipated features is native 3D graphics in browsers. This is possible through a feature called WebGL. Those that have been following the development of the ChemDoodle Web Components library know that WebGL is used to create the 3D components. Without installing plugins or enduring long loading times or security popups, you can interact with chemical and macromolecular structures in 3D. On desktop platforms, there are five main browsers, and their support for WebGL is nearly complete:
- Google Chrome – WebGL is fully supported.
- Mozilla Firefox – WebGL is fully supported.
- Apple Safari – WebGL is fully supported, but must be enabled by the end user. Apple will soon finish its testing of WebGL in Safari, and at that time, I would presume that WebGL will be enabled by default.
- Opera – WebGL will be fully supported starting with Opera 12. You can obtain an alpha build here.
- Microsoft Internet Explorer – Currently, this is the only contender that is not yet supporting WebGL, but you can use the Google Chrome Frame plugin to add support for WebGL.
While desktop support has been forthcoming, many have wondered if or when mobile devices would support WebGL. Java applets do not run on mobile devices and earlier this week, Adobe announced it will be discontinuing its mobile Flash technologies. This leaves WebGL as the sole contender for providing interactive 3D web content on mobile devices, and a worthy contender it is. Interestingly, some mobile devices have supported WebGL for quite some time now, such as some Sony phones or through Firefox Mobile. Recent events have shown WebGL running on an even wider array of devices. I think it is safe to say at this point that WebGL is coming to mobile devices and it is coming soon. The following main mobile browsers are listed:
- iOS Mobile Safari – WebGL is fully supported, but currently only for iAd customers. We expect WebGL to be fully enabled to all users at the same time that Apple enables it in desktop Safari.
- Android Browser – WebGL is fully supported on devices from some vendors, although it is likely coming to all devices in the near future.
- Firefox Mobile for Android – WebGL is fully supported. However, device compatibility may be an issue.
- Blackberry PlayBook 2.0 Browser – WebGL will be fully supported.
We recently started optimizing our 3D ChemDoodle Web Components for mobile browsers, and will be fully supporting WebGL on all mobile platforms that implement it. This will allow scientists to quickly and affordably use the web to reach large numbers of users to reduce the cost of education and further spread science, especially when using the open-source and free ChemDoodle Web Components library. We already have the 3D components running on iOS and Android devices. The above video shows off some of the 3D ChemDoodle Web Components on an iPhone 3GS and an Android HTC Incredible 1. Even on these older devices, the performance is excellent, showing off the power of using hardware accelerated features like WebGL.