So the cool thing about this demo was that I remember when it was first submitted many years ago and thought it a cool demo that demonstrated the viability of WebGL which I expected to take off a lot quicker than it has.
But I also recently came across madebyevan.com again by accident after researching the backing of different npm projects to assess which ones had good momentum or commercial backing behind them to assess their long-term viability, and noticed a lot of npm projects (~2M weekly) relying on esbuild [1] as a fundamental part of their build system due to its amazing performance [1].
All good except that the foundational part of many npm projects feature is mostly being maintained by a single developer [2], a @evanw who was also prolific in responding to esbuild's issue catering for different peoples issues & feature requests. I didn't think this level of investment in a popular OSS project was sustainable and hoped they had good sponsorship behind them, but was surprised that @evanw [3] didn't have sponsorships enabled which I thought strange as most authors of popular npm projects have good sponsorship, but upon further research it's because Evan Wallace's day job is as the CTO and cofounder of Figma - a popular company with ~10B valuation.
Which is great in that esbuild isn't at risk of being sporadically abandoned from its lead developer joining a new/demanding startup, on the other hand a foundational project in npm's ecosystem is being developed in the spare time of a Co-founder & CTO of a ~10B Co - who also creates great demos :)
I'm not super familiar with this area, but from my vantage point, it seems like WebGL didn't really take off because of the awkward timing. Right around the time it was being developed, the industry started working on a replacement for OpenGL. Hopefully WebGPU fares better, because I think 3D web experiences are full of untapped potential.
- iOS still doesn't support webgl 2.0 and webgl 1.0 is ancient
- browsers suck for 3D content in other ways too (slow load times, impossible to controll cache/asset loading/storage, etc.)
- the above sucks even more when you are on limited connectivity/offline
- wasm load times also suck
- browser input is terrible for 3D
A lot of these could be fixed by providing some APIs but it's not in Apple interest to give you the tools to bypass their appstore tax. And web standards take forever to develop. I lost enthusiasm about webgl back in 2016 when it was already ancient and showing no signs of fast cross browser adoption.
Apple enabled WebGL 2.0 by default as of iOS 15.0, and Apple was the company who proposed WebGPU to the W3C (which was its own news story because Apple started the debate over shader language)
That's interesting, I had no idea they were the ones that proposed it. Everything I've read paints them as the odd one out, since they're going their own way with Metal and not Vulkan.
What they initially proposed was essentially WebMetal. Their likely reasons for doing so were to force a change in venue to W3C instead of Khronos, and preempt any attempt at a WebGL 3 or WebVulkan, due to their ongoing legal dispute with Khronos (also the reason they deprecated OpenGL).
"browser input is terrible for 3D" doesn't make sense. The web version of game streaming services like Stadia use browser input and they work fine.
Offline storage of gigabytes of assets is tough, that's a valid criticism. But that is not a deal breaker for many applications. Hopefully we'll see more movement on this.
A lot of the load time issues with web games are just bad software architecture and can be solved by the same techniques web developers use: breaking assets and code into modules loaded on demand instead of giant monolithic wasm binaries or asset packs.
Agree, unfortunately Vulkan seems to repeat all the mistakes regarding tooling, extensions and expecting the community to come up with SDK like solutions, only at lower level, so a newbie suffers much less with OpenGL, despite its warts.
Exactly this. I've been trying to get a handle on Vulkan and it's just _dense_. The way it's written I feel like you basically have to understand GPUs inside and out to use it. There's no such thing as a 'reasonable default' to it. WebGPU is a bit better, but still quite dense. We absolutely need a standardized higher level interface to the hardware, but like you said, that's not what Vulkan is.
But I also recently came across madebyevan.com again by accident after researching the backing of different npm projects to assess which ones had good momentum or commercial backing behind them to assess their long-term viability, and noticed a lot of npm projects (~2M weekly) relying on esbuild [1] as a fundamental part of their build system due to its amazing performance [1].
All good except that the foundational part of many npm projects feature is mostly being maintained by a single developer [2], a @evanw who was also prolific in responding to esbuild's issue catering for different peoples issues & feature requests. I didn't think this level of investment in a popular OSS project was sustainable and hoped they had good sponsorship behind them, but was surprised that @evanw [3] didn't have sponsorships enabled which I thought strange as most authors of popular npm projects have good sponsorship, but upon further research it's because Evan Wallace's day job is as the CTO and cofounder of Figma - a popular company with ~10B valuation.
Which is great in that esbuild isn't at risk of being sporadically abandoned from its lead developer joining a new/demanding startup, on the other hand a foundational project in npm's ecosystem is being developed in the spare time of a Co-founder & CTO of a ~10B Co - who also creates great demos :)
[1] https://github.com/evanw/esbuild
[2] https://github.com/evanw/esbuild/graphs/contributors
[3] https://github.com/evanw