10 ms·
I'm not very much into chat apps and protocols, but isn't it possible to just revive XMPP? Ten years ago we used Adium and Pidgin, and federated chat seemed lik
by tannhaeuser 8y ago
I'm not very much into chat apps and protocols, but isn't it possible to just revive XMPP? Ten years ago we used Adium and Pidgin, and federated chat seemed like a solved problem. I understand XMPP with its extensions and use of XML fragments might be complex, but it sounds like matrix or another new protocol isn't easier. In a way, those willing to invest time into F/OSS chat apps have done the best they could with XMPP, and creating a new community around a protocol for no good reasons seems like a wasteful thing to do. XMPP folks shouldn't stop using it just because of Google's kiss of death.
- vbezhenar 8y agoNobody buried XMPP. Write good server and client, comparable with proprietary protocols by features and it might work.
- Arathorn 8y agoWe have almost finished a pretty decent XMPP to Matrix bridge, if you are attached to XMPP (https://github.com/matrix-org/matrix-bifrost https://github.com/matrix-org/matrix-bifrost with a bridge running at bridge.xmpp.matrix.org). However, Matrix has a fundamentally different architecture: replicating conversation history over a full mesh of participating nodes, rather than passing messages via a star topology, and we opted to build that as a fresh stack rather than creating a mutant hybrid of XMPP.
- MattJ100 8y agoI'm so happy this bridge exists. I'm using it to join rooms of some open-source projects that opted to use Matrix, and I know of some people on Matrix using it to join similar rooms on XMPP. Meanwhile both sides get to use free and open communication protocols :)
- hannob 8y agoMatrix is the perfect example of xkcd 927 - https://xkcd.com/927/ https://xkcd.com/927/ They built something like XMPP, just a bit different. What they got is more fragmentation in the space of free messaging. None of the justifications they have how their approach is different justifies the costs of additional fragmentation they create. This is super frustrating, people don't seem to have an understanding what the costs of incompatibilities are. You can also observe pretty much the same at the micro level of within XMPP and encryption standards, where everyone seems to think the solution is yet another encryption standard instead of having just one.
- Arathorn 8y agoI'd counter and suggest that the super frustrating thing is XMPP zealots saying "oh my god how dare you try to create a different protocol". With this mentality, nothing would evolve and we'd be stuck on svn rather than git... To reiterate once again, the things which Matrix tries to do differently to XMPP include: * Be a replicated conversation database for realtime conversations, more like usenet (NNTP) if anything than IRC or XMPP or SMTP (or, alternatively, an open standard alternative to Slack, which is also focused all around syncing conversation rather than passing messages). * All conversations are group conversations. There are no such thing as 1:1s; just a room with 2 people in it. * To be clear: there are no APIs to send a message from one user to another in Matrix. Instead, you sync a message to a room, which updates its conversation history, and the history update is then synced to all the other servers (and users) in the room. * Have a single monolithic versioned protocol (https://matrix.org/docs/spec https://matrix.org/docs/spec) rather than a finely granular cloud of XEPs which may or may not be compatible or best practices or implemented at any given point. * Build in E2E encryption from the outset. * Implementation before formalising spec * A "there is not more than one way to do it" mentality on developing the spec (i.e. a python rather than a perl approach) Meanwhile, we have spent a lot of time writing decent bridges to ensure that we do not fragment communication with chat systems - be they open or closed. For instance, right now, I see 41 people participating in Matrix HQ from XMPP, ~200 from IRC, ~40 from discord, ~20 from telegram, 5 from slack, and the rest (~3000, including idlers) from elsewhere in Matrix.
- Hendrikto 8y ago> we'd be stuck on svn rather than git... Don’t you mean CVS?
- emias 8y ago> I'd counter and suggest that the super frustrating thing is XMPP zealots saying "oh my god how dare you try to create a different protocol". I see no such consensus within the XMPP community, but yes personally I agree with those zealots. My interest in federation is making it possible to communicate with anyone just like I can call anyone by phone. Inventing an incompatible protocol obviously won't help with this goal, even if you ignore the issue of splitting up scarce manpower and assume bridges can act as a partial workaround (at least for geeks who can cope with their limitations). > With this mentality, nothing would evolve and we'd be stuck on svn rather than git... Comparing XMPP to SVN and Matrix to Git just reads like trolling to me. The obvious difference is that XMPP is highly extensible while SVN is not at all. So the discussion is not about whether or not to evolve, the question is whether evolving federated IM required starting from scratch, i.e. whether the advantages are worth the resulting fragmentation. And I just fail to see the problem in using/extending the XMPP spec to replicate your DAG.
- pedroaraujo 8y agoWhy are people so attached to XMPP? There was no entity preventing XMPP from thriving, if the community really wanted XMPP, we would have had XMPP everywhere. But honestly, as someone who ran and tried to use XMPP for many years, the entire protocol was an unmaintained divided mess. And the XEPs didn't help, they felt like hacky workarounds to keep an old protocol up-to-date with the modern needs. Matrix feels very consistent, specially in the client side. I have all the modern features one could have wanted (E2E encryption, video and audio calls, file sharing, proper synchronization across multiple devices, etc) working out-of-the-box across all my devices. This was almost impossible to achieve with the XMPP clients existent nowadays.
- superfist 8y agoI have very same impression. XMPP is basing on XML where parsing is order of magniture more complex than JSON. In lot of ways very similar to SOAP mess where you could not comunicate across different software because each of them supportet different set of SOAP extensions and good luck with communicating with web client.
- bmn__ 8y ago> XML where parsing is order of magniture more complex than JSON You're supposed to use an off-the-shelf XML/JSON parser, not write it yourself.
- JeremyBanks 8y agoEven if you don't parse it yourself, XMLs data model is usually more of a chore to consume.
- tannhaeuser 8y agoXML/SGML is highly appropriate for representing rich text, though, which is the purpose of chat apps/logs. Using JSON you'd have to invent ad-hoc markup on top of JSON, loosing any advantage it may have.
- MattJ100 8y agoPlenty of us are still working on XMPP, and there are thousands of XMPP servers and many more users on the network. It's true that since the original Jabber project began in 1999 there was a vision of giving users freedom of software and service, yet that vision is still nowhere near reality in 2019. But we are still an active community and still work towards that vision. XMPP is not dead. Unfortunately Pidgin and Adium were two of the most popular clients for XMPP, and their development (in Adium's case) and XMPP development (in Pidgin's case) has almost completely stalled, which is unfortunate. Alternative XMPP projects are still very actively developed. The XMPP community recently began holding sprints, where a bunch of us get together in real life to focus on specific topics, such as UX and interop. It's been great!
- arendtio 8y agoFor those searching a very simple to use XMPP client: Quicksy.im: https://play.google.com/store/apps/details?id=im.quicksy.client https://play.google.com/store/apps/details?id=im.quicksy.cli... It is a fork (same developers) of the popular Conversations client, which does not bother you with provider selection and such kind of technical decisions. If you just want to try XMPP or invite someone, it is probably the easiest way to start with.
- paulcarroty 8y ago> and there are thousands of XMPP servers proof please. Checked the top 3-4 xmpp servers last summer and they almost died. IRC looks 1000000x more active.
- MattJ100 8y agoI'm not sure how you are judging "activity". I suspect you are talking about chatrooms. In this sense, yes, IRC probably would look pretty active - it is built around the concept of channels, the majority of which tend to be public. XMPP is far more diverse, rooms are spread across multiple servers with no central way to list them. A project that aims to spider the network and help find rooms is at: https://search.jabber.network/ https://search.jabber.network/ (note that this doesn't currently index jabber.org, traditionally one of the larger hosts, due to a technical glitch I believe). My mention of thousands of servers is not related to public chatrooms however. There are a bunch of public servers which you can register accounts on, but many more private ones (that federate) run by businesses and individuals and other organisations. A quick shodan search reports 55,760 unique IP addresses speaking XMPP publicly on port 5269 (the default federation port): https://www.shodan.io/search?query=port%3A5269+http%3A%2F%2Fetherx.jabber.org%2Fstreams https://www.shodan.io/search?query=port%3A5269+http%3A%2F%2F...
- unicornporn 8y ago> isn't it possible to just revive XMPP? Please no. XMPP has adapted over time to support various chat and instant messaging features that we today take for granted. These adaptions come in the form of Extensions[1]. A year ago I spent about two hours with a geek friend to configure something that resembles what we get from any other instant messenger today. That's not acceptable to the outside world. Meanwhile, Matrix just worked. Granted, UX involved with the key management associated with E2EE was not what it should have been. But, that has largely been fixed in v1.0. Funny thing, Matrix is still struggling (like every other federated network) to explain the concept of federation. People may have grasped email, but for some reason it seems hard to translate that knowledge to other federated technologies. To suggest that we should just go back to XMPP seems like insanity to me. Matrix stands a chance. It's freaking wonderful! [1] https://xmpp.org/extensions/ https://xmpp.org/extensions/
- Leace 8y ago> Funny thing, Matrix is still struggling (like every other federated network) to explain the concept of federation. Are there any data on how federated is Matrix? I mean number of users on different servers. From my experience most of people are on matrix.org server and even if they run their own homeservers the identity server is still vector.im.
- Arathorn 8y agoFrom memory, about 50% of the users visible in Matrix are on the matrix.org server, which is one of about 30K deployments total that we're aware of, directly or indirectly. This will likely change in the near future as the French deployment expands, which should dwarf the matrix.org server. In the medium/long term, we'd like to at least disable registration on the matrix.org server if not turn it off entirely (once decentralised accounts land). The identity server is used ONLY for mapping email addresses and phone numbers to matrix IDs, and is strictly optional, so I'm not sure it counts as centralisation. We are also hoping to remove it entirely from the mix in future (switching to storing 3pid->mxid mappings per room instead).
- 8y ago
- arendtio 8y agoI am completely on your side. Matrix did improve upon the state of XMPP in 2012. But XMPP improved too and therefore the problems we had 2012 are not relevant anymore today. There is just one big problem with XMPP nowadays: Very few people are interested in XMPP as everybody wants to learn the new shit aka Matrix. And actually, that is the one thing I blame the Matrix devs for. Instead of improving an existing open IETF standard they decided to invent something new and split the community. Technologically, Matrix is neither better nor worse than XMPP, as far as I can tell, but splitting the community wasn't such a brilliant idea.
- feanaro 8y agoWell it is better in some regards, such as each server being an independent store of events of all rooms in which its users are participating.
- Leace 8y agoThe problem of XMPP is just lack of good clients on some platforms, most notably for iOS. For Android there is an excellent Conversations.im client [0] that I've successfully use with my non-technical family and friends. (There is also Quicksy [1] that uses phone numbers for onboarding but it's XMPP all the way down). Conversations doesn't use a lot of battery (anecdata but it's 1% on my phone) and just works. [0]: https://conversations.im/ https://conversations.im/ [1]: https://quicksy.im/ https://quicksy.im/ As for servers ejabberd is successfully used from small deployments to big MMORPGs. The team is extremely focused on performance and from what they say XML isn't actually a big performance problem. Prosody, another server, is in my opinion also high quality, even though it's developed in free time (AFAIK). The "myriad of extensions" is mostly solved problem due to Compliance Suites and automated testers [2] (think SSLLabs) that people use to get their servers in shape. [2]: https://compliance.conversations.im/ https://compliance.conversations.im/ For the record I've used Matrix for work too and it's not bad, the clients are decent (I've used web client), but it's not a revolution especially if one's contacts can use Conversations, that, in my opinion, is just very good.
- DygFiul 8y agoI have to agree and disagree. I agree, that XMPP clients are not very good. And horrible on iOS (and MacOSX). I disagree, that Matrix has good clients. Riot is an OK web client, but too slow and too confusing for my taste. And native desktop clients, like Nheko or Quaternion, are not yet very useful. XMPP has many more mature clients at the moment.
- ktosobcy 8y agoIn case of iOS/macOS - there are: * BeagleIM by Tigase (https://beagle.im/ https://beagle.im/) for macOS * Tigase Messenger for iOS (https://itunes.apple.com/us/app/tigase-messenger/id1153516838 https://itunes.apple.com/us/app/tigase-messenger/id115351683...)
- Ntrails 8y agoI still use pidgin for my "eve online chats" and it continues to do all the things I need pretty effectively. I've had a couple of slacks and a couple of discords over the years and they really haven't improved on many axes at all.
- deleted 8y ago[deleted]
- DygFiul 8y agoNice, if XMPP works for you, but I hope do not use Pidgin or Adium nowadays. They still work, but AFAIK, they do not support newer XMPP features, such as encryption using OMEMO, HTTP upload, message archive management, etc. There are nice, modern XMPP clients like Conversations on Android, Gajim on Linux and Windows, etc. that do support the latest XMPP features and are much more pleasant to use today.