Third Room and Web Scene Graph: A New Web API for Spatial Collaboration
matrix.org
matrix.org
Given the blog post mentions that Matrix and Element are still suffering from lack of funding, it would mean that Element and the Matrix.org Foundation are considering that niche experiment as way more mission-critical for Matrix than moderation/trust & safety. Which feels absolutely insane to me. And it definitely does not make me confident in the fact that, should I decide to provide financial support to the foundation and/or Element, they would spend this money wisely in a way that improves Matrix as a whole rather than trying to make a niche point (that metaverse/AR use cases are possible on Matrix).
I love Matrix, and have been for years, but this does not make me feel confident in the future of the project.
Separately, “the entire Matrix trust & safety team” was not laid off - today there are somewhere between 3 to 5 people working one way or another on T&S (between tooling and operational) on behalf of Matrix at Element. I don’t blame folks who are laid off for feeling aggrieved though, but we categorically did not throw anyone under the bus (or, if we did, it wasn’t intentional).
That makes sense, thanks for the details. Though I would still argue that the way Third Room is communicated on sends mixed signals to anyone somewhat familiar with the space.
For example, having entire foundation-authored blog posts dedicated to updates to Third Room (which I did not think was a project owned and maintained by the foundation?), with demos published on foundation-owned channels, where other projects (e.g. Synapse, bridges, etc) don't get as much as a tweet nowadays (apart from the spec, i.e. Matrix itself), really sends me the signal that Third Room is one of the few projects the foundation is heavily investing on, with a higher priority than anything else. I'm aware that this blog post does mention where the project sits with regards to the foundation's resources, but I'm not really sure a lone paragraph is enough to shift the balance.
> Separately, “the entire Matrix trust & safety team” was not laid off
You implied otherwise back in December though: https://news.ycombinator.com/item?id=34130243
To be clear, I'm not commenting on the situation as it is right now (and I'm in no position of doing so, I'm only operating on publicly-available info and there isn't much to describe what's going on at the moment). What I'm commenting on is the decision back when Element laid off part of its staff to, according to the information available publicly, lay off the trust and safety team, but keep the third room team on board. Which imo sounds like Third Room being prioritised over moderation/t&s.
TR is a Foundation project - its repo is github.com/matrix-org/thirdroom (not github.com/vector-im); its copyright is by the Foundation, etc. And the point is to provide spatial collaboration building blocks for Matrix (just like Olm provides e2ee building blocks; matrix-js-sdk provides IM & VoIP building blocks) etc.
> where other projects (e.g. Synapse, bridges, etc) don't get as much as a tweet nowadays (apart from the spec, i.e. Matrix itself)
That’s my bad; the projects seem to have fallen into the habit of publishing and tweeting/tooting/skeeting their updates in TWIM (eg friday’s 1.0.0 release of the IRC bridge) rather than via individual tweets and blog posts like we used to. The reason is that the various projects prefer to write software than blog posts/tweets, and I’ve lapsed in writing the posts/tweets myself (given I spend my life trying to fix funding and get Element X shipped) and haven’t successfully handed over to someone else to do it. It doesn’t mean the work isn’t happening though; we’re just failing to show off about it.
> Which imo sounds like Third Room being prioritised over moderation/t&s.
The rationale is that if TR generates money, that money can be put to more T&S and the rest of Matrix. It’s a way of trying to fix the funding nightmare. If it doesn’t generate money (by attracting innovation funding from people who actually like the idea of open spatial collaboration), then obviously folks won’t be able to work on it as their dayjob as there won’t be $ to do so.
I guess one way of thinking about is that we model TR’s funding as separate from the rest of the Foundation - it has to be able to fund itself, and it is not stealing resources from elsewhere. (You could argue it steals focus, but in turn it exercises large chunks of Matrix - VoIP, Hydrogen SDK, SFUs etc, which I believe compensates for that, in combination with the marketing value).
TL;DR: if TR doesn’t pay for itself via its own funding or by generating cash, then we won’t have $ to pay for it.
This is a bunch of code & APIs. This isn't web-ish.
I'm glad there's community effort here on spatial, but I don't have a lot of hope they end results will have many of the advantages that have made the web medium the most powerful malleable pro-user software medium on the planet.
The data structure here is glTF.
> Web data structures should ideally be DOM.
WebSG is very close to DOM, as is obvious if you look at https://thirdroom.io/docs/websg-js/classes/WebSG.Node.html - complete with addChild, getChild etc. However, it's tuned for 3D scene graphs rather than ending up shoehorning graphics into the DOM API like SVG does.
Just a Canvas is also not DOM, but instead focuses on the specific problem of providing an API for immediate-mode graphics.
Meanwhile, glTF is gaining major traction and allows for 3D documents to be designed in a number of industry standard programs which 3D artists use to ship billions of dollars of games.
Hence providing a dedicated API for glTF rather than trying to pretend that it’s XML.
(Come to think of it, this is a pretty similar situation to JSON v XML in Matrix itself…)
If you want that contents to be modelled in the DOM instead, go look at A-Frame, I guess - but, trying to coerce glTF into XML so it's part of the HTML of the page would be as crazy as telling JavaScript that it's only allowed to store its state in the DOM and isn't allowed a heap any more.
What you are talking about is not hypermedia. It has no user malleability. You can't as a user go change a vertex. You can easily do that in aframe.
Canvas may be an html element but it's an opaque portal no better than Flash was. It's a low level hack to jump outside of the hypermedia page. The actual web is higher level elements.
Meanwhile, WebSG gives you malleability alongside a perfectly matched API to manipulating glTF. Okay, to browse the resulting object graph you use TR’s inspector rather than your browser’s devtools, but a dedicated 3D editor UI is obviously going to be better than flailing around in the HTML DOM.
Fonts & bitmaps seem like bad counter examples to me, disingenuous. Whether we use every outside resource as an excuse to say this doesn't need to be hypermedium, or whether we look opportunistically to build hypermedium as we can seems like a clash of dispositions.
I can try to check out this TR TP2 but I really think you are being extremely resistant to what makes the web excellent & throwing chaff. There's a lot of shallow prejudice that html should be kept small, is only for X or Y but not Z, and we keep getting better and better & making more & more excellent componentry that defies this eternal limited-minded doomsaying.