[HN Gopher] Jabber.org has migrated to Prosody IM
___________________________________________________________________
Jabber.org has migrated to Prosody IM
Author : neustradamus
Score : 122 points
Date : 2023-01-19 12:32 UTC (10 hours ago)
(HTM) web link (www.jabber.org)
(TXT) w3m dump (www.jabber.org)
| saghul wrote:
| Very happy for Matt and the Prosody team. This is further
| validation of their good work.
|
| We use Prosody successfully for powering the signalling in Jitsi
| Meet. Its extensibility has allowed us to develop many many
| features easily.
| siparikh wrote:
| I agree. Matt and his team are very active in the community
| helping others implement Prosody and make use of XMPP. He even
| took the time to provide me with helpful feedback a few years
| ago[1] when I took my first steps with XMPP.
|
| [1] https://samirparikh.com/blog/this-is-how-you-run-an-open-
| sou...
| solarkraft wrote:
| My one experience with Prosody was writing a plugin to extend
| Jitsi Meet to show a list of the available conferences and
| their participants before you join (never got around to
| developing it beyond the prototype stage, but at least a
| deliverable that came out of it is a thorough explanation of
| how to use lib-jitsi-meet that I felt was missing:
| https://github.com/solarkraft/lib-jitsi-meet-demo - I still
| believe the feature to be important for allowing spontaneous
| meetups -don't you want to steal my idea?).
|
| What the hell, I hated it. The parts I needed were super under-
| documented and Lua/their implementation of it lacks so many
| features normal languages have - I had to copy a lot of things
| together from the web to answer basic questions like "what
| properties does this object have".
|
| To their credit the people in the chat room were very
| responsive and helpful; I probably should've asked there
| earlier instead of making sure I don't ask a redundant
| question.
|
| How do you develop your Prosody plugins? Did I miss some
| obvious way to set things up so that it's actually convenient?
| I used the Docker Jitsi Meet setup.
|
| And, while you're here, maybe you could explain the reasoning
| behind break-out rooms not just being their own conferences (or
| so it seems to me).
| MattJ100 wrote:
| Prosody developer here. Sorry that your first experience
| developing with Prosody was a poor one. I think about this a
| lot - we've had a lot of people come from the direction of
| Jitsi, wanting to extend things for various purposes, and I
| understand that, depending on what you are trying to do, it
| can be like jumping in at the deep end.
|
| All at once, not only do you have to suddenly grok Lua and
| Prosody's APIs, but also XMPP and the way that Jitsi uses it.
| Prosody's API documentation typically assumes you understand
| XMPP concepts and what you are trying to do with them.
|
| I also generally only hear from people after they've already
| tried and struggled (they either reach out then, or I hear
| the story later on after they've given up). Unfortunately
| this means we don't get much useful feedback from folk like
| you who are trying to build upon the Jitsi/Prosody duo.
|
| I've thought about some Jitsi-focused developer docs, and
| possibly even an additional API layer that presents things
| using high-level Jitsi concepts rather than the low-level
| XMPP concepts. But I don't know how much demand/interest
| there actually is, or whether I'm even barking up the right
| tree with these solutions.
|
| Anyway, this is something I'm aware of and I appreciate any
| specific feedback - you can email developers@prosody.im to
| reach us.
| solarkraft wrote:
| Thanks for responding!
|
| I did find it a bit hard to understand how Jitsi Meet works
| with XMPP and documentation on that would make development
| much easier (finding the right events to listen to, for
| example). Understanding XMPP was a bit of a hurdle as well,
| but I found it rather easy to clear (just some effort)
| because the specification is very clear.
|
| The hardest parts were really the Prosody bits. "Why does
| my plugin not load", "What the hell does this method
| return", "Which methods are even available", "So how the
| hell do I actually use this WebSockets plugin now" - stuff
| like that.
|
| I don't remember the specifics very well because I did it a
| while ago, but few end-to-end tutorials with tips on
| finding the answers to my questions (where in the code do I
| have to look/what can I infer from it?) would likely have
| helped a lot.
|
| This interaction may just encourage me to have a look
| again. I'll keep in touch this time, thank you for caring.
| KRAKRISMOTT wrote:
| I don't think the difficulty of the Lua language is the
| issue. Lua is very easy for web developers (same
| abstraction level as JS). The issue is that a great number
| of Lua developers enjoy abusing the metaprogramming
| functionalities for basic APIs. Not everything needs to be
| a meta table, a simple method call or getter/setter
| function is more than sufficient.
| nirvgorilla wrote:
| I really like Jitsi Meet. In about 30 minutes I went from
| nothing to a fully working Jitsi Meet server and a fully
| working Excalidraw whiteboard! Now I use Jitsi Meet all the
| time for quick discussions with random people about all sorts
| of topics of interest to me.
|
| https://www.youtube.com/watch?v=4rlffwHUchk
|
| Granted it took me months to get to this point being new to
| Linux and not knowing anything about Prosody, Jibri, or even
| what a repository is. :D
| atsmyles wrote:
| Thank you for Jitsi. I use it all the time.
| daneel_w wrote:
| Prosody (server) and Monal (iOS client) make a great combination.
| I'm not aware of anything for Android that's as elegant as Monal
| but I'd be happy to hear people's suggestions.
| Semaphor wrote:
| Conversations (OSS) is usually the gold standard on android.
| deaddabe wrote:
| Conversations [1] is the best Android XMPP client I know. IIRC
| they pushed the adoption of OMEMO and implemented it first,
| before the desktop clients could catch up.
|
| [1] https://conversations.im/
| Ambolia wrote:
| What happened with XMPP? Seems like the fragmentation of
| extensions kind of broke the client/server ecosystem, but the
| fundamentals seem solid, used by Whatsapp successfully, but for
| some reason recent open messaging alternatives seem to decide to
| develop new protocols rather than build on top of XMPP.
| ilyt wrote:
| > Seems like the fragmentation of extensions kind of broke the
| client/server ecosystem
|
| It did. It was bigger and bigger mess, which feature in which
| client was supported by what server. I still remember how
| spotty basic stuff (nowadays) like "send file to someone" was.
|
| And then corporations happened. There was a brief beautiful
| period of time where you could just put up your XMPP server and
| chat both with Google and Facebook users directly, but
| companies figured out closing down their gardens is more
| profitable and it was no longer the case
|
| > but for some reason recent open messaging alternatives seem
| to decide to develop new protocols rather than build on top of
| XMPP.
|
| Coz it is a fucking mess of XEPs spottily implemented between
| clients and servers, and not always that user friendly.
|
| If you can control server, protocol and client you can _just_
| implement stuff. You don 't need to make a spec, hope other
| people's client implement it, start using it in your server,
| and hope everyone else agrees on it too. And you can just
| deprecate stuff that turned out to not work well, or just need
| to be done differently.
|
| Frankly, XEPs shouldn't exist. There should be _just_ XMPP 1.0,
| 2.0, 3.0 etc. with _maybe_ optional "XMPP voice comms", "XMPP
| video comms" pack of features (for those cases where full
| voice/video chat is not relevant).
|
| You either implement all or are noncompliant, no more "well,
| you send a message but target client doesn't support this XEP,
| they get garbage"
| MattJ100 wrote:
| Breaking the existing deployed network every time a new
| feature is added is unfortunately not a solution for an open
| ecosystem. While there are obviously limits to how far
| backwards compatibility should go, it doesn't make sense to
| deny users basic messaging just because their app doesn't
| implement calls for example. That would just cause a
| different set of frustrations.
|
| I wrote a bit about this dichotomy in this blog post a couple
| of years ago: https://snikket.org/blog/products-vs-protocols/
| Communitivity wrote:
| XMPP, to my knowledge, pioneered the concept of a micro-
| kernel standard with feature extensions and profiles to
| indicate standard sets of extension support. It was, and is,
| a great idea for many standards. Unfortunately, a number of
| servers and clients ignored the profiles and so things went
| the way they did. XEPs were a great idea, in my opinion.
| rakoo wrote:
| > What happened with XMPP?
|
| There never was meaningful money behind it. It seems the only
| way a protocol can ever grow today is by having for-profit
| companies sponsoring its development, doing the marketing,
| pushing it to individuals, companies and public services.
| That's not too hard to understand: at some point you need
| people working on it, and in a capitalistic society you need to
| pay them, and thus you need to somehow make money. Even with
| all the goodwill and proper licenses and all, you need massive
| humanpower.
|
| Google, Whatsapp, Fcaebook all used a form of XMPP but never
| intended to propel it as a federated protocol, only for their
| own usage.
| amysox wrote:
| Well, I can't say we didn't try.
|
| I remember how excited my boss, Andre, was when he discovered
| the Jabber protocol. He convinced Webb Interactive to spin
| off Jabber.com as a subsidiary, and I went with him. Our
| first space was the former office of Webb's chairman, with
| four of us in there. Later, when the company moved from
| Glenarm Street to Wynkoop Street, we had part of the floor
| above Webb's floor. I spent a lot of time working on the
| bridge from Jabber to ICQ, which was always kind of touchy.
| And we did have a nice booth at the O'Reilly Open Source
| Conference in Monterey.
|
| Then came the dot-com crash, and Andre was forced to lay off
| a bunch of people, including me. He didn't _want_ to do it; I
| think he was as much in tears as I was. Eventually, I
| understand, Jabber.com was bought by Cisco. And Webb
| Interactive eventually kind of sputtered out.
|
| I had some rough times, but I'm doing a lot better now after
| a bunch of other job moves (not to mention a gender
| transition). Andre's got Ping Identity now, and he's finally
| having the kind of success he deserves.
| seba_dos1 wrote:
| Nothing. It experienced some stagnation around the time Google
| ditched it for Hangouts, but it's been going strong again for
| years now.
| jerf wrote:
| "recent open messaging alternatives seem to decide to develop
| new protocols rather than build on top of XMPP"
|
| XMPP is reasonably specifically a protocol for Instant
| Messaging. You can theoretically do whatever you want with it,
| and you can theoretically turn it into a mechanism for
| delivering social-networking style asynchronous messaging, but
| it doesn't necessarily bring a lot of value, and it makes a
| certain amount of fundamental architecture decisions that
| aren't necessarily the best for a social network.
|
| I am interpreting your "recent open messaging alternatives" in
| the social network framework because my perception is the major
| ones you might be thinking about are those things, like
| Mastodon and such. I'm not aware of hot new open IM protocols
| that are just "old school" IM.
| 3np wrote:
| They're probably referring more to Matrix, which does have a
| somewhat different scope.
| mynameisvlad wrote:
| What makes something like Signal, Telegram, WhatsApp, et al
| not fall into your definition?
|
| That seems to be what the parent commenter has in mind _far_
| more than Mastodon, at least to me.
| jerf wrote:
| Not what I would personally consider "recent". Your mileage
| _will_ vary; there is no objective definition of that.
| mynameisvlad wrote:
| I would argue since the comparison is XMPP, which has
| been around for almost a quarter of a century, "recent"
| has a slightly wider definition than most times.
| bamboozled wrote:
| I wish it would come back , I really despise having 20 chat
| apps.
| 29083011397778 wrote:
| 20 feels like an exaggeration, but there are more than 20
| Matrix bridges, so maybe I'm just less spread out than some.
| I've been using Telegram, Signal, Google Chat, and Discord so
| far, on a self-hosted server. It's not too hard to stand up,
| especially if you hang around here, and works a treat. Highly
| recommend if you want one app to message everyone from.
| justusthane wrote:
| +1 I just set up a Matrix homeserver for the first time,
| and it was really slick with the Ansible playbook.
|
| I am astonished by how well the Signal bridge works --
| everything works! Read indicators, threads, mentions,
| groups...so far I have it configured as a linked device to
| my phone, but you can also configure it as your primary
| device.
|
| I really want to use the WhatsApp bridge, but that seems
| messier. I don't want to install WhatsApp on my phone, so
| it requires running Android in a VM with a VoIP number, and
| apparnetly risks getting banned from WhatsApp.
| [deleted]
| stavros wrote:
| I remember the good old days, when I had one client to talk
| to my friends, no matter which service they were on. The
| services themselves were a commodity, which I guess is
| exactly why this is no longer the case.
| jeroenhd wrote:
| This is why I use my Matrix bridges. XMPP has bridges too,
| of course (that's what the Matrix bridges were inspired by)
| but it seems the "up and coming" status of Matrix helps the
| bridges be maintained better.
|
| FWIW, the EU has passed the Digital Markers Act which
| requires big tech companies to open up their platform.
| It'll take a while before it takes effect, but unless
| Apple, Google, Meta and all others are going the very
| expensive "fine me and we'll see what happens" route, we
| should soon see movement towards an environment where
| different apps can talk to each other again.
|
| The tech industry being what it is, there is no real
| standard for interoperability yet, though there is an IETF
| taskforce working on setting up a standard companies may
| follow: https://datatracker.ietf.org/wg/mimi/about/
|
| This, critically, considers encrypted messages in a
| standard way so that we don't lose E2EE in the process.
| stavros wrote:
| Let's hope this ends up being good, I can see it taking
| twenty years and at some point standardizing a backend
| into the encryption :(
| 5e92cb50239222b wrote:
| It also wasn't difficult to set up your own server and
| bring your own domain, resulting in an easy to remember
| vanity handle like chat@lastname.tld. I hosted both prosody
| and ejabberd for years for friends and family, and it was
| orders of magnitude easier than self-hosting a mail server.
| Sadly, eventually everyone moved to proprietary platforms
| because file sending worked badly in those days, and mobile
| XMPP clients were simply terrible (no push notifications
| and such).
| courgette wrote:
| Alternative are cropping up. I've been testing out solutions
| with other nerds.
|
| https://www.beeper.com/ is promising. It's set of matrix
| bridge over 15 chat network or so.
|
| Neat.
| pkulak wrote:
| I've been successfully using their iMessage bridge for my
| personal server for about a year now. It's very nice to use
| iMessage on my Linux machines, since that's the chat
| network everyone around me has decided to use.
| nicolaslem wrote:
| I really despise having 18 proprietary chat apps.
| andrius4669 wrote:
| I've been using it comfortably for years now, what do you mean?
| jonas-w wrote:
| I used xmpp for a while and it has a fairly good hosting
| experience (easy to setup and maintain) but it lacks good
| clients. At least clients that the typical whatsapp user would
| like. And now, that everyone pushes matrix as the best
| alternative to everything, the situation will likely not
| change.
| MattJ100 wrote:
| My family were WhatsApp users, and I moved the family-family
| chats from WhatsApp to Snikket (XMPP) a few years ago. They
| still have WhatsApp installed, but consider Snikket the go-to
| for reaching family members. It's not a WhatsApp clone, but
| they haven't struggled with it.
| Gordonjcp wrote:
| What do you mean "what happened with XMPP"? Jabber uses XMPP.
| apetresc wrote:
| But approximately nobody uses Jabber. He means, "why did XMPP
| fail to achieve the level of adoption it seemed poised to
| take a decade or two ago?"
| Gordonjcp wrote:
| If you use Cisco phones, you use Jabber.
| biorach wrote:
| Cisco makes phones?
| justusthane wrote:
| Yes, very widely used enterprise VoIP.
|
| Edit: At least in North America, can't speak for the rest
| of the world.
| MattJ100 wrote:
| The client/server ecosystem in XMPP is going strong.
| Fragmentation is no more of an issue in XMPP than any other
| open ecosystem. That's not to say it's easy to prevent things
| being fragmented in an open ecosystem, but it's something we
| try to stay on top of.
|
| For example, for some time now the XMPP Standards Foundation
| annually publishes the "compliance suites" which detail for
| developers what up-to-date implementations are expected to be
| supporting. We recently updated the xmpp.org website to
| automatically calculate and display the compliance status of
| every project.
|
| This, for example, is not fragmentation:
| https://matthewwild.co.uk/uploads/screenshot-20230119-167413...
|
| Monal's support for calls is in alpha builds, and they're
| hoping to release it in the coming months. Gajim (written in
| Python) is looking for someone to help them out with their
| audio/video call stack, which needs some attention.
|
| Servers (as in, actual deployments) are monitored via
| https://compliance.conversations.im/ - which feeds into curated
| lists such as https://providers.xmpp.net/
| MattJ100 wrote:
| If this news has anyone tempted to dust off an old jabber.org
| account, you may get an "account disabled" notification when
| trying to log in. Try again in an hour or so and you should be
| able to log in successfully.
|
| Why? We've had well over a million accounts registered at
| jabber.org. We came up with a hacky solution to speed up the
| migration: we initially imported all accounts that have been
| active in the past 6 months. Now we're importing them on an on-
| demand basis. If you attempt a login and your data has not been
| migrated yet, you'll get "account disabled" error but your
| account will be prioritized for import during the next migration
| run (which is now running asynchronously multiple times per day).
|
| Also note that the migration this weekend was just the first step
| in bringing the service back to life, it's still lacking a number
| of modern features that are widespread elsewhere in XMPP these
| days (for example, no push notifications for mobile clients).
| We'll be turning these things on over the coming weeks.
|
| Finally, once the dust settles, we'll be looking towards the
| future of the service. Potentially opening up registration again
| (closed since 2013) and options to help the service be more self-
| sustaining (such as accepting donations).
| petre wrote:
| What was it running before being migrated to Prosody IM?
| MattJ100 wrote:
| It was running M-Link from Isode: https://www.isode.com/ .
| Their focus and expertise is mostly military and government
| deployments, rather than public IM services. We are extremely
| grateful that they offered to sponsor the service with both
| M-Link and hardware back when we really needed it, and it has
| been rock solid for many years.
|
| But we're looking forward to the flexibility we'll have with
| Prosody to make some changes to the service and add some
| features we've been missing that are understandably not on
| Isode's roadmap. For example, we've had registration closed
| for many years, but we're considering experimenting with
| invitation-based registration: https://blog.prosody.im/great-
| invitations/
| AceJohnny2 wrote:
| How's Kev these days?
| matsemann wrote:
| Does the disabled-message also tell you to come back in an
| hour? If not, you risk people trying, seeing their account is
| deactivated and never bother to come back.
| MattJ100 wrote:
| It does not. But if they haven't used jabber.org in over 6
| months and then randomly try to log in just once, they're
| probably not that desperate. Either way, their account will
| be imported and waiting for them when they try in another 6
| months :)
| im3w1l wrote:
| They will think their account got deleted or hacked or they
| forgot the password. Probably never coming back ever.
| jamespo wrote:
| or they go to www.jabber.org read the message and log in
| later
| btown wrote:
| I can't speak to how tough it might be to edit and re-
| localize the generic error message here in your system, but
| I've seen many instances where now-loyal (B2B) customers
| saw error messages, and the wording of the error,
| especially in providing a path to escalate, was critical to
| turning that into a positive experience. Bad error
| messages, in a way, should be treated as a serious (though
| not critical) bug IMO.
| nix23 wrote:
| Honest question, why not ejabberd? What was the +/- for prosody?
| MattJ100 wrote:
| Valid question! Honest answer: the folk involved (including me)
| have more experience with Prosody these days.
|
| Jabber.org previously ran ejabberd for years, in fact that's
| what it was running when I joined the admin team (I was also
| running ejabberd on my personal server at the time). We had
| quite a few problems with it back then, and for various reasons
| decided to switch to something else to help bring some
| stability to the service. This is all in the distant past
| (literally 10+ years ago), and I know for sure that the several
| problems we kept encountering on jabber.org have been fixed
| long ago. Many other large XMPP services run ejabberd
| successfully, including conversations.im.
|
| But now that Prosody is more mature, the team has more
| experience with it, and it has a few more features than
| ejabberd that we'd like to support, it's what makes the most
| sense for us right now.
|
| If you're trying to decide between ejabberd and Prosody, they
| average out to being equivalent in terms of protocol support.
| ejabberd has clustering, and a commercial option for people who
| want that. Prosody has a strong focus on extensibility, and has
| hundreds of community modules at https://modules.prosody.im
| which provide various kinds of extra functionality.
|
| I don't think either project is overall "better" than the
| other, but each has strengths and weaknesses for specific use
| cases.
| nix23 wrote:
| Thank you very much for the answer!
|
| For me the solid clustering and erlang was the main-point to
| choose ejabberd.
| aojdwhsd wrote:
| There's actually a nice service that lets you make and receive
| phone calls and texts over XMPP: https://jmp.chat
| f1refly wrote:
| That's a really cool service! Pity they don't offer European
| phone numbers...
| MattJ100 wrote:
| JMP.chat is a commercial provider, but their infrastructure
| is open-source. The central bridging component is actually
| cheogram.com (maintained by the same team). If you're
| determined enough, there are other providers you can bridge
| through Cheogram, including Vonage and Twilio, which offer
| European numbers. It's not as seamless as JMP, but if you're
| determined enough it works:
| https://wiki.soprani.ca/VonageSetup and
| https://wiki.soprani.ca/TwilioSetup
|
| Alternatively, hang tight... I know JMP do want to offer
| European numbers at some point.
___________________________________________________________________
(page generated 2023-01-19 23:01 UTC)