4 ms·
ELI5 ActivityPub vs xmpp semantics
by freeduck 9y ago
ELI5 ActivityPub vs xmpp semantics
- eeZah7Ux 9y agoAFAIK XMPP is more geared towards IM than microblogging and it's very complex and difficult to get right due to many extensions.
- JepZ 9y agoActually, I never did any XMPP coding but from what I belief it is more difficult to get it 'complete' then to get it 'right'. I mean you get it 'right' even with a minimal/core implementation but 'complete' only with about the 50 most common extensions. Getting it 'right' seems to be a problem when the XEP definition is open to interpretation. Nevertheless, I agree that it would not fit the XMPP ecosystem to be used as a micro blogging service. It's like using e-mail for IM: Possible, but not recommended.
- jcbrand 9y agoIt's absolutely possible to use XMPP for microblogging, via the PubSub extension, which most servers support. Check out Movim for an example: https://movim.eu/ https://movim.eu/
- ppjet6 9y ago> I never did any XMPP coding but from what I belief it is more difficult to get it 'complete' then to get it 'right'. I don't think there is a point in getting it complete. You choose the XEPs you want by looking at what your client/server goals are. Also if you need help in choosing, there are pointer XEPs, like the Compliance Suites, or the mailing list, or the chatrooms. See https://xmpp.org/community/ https://xmpp.org/community/ > Getting it 'right' seems to be a problem when the XEP definition is open to interpretation. When in doubt, ask the author/council.
- JepZ 9y agoFair enough, 'complete' might be the wrong word here too (as you do not have to support all XEPs), but currently my biggest problem is, that Conversations (Android XMPP client) works pretty good (something I would consider 'complete' in terms of messaging), but I could not find any desktop client which works on a similar feature level. For example how many desktop clients support OMEMO, MAM and Carbon copies? Those are just 3 XEPs all related to secure multi device communication. Yes, they haven't reached the status recommended yet, but I think that is more a symptom than the root of the problem.
- SamWhited 9y agoDesktop client support is lacking, but I think Dino (a relative newcomer) does a pretty good job of being compatible with Conversations and being "modern" (for some handwavey value of "modern") messenger based on XMPP: https://dino.im/ https://dino.im/
- JepZ 9y agoLast time I tried Dino was 4th August, but I can't remember what made me stick with Pidgin. But hey, if Sam Whited suggests Dino I will try it again :-D I love the XMPP and Golang stuff you are doing. And far as I can see it Dino seems to have pretty good XEP collection nowadays: https://github.com/dino/dino/wiki/Supported-XEPs https://github.com/dino/dino/wiki/Supported-XEPs
- SamWhited 9y ago> Last time I tried Dino was 4th August, but I can't remember what made me stick with Pidgin. Dino's still relatively new software so it may not be all that stable yet (I don't actually use it enough to know). I hope it works out for you though; it looks nice if nothing else! > I love the XMPP and Golang stuff you are doing. Thanks! It's still very early days and I don't get a lot of time to work on it, but I'm glad someone has seen it and found it useful.
- goffi 9y agoThat's not true. XMPP can do far more than instant messaging, and it's definitely not complicated (well for a decentralized network and for technical audience of course). For the record I'm the main developer of a XMPP based "social network" project (Salut à Toi), and we are able to communicate natively with others XMPP projects (e.g. Movim) for years (we can share comments like in the video, it's the basis of common standard). The "many extensions" thing is commonly misunderstood by non XMPP people thinking that it's making software more complicated or hard to maintain. But it's not true: extensions is a strength of XMPP allowing to concentrate on one feature at a time, evolve it, change it if needed, and there is a very good negotiation mechanism. Software are evolving, and it's normal that different clients/servers have different feature, but even with that they can still communicate together. The case is common actually: the websites on your browser can test for implemented features in javascript for instance before activating this or that. XMPP is not a single technology but a base to support many coherent technologies, for many different use cases. To go back to this ActivityPub, while I'm a bit annoyed that nobody tried to contact us to join our efforts on XMPP, resulting in yet another standard, at least if it's followed by some platforms, it may simplify the creation of gateways. I've looked at the specs, I don't think that putting "like", and "followers" as the main feature of a social network is a good idea. At first sight, it doesn't seem too difficult to translate to XMPP.
- mindB 9y agoThe problem I've always had with XMPP is that any time I try to do something with it, I get lost in an endless sea of RFCs with no idea of which are important for my use-case (most RFC titles seem fairly jargon-heavy to me). Then, when I go to read an actual RFC, because of the fact that each RFC has some interactions with all other RFCs, they're fairly impenetrable. Is there a document somewhere collecting the most essential XMPP stuff you need to be aware for different applications (e.g. chat client, XMPP server, XMPP social network client, bridge between XMPP and other protocols, etc.) and presenting it in a concise way that doesn't require navigating a vast sea of documents? Do you have some other recommendation for how to get into the XMPP world?
- goffi 9y ago