Safari On iOS8 Supports WebGL - The New Era Can Now Commence
Written by David Conrad
Wednesday, 04 June 2014
The biggest announcement at WWDC has mostly gone unnoticed and uncommented - WebGL support in the Safari browser on OSX and iOS. At last the big browsers all support 3D graphics and web apps and web games in particular are effectively universal.
Apple's revolutionary announcement has tended to be overlooked - perhaps because Apple didn't really make a great deal of fuss about it. You might suspect that it isn't that keen for the world to notice that the Safari browser has almost silently joined the growing majority of browsers that support GPU accelerated graphics via WebGL.
Not only is it supported in the browser but in WebView as well, which means that native apps that want to show HTML content can now show it including advanced graphics. This also opens up the way for web app wrappers such as PhoneGap/Cordova to support WebGL on all platforms.
You might dismiss WebGL as something that is just for games but it also provides facilities for GPU accelerated 2D graphics and the possibility of speeding up other types of computation.
Although Apple was on the committee that developed WebGL, it refused to implement it in Safari for security reasons. However, WebGL has been available in the most recent versions of desktop Safari but it was switched off by default. Now WebGL is supported on both mobile and desktop Safari and it is enabled by default.
Firefox and Chrome adopted WebGL fairly early on with Microsoft's IE and Apple's Safari holding out on security grounds. Both Microsoft and Apple also have other interests to protect against the availability of high performance graphics in the browser.
Microsoft probably dragged its feet because it didn't want to invite OpenGL onto Windows in place of DirectX. However, as WebGL grew in importance the number of web sites that IE couldn't display properly became enough of an embarrassment for it to be adopted in IE11, even if it was a security risk and even if it did threaten DirectX.
Apple continued to play the security card until earlier in the week when it followed Microsoft and adopted the open standard that is WebGL.
One possible reason it has taken so long for Apple to recognize that a browser without WebGL is substandard is that it controls the App store with an iron fist and makes a lot of cash in the process. The danger of WebGL is that it allows the creation of web apps that do as much as a native app. If you want proof just check out the Google's Chrome experiments - which of course don't work on current versions of Safari. The point is that web apps don't need to be installed and hence they can't be controlled in the way that native apps can.
Another reason that probably motivated Apple to include WebGL in the mobile version of Safari is that the Desktop and Mobile OS are moving closer together and hence so are the two versions of Safari.
The new Safari interface of Yosimite has gone for a minimalist look resembling that on iOS7. It features an overhauled Private Mode, an improved tab view that provides a snapshot of all your tabs at once allowing you to create tab stacks from the same site and Spotlight search integration in the search-location bar.
Introducing the new interface at Apple's Worldwide Developers Conference (WWDC) on June 2nd, Craig Federighi, Apple's senior vice president of software engineering, said that the changes will highlight the websites that people are visiting, and not the browser itself, saying:
"We've in Yosemite been able to pack all of the power of the Yosemite UI into this single bar. There's more space for your content."
So Safari is even more capable of running web apps on a par with native apps.
Does this mean the death of the App Store?
Probably not because the App Store represents a single big point of contact between users and programmers. It is where they go to find a app that can be trusted - even if it costs more money. Programmers also find that they tend to make more money via the App Store simply because users are prepared to pay. A web app is a grubby thing and hard to find. It is probably going to continue to be the case that programmers will accept the App Store Gulag and having to give big chunks of money to Apple, simply because it is more profitable in practice.
Put like that it makes you wonder why Apple was ever afraid of WebGL.
One of the biggest problems programmers face today is making a single code base work across a range of systems. How a giant company like Google solves the problem is obviously going to be interesting. [ ... ]