Apple Seeks To Position Metal as Part of New 3D Graphics Standard For Web (appleinsider.com)
Mikey Campbell, writing for AppleInsider: Apple's WebKit team on Tuesday proposed a new Community Group at the World Wide Web Consortium (W3C) that will focus on developing a new standard API, perhaps based on Metal, for accelerating GPU-based 3D graphics and general computation for the web. Announced through Apple's WebKit blog, the new 'GPU for the Web' Community Group will discuss a potential next-generation web graphics API that can better leverage modern GPUs. Along with 3D content, Apple proposes GPU architecture might also be used to accelerate general web computations. As noted by Dean Jackson from the WebKit team, advancements in the GPU hardware space has led to identical enhancements in software APIs. He cites platform technologies like Apple's Metal, Microsoft's Direct3D 12 and the Khronos Group's Vulkan as offering lower overhead, and thus better performance, than the OpenGL standard. Unfortunately, the new graphics APIs contain nuanced architectural differences and are not available across all platforms, making them unsuitable for wide implementation on the web.
Where in the article does it suggest that Apple is making a power play here to position Metal like the headline says? This really doesn't have a whole lot to do with Metal specifically, and is instead about leveraging the entire class of APIs that have been coming out that are closer to the (lowercase) metal. In fact, they specifically said so in the summary:
As noted by Dean Jackson from the WebKit team, advancements in the GPU hardware space has led to identical enhancements in software APIs. He cites platform technologies like Apple's Metal, Microsoft's Direct3D 12 and the Khronos Group's Vulkan as offering lower overhead, and thus better performance, than the OpenGL standard.
The only thing special about Metal that's mentioned in the article is its role in the initial implementation. To pull the relevant quote:
While Metal appears to underpin Apple's initial web graphics proposal, the company does not expect its concept to become the ultimate standard. That said, it appears Apple is angling to take Metal cross-platform.
"We don't expect this to become the actual API that ends up in the standard, and maybe not even the one that the Community Group decides to start with, but we think there is a lot of value in working code," Jackson says.
So, basically, Apple folks have access to Metal and understand how it works, so they're starting with what they know and have so that they can get the ball rolling quickly. Where it goes from there is up to the community, which, given Apple's typical approach their open source/community-driven projects (e.g. WebKit, LLVM, Clang, Swift, etc.), it's likely that they actually mean that. Of course, they'll no doubt use their role in the community to try and steer things to their own advantage, but if they do so too much it's likely that this will simply become another dead-end "standard" that no one adopts.
Everyone in the comments suggesting we should just use their favorite graphics API is missing the point entirely.
Neither Vulkan nor its competitors are safe to use with untrusted code from the web. Allowing any random web developer to have access to the full capabilities of any of those APIs is a recipe for disaster. This standard is, from what I can gather, intended to be a layer that abstracts away the underlying API, whether it be Metal, Vulkan, or Direct 3D 12, which should provide a safe means for using them.
For an initial implementation, Apple is providing a prototype that is compatible with Metal, given that they had apparently already done quite a bit of work mapping Metal to Javascript, but it's clear that the end goal with this standard is to provide something that is compatible with all of these close-to-the-metal APIs. I imagine that version 1 of the standard will resemble an intersection of features between the competing APIs, that way they can ensure the broadest compatibility right from the get-go.
In addition to but separate from the web standard, they're talking about taking Metal cross-platform. That wouldn't affect the web standard (which, again, should be able to work on top of any of these competing APIs), but it would ensure that the standard is usable on any platform they choose to support with Metal. If they do take Metal cross-platform, that would seem to suggest an uptick in their interest in creating web-based products that are consistent and in top-shape across a variety of platforms, in much the same way that Google created Chrome to do the same.