8 ms·
The Matrix Space Beta
- brunoqc 5y agoFinally!
- Evidlo 5y agoSo I understand why the spaces api is similar to rooms from a developers perspective, but why do they share the same # sigil as rooms and not take the old + community sigil? Spaces seem conceptually different from rooms.
- Arathorn 5y agoUnder the hood, spaces are rooms - and we made the decision to keep using a # sigil to refer to them, given the act of joining and being invited and having multiple aliases etc is the same as a room. When you say “hey, come join #community:matrix.org” does it really matter if the thing you are joining is a room or a set of rooms? That said, it’s subjective, and we went back and forth on it. My original proposal had a twigil of #+wherever:example.com, which in retrospect was daft. I think it was a member of the community who proposed just using plain # aliases - hard to tell given https://github.com/matrix-org/matrix-doc/pull/1772 https://github.com/matrix-org/matrix-doc/pull/1772 is so heavily commented that it crashes if you expand the comments :/
- zamadatix 5y agoSorunume suggested just + then later Alch-Emi made the case for just #. https://github.com/matrix-org/matrix-doc/pull/1772#discussion_r405933637 https://github.com/matrix-org/matrix-doc/pull/1772#discussio...
- feanaro 5y agoI agree. There has been some discussion regarding this and I think it's likely Spaces will get their own sigil (but not sure whether it will be +).
- viccuad 5y agoWohoo! Thanks to Spaces, I feel comfortable using Cactus comments for blog posts (e.g: https://viccuad.me/blog/enabling-cactus-comments https://viccuad.me/blog/enabling-cactus-comments), as I could create a private space containing all the rooms for each blog post comment chain. To me it shows the snowballing effect of features. Also, Matrix's Spaces (even in Beta) seem more flexible and thought out than the second best implementation I know, in Slack.
- capableweb 5y agoDefinitely check out Zulip for a pretty sweet threaded model also: https://news.ycombinator.com/item?id=27149123 https://news.ycombinator.com/item?id=27149123
- Arathorn 5y agoMatrix’s threading model has been designed to support Zulip (we’ve chatted a bunch to Tim about linking them up) - the only catch is that it’s not implemented in any clients other than Cerulean so far. Element should add support soon now Spaces are out though.
- vlmutolo 5y agoWhat's the Matrix analog for Zulip? My understanding of Zulip is that you have an instance, streams in that instance, and topics in that stream. Maybe in Matrix the hierarchy would be implemented by nested spaces? A space for the stream and one for each topic? That would probably work if not for the critical Zulip feature of being able to move messages between topics (and between streams?) to better organize the conversation. Maybe one Zulip instance is a giant Matrix room and the threading model that's landing soon is used to implement the relationships? I know the upcoming threading model can dynamically change event relationships. But then maybe it would be better to avoid giving single rooms that much traffic. There are probably lots of ways to implement that functionality. I'm curious as to what you were thinking.
- 5y ago
- Arathorn 5y agoalso https://news.ycombinator.com/item?id=27185737 https://news.ycombinator.com/item?id=27185737 :)
- smbv 5y agoOnce this becomes widespread, I can actually start using Matrix as a real Discord / Slack alternative (communities just weren't cutting it, unfortunately).
- casual-dev 5y agoOnce the audio chat feature is seamlessly integrated, I even consider ditching my old mumble server for it. Or not. Probably not. Our group just needs audio, with the occasional picture flood, until they get it out of their system. Since some (me include) won't use Discord due to privacy concerns, I still hope for a good and reliable self hosted alternative. A more modern user interface sure would be nice.
- Arathorn 5y agovoice/video rooms are planned for June.
- ripdog 5y agoGreat to hear! I'd love to be able to recommend Matrix/Element as a Discord alternative. However, actually competing with Discord will require a tonne of hard work in Element. The little things like automatic voice activation, echo cancellation and volume normalization are the reasons Discord are as fantastic as it is, so Element will need to be excellent with those to compete.
- Arathorn 5y agoThe first cut will be using Jitsi as the engine, albeit with more appropriate UI, which gives you AEC (echo cancellation) from WebRTC and some level of AGC (normalisation). But we have plans to go far beyond that, and are very aware it’s hard work. However, pre-Matrix, the core team professionally built VoIP stacks, so we have some experience here (and our own WebRTC implementation should we need it :)
- 5y ago
- Arathorn 5y agoFor what it’s worth, the thing I find most exciting about Spaces is that they provide a decentralised hierarchical namespace with decentralised access controls for every room (ie pubsub topic) in Matrix. So it’s like we’ve sprouted an openly federated global hierarchical filing system for freeform realtime data streams of all flavours - where people can go crazy defining their own trees, applying their own curation ideals; perhaps we’ll even see a single global tree emerge (although the implementation may need some more optimisation first). It’s like a multiplayer hybrid of DMOZ and USENET and the read/write Web all rolled together. Once we start storing more interesting data streams than instant messages in it (eg forums, email, bulletin boards, DOMs, scene graphs, ticker data, IOT sensor data...) it really gets interesting :) Plus you can use it to organise your own rooms and have Discord style communities or Slack style workspaces, but that’s the boring obvious bit ;) Edit: for a user-facing rather than developer-facing overview, https://element.io/blog/spaces-the-next-frontier/ https://element.io/blog/spaces-the-next-frontier/ has more details.
- nerdponx 5y ago> Discord style communities Boring and obvious, but this is probably what most people would want. Now that we've seen how good and usable the Discord model is, it's pretty much the baseline now for public chat rooms.
- Arathorn 5y agoyup, and to be clear, that’s why we built Spaces. doesn’t stop the “wow we accidentally created the realtime read/write web” thing being cool tho ;P
- spicybright 5y agoIt sucks there's no open source project that mimics discord well. They all shoot themselves in the foot by over complicating the model. It confuses users, and makes creating stable clients hard. I don't want a tool-box of primitives and a recipe book. I want a decentralized discord clone not owned by a giant company. Let's start there and add the crazy stuff later.
- gfodor 5y agoThis is really cool tech. I'm using it in my "Discord meets Minecraft" app (jel.app), it's basically exactly the primitive missing to really have a multi-tenant story for these kinds of chat systems.
- danellis 5y ago> As many know, over the years we've experimented with how to let users locate and curate sets of users and rooms in Matrix. Back in Nov 2017 we added 'groups' (aka 'communities') as a custom mechanism for this - introducing identifiers beginning with a + symbol to represent sets of rooms and users, like +matrix:matrix.org. We already have a universal notation for identifying resources on the Web. Why not use that?
- derin 5y ago...because it's a different protocol with different needs that are satisfied by its own notation? Edit: Just read Arathorn's comment above, very cool - I hadn't seen that one before.
- Arathorn 5y agoThat would be https://github.com/matrix-org/matrix-doc/pull/2312 https://github.com/matrix-org/matrix-doc/pull/2312, which is merged and registered with IANA and coming to a web browser near you real soon now.
- sneak 5y agoDo the Matrix clients still phone-home to some centralized server (Vector, I think it's called) as well as to matrix.org on every launch? That's what kept me from switching last time; to me a federation client that's going to phone home to a central server is no better from a privacy standpoint than using Signal (which isn't federated but is also end to end encrypted and phones home to its centralized server), and Signal's UX is better thus far. If that can get solved (and it seems like it can), Matrix looks like it's going to be super awesome.
- viccuad 5y ago> Do the Matrix clients still phone-home to some centralized server (Vector, I think it's called) There's no centralized server. There's a server with the majority of users for now (in matrix.org), but the network is decentralized, with many servers. The server implementation run by the majority is called Synapse, but there are others (Dentrite, Conduit, Construct..). I'm puzzled by this comment. Can you elaborate on what you mean by phoning home? Are you talking about https://element.io https://element.io, which points to matrix.org homeserver and signing server, etc? In that case, well, just use a different server and your own client. Or self-host, and select one of many clients: https://matrix.org/clients/ https://matrix.org/clients/. That's the whole point of federation. You can even deploy your own web client pointing to whichever server default you want, many people do. E.g: element.debian.social, chat.mozilla.org, etc.
- ajayyy 5y agoThey could be referring to the vector identity server for email/phone number -> matrix matching. I believe this is enabled by default on synapse installations (self-hosted ones too), but the URL can be changed in the config. https://matrix.org/legal/identity-server-privacy-notice-1 https://matrix.org/legal/identity-server-privacy-notice-1
- medstrom 5y agoThe relevant thing is whether the client enables it by default. From my experience, Element iOS doesn't.
- danShumway 5y agoPretty exciting stuff, still trying to wrap my head around some of the technical possibilities outside of chat. Just to be clear, a room can be contained in multiple spaces, right? Or even, if I'm understanding it correctly, in multiple places in a hierarchy in the same space? The Element blog post talks about setting up admin spaces and community spaces. So if rooms aren't exclusive to a single space I could build custom, private spaces that pull rooms from multiple different communities I'm a part of. That's a really cool feature that Discord doesn't have right now.
- ajayyy 5y agoThis was possible in the old Matrix community system as well, it acted more like a "filter" than a community though.
- vlmutolo 5y agoThere are lots of different things you can do with Spaces. But yes, you can build your own Space out of arbitrary rooms you don't own without anyone's permission. Then there are what you might call "canonical" spaces, where space A labels space B as its child, and B labels A as its parent. Then you know that the relationship between the two is mutual, and clients can take that into account. But you're free to create your own Spaces that are the parents of other rooms, where those rooms/spaces are unaware of the Space you created.
- hparadiz 5y agoA good and robust bot api and useful smart widgets based on url are a must. I've had chats go from discord to matrix and then simply die after a few days.
- Arathorn 5y agoMatrix's bot support should be excellent? It's arguably more robust than Discord's given it's an open API and there are tonnes of SDKs and bots building on it: https://github.com/turt2live/matrix-bot-sdk https://github.com/turt2live/matrix-bot-sdk, https://matrix.org/docs/guides/usage-of-matrix-bot-sdk https://matrix.org/docs/guides/usage-of-matrix-bot-sdk, https://github.com/bnjbvr/botzilla https://github.com/bnjbvr/botzilla, etc. What do you mean by 'smart widgets based on url'?
- hparadiz 5y agoThings like Spotify links turning into an embed widget. I've used the bots api for slack and discord in a corporate environment. Compared to that the matrix api is horribly behind and unreliable.
- Arathorn 5y agothanks; filed https://github.com/vector-im/element-web/issues/17396 https://github.com/vector-im/element-web/issues/17396 for widgets. Not sure what problems you're seeing with the Matrix API; it's lightyears ahead of Slack & Discord in my experience, but I guess i may be getting high on my own supply...
- hda2 5y agoWhat is the E2EE story for spaces? Besides space names and member lists which I assume are visible to the server like normal rooms, what other information is also visible to the home server? Are rooms/subspaces inside spaces also visible?
- Arathorn 5y agoSpaces are identical to rooms, which means that state events (key value data like name, membership, avatar, etc) are currently not e2ee, but conversation data would be e2ee if there was any. Encrypting human visible payloads for state events is on the roadmap however, but encrypting the metadata would be hard. For that, we are working on P2P Matrix to stop the metadata pooling anywhere.
- eitland 5y ago> For that, we are working on P2P Matrix to stop the metadata pooling anywhere. For everyone who just glanced through the comment above, this is big and a major selling point compared to most competitors (IMO).
- Arathorn 5y agoIt's also early beta, though (although we're committed to getting Matrix hybrid client-server & p2p in the medium/long term). https://matrix.org/blog/2021/05/06/introducing-the-pinecone-overlay-network/ https://matrix.org/blog/2021/05/06/introducing-the-pinecone-... has more on the latest developments on P2P (and public beta builds for iOS & Android) from a few weeks ago :)
- haolez 5y agoAnyone here using the Matrix ecosystem instead of Teams for a more "enterprisey" company?
- Arathorn 5y agoAt Element we have a bunch of customers doing so, but the one I can speak to most accurately is Element itself, as a company. Our internal space view looks like this, for instance: https://matrix-client.matrix.org/_matrix/media/r0/download/matrix.org/PTaFyifkyDdWMSKFrRxDLjKs https://matrix-client.matrix.org/_matrix/media/r0/download/m.... As you can see, it's pretty enterprisey - we even have HR rooms ;P
- anticensor 5y agoYou have forgot sanitising the screenshot before sharing with us.
- Arathorn 5y agoNope, I deliberately shared it unsanitised to try to demonstrate a real life enterprisey use case. There's nothing sensitive shown.
- AnonC 5y agoI looked at this post and the user facing blog post, but I’m not sure if I’ve understood this. Is it just a way to organize different rooms together for easy access (like Telegram’s folders, which is just for each person, but here these can also be shared with others)? If yes, then can someone please point to similar implementations (preferably with screenshots) on other platforms for comparison and where the similarities and differences lie?
- ptman 5y agodiscord servers/guilds, slack teams
- paraknight 5y agoThis is very exciting! Been waiting for this for a while