I really sympathise with this point of view, but when it comes to messaging with family and friends, I just don't really care. Matrix seems to want to be an IRC replacement rather than a one-to-one / small-group chat app. That's fine, but often not what I want.
Teaching my mother in law to use Signal:
Install. Accept permissions. Choose a PIN. I can send you messages. You can see your friends who already use Signal. Well done!
Matrix:
When you start you will get to choose from [matrix.org], swirly symbol "element matrix services" (the biggest and middle option, but not the one you want), or other.
Choose matrix.org (nothing else, or we will get very confused). Then click "sign up". Then enter a username and password (need a username which no-one has used before, you can't use your email address. Make sure to remember it).
Oh, but do put your email address in the next page, which is how people in practice are going to find you.
Bonus feature: How do you join a room? Click on it. How do you leave? Maybe long-press the room name, or swipe? Nope, you enter the room, click on the triple dots, settings, scroll down, leave room.
Bonus feature 2: Once you join a popular room, all users of that room are added to "Known users", making the list completely without value. How do I actually find people I know?
Moments of recognition reading this. A couple of weeks ago at virtual FOSDEM I was trying to work out how to join the FOSDEM chatrooms using the Android app formerly known as Riot.im (now Element.io). And I couldn't work it out - I gave up completely. I'm an actual programmer and heavy IRC user!
I actually felt that the instructions weren't that clear if you were joining via the app. I incidentally did join some of the rooms after the actual conference, but FOSDEM could have provided more instructions beyond "sign up on our server and use the web client" - the main Android App client, and most popular server are hardly niche. And many people already have that setup. I did eventually work out how to find the chats - but it took me a while too
Element's security UI is indecipherable garbage. There's absolutely no way a casual user can figure it out. It's clear no UX designers were involved. It's clunky, buggy and feels very unstable.
>Install. Accept permissions. Choose a PIN. I can send you messages. You can see your friends who already use Signal. Well done!
Sure but that does not in any way take away from the point that siloed messengers are a bad idea. If the XMPP/Matrix people wanted to they could set up a trusted third party server to link identities to phone numbers just like Signal does. They could even claim to use some sort of hardware enclave to do it. You could at that point create clients that were functionally identical to Signal but that worked on the respective federated networks. Heck you could probably do that with encrypted email and no one would much mind any added latency.
When people are talking about messaging systems that do not interoperate they are complaining about the underlying protocols. Client useability is a whole other discussion. I think there is a tendency to confuse the two in this sort of discussion.
> Sure but that does not in any way take away from the point that siloed messengers are a bad idea.
Well, too bad! Usability trumps idealism when network effects are at play.
> If the XMPP/Matrix people wanted to they could set up a trusted third party server to link identities to phone numbers just like Signal does
Usability is so bad that you're defending Matrix and don't even know this is already available, just has terrible UX.
Chat protocols don't matter at all if the final product isn't something grandma can easily use. Element has many of the pieces in place, but it needs go further.
I say this as I use Matrix. I've set-up Matrix for my SO and family just to talk to me, you know, like a bastard. I want Matrix to succeed.
But it's not going to happen unless it can match tit-for-tat the usability of things like WhatsApp or Telegram, even if that means having defaults that geeks find "icky", like railroading the user into a single instance (and hiding non-matrix homeservers in a corner), defaulting to using the phone number as an account without passwords, and auto-joining to an identity server.
Because Matrix allows any number of clients to be made, it's entirely possible for one client to do the things you list at the same time as other clients don't for the reasons you mention.
If I had to guess, it won't be Element, it will be a new client preconfigured to some (not matrix.org) server.
But why would anyone do it? What is the incentive to invest the resources into building an application with a good UX? This is why businesses win: aligned incentives.
Same reason. You can build a business on top of the Matrix protocol. You could create a slick UI and charge $5-$10 for it. You could insert ads. You could add micropayments, crypto, etc... whatever the market wants.
Here's an idea, for anyone reading this to run with.
Sell account packs, say 50 accounts for 10 bucks. Or maybe 10 accounts for 5 bucks. Or maybe 20 accounts for $30 a year? Adjust it for both sustainability with your tech model, I dunno about that.
But the idea is to minimize the number of payments required per account and per network, and allow one person to pay for their entire group.
But they don't exist. "Someday, there will be a client that will make the signup process simple" is not a great argument for my mom when I'm trying to text her my holiday plans.
Thanks for the suggestions, I wasn't aware of either of them.
Ditto has a dead website and it's not on the Play store, there's a link on its repo but it's dead. APKs are not viable for mainstream use.
And I just tried onboarding someone on FluffyChat, and as of right now, it's non-viable as well. During the process I have to go back and forth between web browser and application which completely went over my mother's head despite the textual instructions, and when it's set-up it defaults to Matrix usernames instead of doing automatic contact resolution using an identity server.
On the other hand, the UI is pretty nice and fits in well with native apps, if the app had a more serious, bland branding and a tamer color palette it would be up to task UI-wise.
> If the XMPP/Matrix people wanted to they could set up a trusted third party server to link identities to phone numbers just like Signal does
Signal is even simpler: they use the phone number as the identifier. So you could have an XMPP server with a given domain, and your phone number as your login. The whole SMS dance for making sure you own the number.
That already exists: https://quicksy.im/. And yet it doesn't seem to have attracted that many people. I don't think it was an issue of usability though, it is not so far from Signal, but a publicity one.
While Element.io still has some UX points to improve upon, I wish people would be a bit more honest about the state of Matrix clients and less fatalist.
There are other alternative Matrix clients that implement an experience closer to Whatsapp than Element, like Fluffychat.
I get what you're saying, but you seem to just be criticising element, not matrix. All of these are temporary problems which can be overcome with more time to hone the user experience.
I would love to see another company come along and make another matrix-based chat app to compete with element, hopefully that would result in them both getting better much quicker.
Element has a sad amount of bugs/inconsistencies, even though they're being fixed/improved all the time. Message formatting issues for example between mobile and desktop clients are things that really put me off using it.
I like the protocol, and I love the idea, but it's just nowhere near grandmother (or even mother) level of usability. And it's not nowhere near good enough for someone as anal as me. People in between might not get put off by all the issues though.
The thing is criticizing Element is a criticism on Matrix. Interoperable protocols always also make it much harder to build a very usable client for. Even the great email is being "disrupted" with new closed alternatives like Slack, Discord, Teams, etc.
If your mother in law can't even pick a username and password, how will she shop on Amazon, sign up with Google, book a flight? Most other mobile apps require you to sign up for an account too. And it bypasses the big problem of having to use your phone number (though you can already add it if you want for people to easily find you!)
In regards to the UX of Elements, I think it's not great either but it's not the only matrix client. That's the great thing about Matrix.
He's got a point tbh. We are having family members who are just about manage to operate WhatsApp. To talk about them booking flights or shopping on Amazon is the equivalent of flying to Mars tomorrow. I reckon there are tens if not hundreds of millions of users who just about manage to answer a call or reply to a message. An average HN reader is probably 0.01% in terms of understanding how to use tech, but there's 99.99% of others that not quite there yet.
But how do they pay their taxes? Sign up for electricity or a mobile phone? Literally everything now requires an electronic account somewhere.
I now have 200+ accounts in my Password manager. Sure, I know I'm part of the 0.01%. But I can't imagine that there's anyone who does own a smartphone but still has less than 10 online accounts somewhere :) You just need them for too many basic necessities of life these days.
It shouldn't be so much of a barrier, and if it is, they probably need help even with setting up Signal or Whatsapp too. After all that requires a google play or apple account to install from the store too.
You see, that's the problem that you find it difficult to even comprehend that some people are like this. I often find myself thinking I'm clueless about computers just to slap myself in the face seconds later, as a reminder that the absolute majority on this planet is nowhere near my level. Even in professional environments, people struggle to do so many things tech related but unless you are one of them, you just assume everyone knows it. In some fields it's the opposite, where people tend to be arrogant because they think they know stuff everyone else has no clue about. Every time I meet a doctor and I throw in some phrases rarely used outside medical field, they immediately ask if I'm a doctor, because suddenly I stand somewhat higher in their eyes.
Have the employer or pension provider deduct any applicable taxes, and the rest gets paid to the payee. If they do not live in a country where that happens automatically, they could still hire a local accountant.
> Sign up for electricity
Can be done by phone. But if they already have electricity in their home, then even that is not necessary.
> or a mobile phone?
This can still be done in store. In some countries, in-store is still the only way.
An online account may make some of these basic necessities cheaper and more convenient to access, but it is not the only option.
Though if you go to amazon.<wrong TLD>, the accounts are sometimes, depending on TLD, entirely separate from your normal amazon, even if the site is in the same language and looks basically the same.
> And it bypasses the big problem of having to use your phone number
To the vast majority of people this is a feature, not a problem. You sign up to WhatsApp by installing the app, that's pretty much it. Once it's installed, you can message anyone else you have a phone number who happens to have the app.
You also don't need a username for Amazon, Google or booking a flight, and you certainly don't need to try to find out what someone else's username is before you can message them on WhatsApp.
Exactly. This idea of tech barrier is massively overstated. We see people adapt to new tech all the time. The bigger issues are network effects, inertia/lazyness. Alternatives to the status quo are expected to be 10x better to justify mass exodus. Most people don't value privacy and freedom of speech that much.
Yeah there's an SDK and a Kit, so the SDK just gives you the basic building blocks in terms of data and the Kit gives you some of the screens. But at least on iOS it all looks a bit outdated so I'm only using the data layer.
Yes. Also we should stop preferring X only because it is slightly more convenient or shiny, when there are alternatives which are better in more important ways.
Seems like something that can be solved with a more streamlined client focused on usability. Consider the difference between setting up a custom domain on mxroute compared to just opening a gmail account. Both user experiences are possible on the email protocol.
Personally I think we've been in something of a dark age for open protocols to our detriment, as oligopolistic companies have increasingly used walled gardens to manipulate or dominate. I'd like to see that trend reversed and protocols like this succeed. Maybe with the rise of the patron model we can actually sustainable fund people who do the work of maintaining these protocols.
"I just don't really care." (Comparison of matix.org and Signal follows)
It's a lot easier when everyone is using it already. Federated and distributed chat has been really elusive, and that's surprising given that chat has been around forever. This article was interesting because it was about the core problem: how to get a bunch of diverse systems to support a standard mail protocol and is suggesting the protocol behind matrix be used, and not necessarily some implementation of a client.
I think those are the issues, at least according to the op. I mean, anyone can write a chat app. That tech has existed for ever. Putting the right UX on it is the hard problem good chat apps need to solve.
Anyone can write a centralized chat app. Building a federated chat app is an order of magnitude more difficult, and is still a largely unexplored space.
XMPP/Jabber explored it pretty well. And for a glorious few months, I could use a FLOSS client (with for me far superior UX to any other modern client) to talk to people on Facebook and GTalk as well as all proper Jabber servers.
I remember those days. It was so rewarding to be able to throw together a Twitter and chat client in an afternoon (especially as a very new coder). I don't think that kind of stuff is possible any more.
Let me rephrase a bit, and this is now my opinion not op's. The UX is the most important problem to solve. Sure making a secure federated chat app may be harder in quantifiable sense, the structures are not really know. But for UX, honestly speaking I feel like nothing is known. We can copy WhatsApp interface, just like you can copy signal/WhatsApp architecture. But is that really what makes them successful?
When I go to 'group chat', rather than show me my friends I could group chat with, my screen is filled with "channels" I have no interest in.
When I first signed up, I couldn't figure out (quickly) how to talk to anyone I know, just how to join channels full of people I don't know (which to me is like IRC).
This is the thing about multiclient protocols. You don't look for SMTP in the app store either :) The whole point is having multiple clients so they can't all have the same name.
Having said that, the 'default' app constantly changing their name (Vector -> Riot -> Element) is super annoying. I thought Riot was a stupid name (living in a city that regularly sees riots), but don't really get what was wrong with Vector in the first place :P
“I just don’t really care” sums up why all well-meaning attempts I have seen to switch Web 2.0 (the social Web) to open source have failed.
Web 1.0 has Wordpress, Magento and a slew of other things. But for Web 2.0 people expect a growing number of real-time services, slick and easy to use, these days they all added audio chatrooms and video calls etc. Everything has to be super reliable, etc.
It would take years to build a suite of components (chatrooms, events, managing subscriptions and notifications etc.) that could rival Facebook / Telegram / WhatsApp.
I would like to think we did it at Qbix. But we are still playing catch-up to the big boys.
User adoption will only come when something is good enough to be used as what’s currently out there.
But once it comes, it has so many advantages: host where you want, configure components how you want.
If you’re interested, look at the links in my profile.
if the matrix guy can read this, it's important, make things mean and lean.. not overly powerful to the point of alienating the mass market. Maybe have an expert mode for that.
This. Using the app should be dead simple - with a default server, a default username, maybe even a pre set password (bound to the phone number or whatever, I'm not a fan of this but they all do it this way) and a feature adding contacts via link, qrcode, or phone-number. And then there should be a button for expert-mode giving you the complicated setup you want - choosing your own server, name, password and whatever.
The funny thing is that IRC is the last system which needs replacement. It's frustrating to see FOSS projects force-switch support communities to from IRC to Matrix, because IRC works great and has a lot of existing software, while Matrix requires a new, heavy client with tons of usability issues and few alternatives. (If you don't think there are usability issues, I challenge you go through the entire installation, registration, and connection process without using your pointing device, keyboard only.)
For example, one browser's devs have decided to stop using IRC for support. That's OK, people can still hang out on IRC if they want to, right? Nope, they closed #browsername using the ban-on-join method, and if you don't know to look for ##browsername, the unofficial support channel, you're left with having to install yet another software package just to reach the official support channel?
I am heavily against switching from WhatsApp to Signal, but you have very good points, and I think Matrix should take note of these points. Technically Matrix can yield a very similar user experience to Signal, but there has to be more focus on actually doing it if it wants to be considered as a serious player in the same space as WhatsApp and Signal.
I think the article sums it up fairly well. Signal to me does not solve the fundamental problems inherent to WhatsApp, additionally it suffers from some of the more serious ones I have with WhatsApp (tied to phone number) and brings some new ones (no web client).
And the places where Signal improves on WhatsApp relies entirely on trust which is what WhatsApp relied on until it broke trust.
I would prefer to use Matrix/XMPP instead of Signal and WhatsApp.
I dunno about cheph, but I feel Signal and Whatsapp are identical. There is literally no difference between the products in any way. In fact Whatsapp has some extra features on it.
You are so wrong. Please read up on how far Signal goes to hide your metadata. WhatsApp diarrhoea-shits it's metadata to Facebook's hungry mouth. Signal goes to such lengths even gifs are implemented so carefully as to preserve user privacy and security.
Same for me. Yet another walled garden. A slightly prettier garden, but when I make a big app move I want to solve more problems than just the privacy one.
Asides what the other user said about metadata, Signal is drastically better at multi-device support. WhatsApp only lets you log in one non-phone device at a time, and this device syncs via your phone so it doesn’t work if your phone is offline, and it doesn’t have an iPadOS app. Signal has desktop and iPadOS apps, and they all function independently of your phone once set up.
The reason why Signal is not an open protocol like email has been argumented by Signal creator Moxie before (can't find the article please help). It has pros (evolution is faster and thus it's easier to compete with proprietary solutions) and cons (single point of failure) and Signal devs are well aware of that. We should stop acting like Matrix and Signal are competing with each other. I happily use Matrix but my grandma will not, ever, not in this world. And my mother has a hard time figuring out what a browser is. If we want everyone to be somewhat protected, adoption cost must be lowest.
The problem with statements like "I happily use Matrix but my grandma will not, ever, not in this world" is that Matrix is more of a protocol than anything. So of course, your gradma would never use HTTP, but since browsers are now user friendly enough, everyone is using HTTP indirectly. Same can (will? Might?) happen with Matrix, where a popular applications get written on top of Matrix, and users don't even need to know about Matrix, just that stuff works. And when they move to another client, they can bring everything with them and stuff keeps working automatically.
Whatsapp got bought by Facebook which changed their strategy 100%. They used to ask users for a $1/year payment or something like that, but after being bought by Facebook, they now focus on just providing data to Facebook. I think one of the founders also have openly gone out and regretted the sale to Facebook - "At the end of the day, I sold my company. I sold my users’ privacy to a larger benefit. I made a choice and a compromise. I live with that every day." - https://www.fastcompany.com/90242892/whatsapp-cofounder-expl...
If we manage to keep the governance of the client and protocol open and participatory, I'm sure we can have clients/protocols that survive for longer. Just like we did with email and IRC in the past.
Barely any one paid the $1/year. My estimation from looking into this before is less than 2% of Android users ever paid. At most half of iPhone users paid $1 as whatsapp would switch between free or paid to get it.
The founder regretting is a joke. Facebook isn’t buying you for $19B to leave the company alone forever. The guy is worth multiple billions. No one told him when it was being sold that privacy won’t remain the same? That seems too unlikely.
So the plan is to keep on creating new protocols so that there's frequent, although not constant, stream of services that are already user-friendly, but not optimized for milking data yet?
Milking data, user friendliness and open protocols are orthogonal areas that gives different benefits. User friendliness makes it so people actually use the product, open protocols forces the service/application providers to care more about the user (otherwise they leave for something else, taking their data with them) and milking data can be done no matter how good/bad user experience is and if the protocol is closed/open.
We need to move beyond being saddened by the nature of systems. It's like being sad about gravity, evolution, or the speed of light. Network effects, social/cultural-scale and emergent behavior are the same.
If your design is subject to a failure, it's a failure of your design.
This is an empowering viewpoint. Let's stop blaming factors outside our control and find ways to create resiliency.
The problem is when a bunch of optimistic, altruistic, talented individuals just imagine we could choose to do better, like in the social dilemma. Similar environments and pressures will lead to similar outcome, like carcinization.
Somehow we still manage to be surprised and disappointed when this happens.
There are measures we can take: provider and implementation diversity should curb this. Not everyone is "grandma" so not everyone needs to use a client for "grandma".
The problem is that it doesn't keep working automatically, because federated servers are in practice a hot mess of mismatched versioning and application support.
Moxie's argument can be found in its essay "the ecosystem is moving"[1], which is highly fallacious. Moxie's Signal is about control and building for himself the same kind of monopoly as others currently enjoy. You can find evidence of that through the libresignal issue tracker on GitHub where he rationalizes barring access to 3rd party clients or servers[2].
He sees federation as the technically superior approach (and as beneficial for privacy and security), but also as a threat to himself, which makes the point that he doesn't have your best interests at heart.
Your link [1] is actually the answer to/against moxie by Daniel Gultsch. Please be fair and first give the original article so people can make up their own mind:
> that's the one he didn't like to be ridiculed over and asked the organizers to take down.
This is repeated every single time, when the reality is that Moxie asked the organizers _in advance_ not to record the talk[0]:
> I just prefer to present something as part of a conversation that’s happening in a place, rather than a webinar that I’m broadcasting forever to the world. I have less faith in the internet as a place where a conversation can happen, and the timelessness of it decontextualizes.
I am literally talking about my grandma though. All of the other grand parents are dead. Young people (wether male or female) that have had access to a computer are generally more familiar with tools they grew up with which was my point. A lot of people, not even just old people, are not ready to spend more than one second when something does not work and will just switch to what they heard was working. Consider someone who does not know the difference between an OS and a browser, between 5G internet and WiFi etc. Having those people in mind matters when thinking about mass adoption (which is the goal when your target is mass surveillance by big gov).
Standard vs non Standard is often, but not always, the same as Federated vs Closed.
In olden times (1990s), you needed standards because you had multiple platforms, and slow updates, people actually had to download and install an update to get it. Now with app stores and web apps updates are automatic. This means the rate of change can be faster and thus sticking to standards is causing more issues.
The system that's coped best with keeping standards is HTML, it's flexible, it's full of inconsistencies, it's mostly developed by companies inventing things and seeing if they catch on, and then standardising those things. And pretty much everyone's just switched to using Chromium.
I wish that the author had spent more time really thinking about _why_ communication has moved away from email, or why XMPP/IRC never really caught on despite being vastly older than these app competitors (hint: it is because they are federated, and so making sweeping changes to the protocol/client in the name of UX becomes intractable.)
It is _very_ frustrating that the internet has had messenger fragmentation since the beginning of time, but why can Matrix solve this problem if XMPP cannot? Signal just works.
Has it, though? I don't think we are any step closer now to dropping email than we were 25 years ago.
> or why XMPP/IRC never really caught on despite being vastly older than these app competitors
Could be the lack of marketing (because there isn't a corporation or venture capital money behind benefiting from exponential user base growth) and critical mass/peer-pressure as a result
> making sweeping changes to the protocol/client in the name of UX becomes intractable.
This starts to be dated, but is a counter-example: https://gultsch.de/objection.html
XMPP keeps evolving, and probably faster, and with better adoption than something centralized like Skype for instance.
Moreover, we've arguably less feature-packed messengers now than we had two decades ago.
> It is _very_ frustrating that the internet has had messenger fragmentation since the beginning of time, but why can Matrix solve this problem if XMPP cannot? Signal just works.
The irony. Signal contributes to fragmentation. We seem to pretend that it's a protocol/technical issue, but did you know that WhatsApp runs on XMPP, so did Google Talk, and Facebook Messenger early on? All those silos could open federation and let messages be exchanged across services, but chose not to do so (including Signal), because they have more to gain in keeping you hostage.
> Has it, though? I don't think we are any step closer now to dropping email than we were 25 years ago.
Email feels more like a tool for reaching out than for communicating to me. I.e. it serves like an RSS feed and serves like a way for unknowns (or long lost friends/acquaintances) to reach out to you.
Sure some people still use newsgroups and communicate daily over email, but for most people it's just a method to sign up for accounts in walled gardens.
Well, I don't know in which world you live, but in mine Outlook is alive and kicking, that's where purchase orders are confirmed, meetings with suppliers are organized, business decisions are made … and in the few instances where it's not going over Outlook, it's because it's on a GApps tenant, in which case it's GMail instead.
The biggest threat to outlook and email today is probably MSTeams, and ironically enough, it federates just fine so that two employees from two distinct companies can chat as if they were on the same tenant.
> Well, I don't know in which world you live, but in mine Outlook is alive and kicking, that's where purchase orders are confirmed, meetings with suppliers are organized, business decisions are made
Stuff like that was what I meant. I wouldn't call receipts, calendar invitations and verification emails "communication" (as in person to person). I agree though that email is a prime medium for B2B communication, but within a company you'd usually use another medium (like Slack).
The email protocol is being used for instant messaging — check out DeltaChat. It works much better than I expected, and it is possibly the most desentralized solution there is.
> Has it, though? I don't think we are any step closer now to dropping email than we were 25 years ago.
I think OP meant that there's been a significant decrease in usage. In my case I can definitely relate to this for personal communications, I no longer send emails to personal acquaintances, I mostly use email for professional purposes, so I think OP's point stands.
> Could be the lack of marketing (because there isn't a corporation or venture capital money behind benefiting from exponential user base growth) and critical mass/peer-pressure as a result
Maybe marketing would work, but a killer feature is way more efficient, especially in the long run. WA offered users a way to text using the same phone numbers for free in countries where you had to pay. Decentralization, like being-open source, does not provide short-term benefits to a user, so you still need distinguishing features.
> did you know that WhatsApp runs on XMPP [...] All those silos could open federation and let messages be exchanged across services but chose not to do so (including Signal), because they have more to gain in keeping you hostage.
WA also uses the Signal Protocol, which I assume is not directly compatible with OMEMO (or this name wouldn't exist). From the little information I found, it uses a customized version of XMPP, which is also probably not directly compatible with XMPP.
My point is that it's not as simple as setting COMPATIBLE=TRUE to make every network compatible with each other. I doubt Facebook deviated from the base protocol just for the sake of it (and there are simpler ways to prevent 3rd party clients), they wanted to implement something which was missing. They wanted to customize XMPP to add features (pretty much Moxie's argument against federation).
> Decentralization, like being-open source, does not provide short-term benefits to a user, so you still need distinguishing features.
XMPP's killer feature is, for me, its pubsub capability (https://xmpp.org/extensions/xep-0060.html). From a technical point of view it's just an ordered key-value store with notification, but from a user point of view it allows way more uses than "simply" messaging: microblogging (https://xmpp.org/extensions/xep-0277.html, can replace twitter), generic status updating (https://xmpp.org/extensions/xep-0163.html), good-old key-value store (keys for OMEMO), standard blogging (to replace Facebook)
XMPP also has message types and threadings, so you can build stuff like forums (to replace Reddit), diffusion lists (like Telegram channels)...
It has everything, and it is there to be used. Some clients have done it for some time now, it's not a technical problem anymore; it's a marketing problem. None of what Whatsapp or Facebook Messenger or Telegram or Signal do cannot be done by XMPP.
> In my case I can definitely relate to this for personal communications, I no longer send emails to personal acquaintances
I think we can agree that they have different strengths, I haven't seen much change in my usage of email for chatting with personal acquaintances because email has never been going strong there, unlike Instant Messaging…
> but a killer feature is way more efficient, especially in the long run
…if one thing, popular IM of today pack less features, not more, than those they replaced. Remember the golden age of MSN messenger? You had whiteboards, tictactoe/chess/… games with friends, screen sharing, fancy fonts & colors, "now listening to:" , wizz, … Ironically, XMPP inherited all those features out of necessity to be compatible with all those protocols (and I don't think it matters the slightest).
XMPP does have quite nice and unique features of its own, if check-out the other response :)
> WA offered users a way to text using the same phone numbers for free in countries where you had to pay
just like every other messenger then and now… (I'm not downplaying their coming ahead of this fierce competition, they must have done something right indeed, but "IM as a cheap alternatives to SMS" was popular a decade before WA)
> WA also uses the Signal Protocol, which I assume is not directly compatible with OMEMO
"Signal Protocol" is a mashup of encryption algorithms, signaling and session negotiation, at its very core there is the double-ratchet algorithm (for forward secrecy) and prekeys (for offline delivery), OMEMO is just that, implemented over XMPP primitives (with prekeys served over PubSub/PEP).
> My point is that it's not as simple as setting COMPATIBLE=TRUE to make every network compatible with each other.
Indeed, it would take some careful considerations, but eh, same can be said about TLS. At a first glance, I don't see anything radically difficult about it, the main point would probably be to offer a generic endpoint to serve prekeys and there's nothing revolutionary or difficult about that.
> I doubt Facebook deviated from the base protocol just for the sake of it
They did what every big business does: they optimized for their specific needs. When they decided that compatibility wasn't something they could monetize, they shut the gateway down and stopped caring about it. That tells nothing about the protocol, its capabilities, or of a presumed inability to extend it. For that matter, the X in XMPP stands for "eXtensible" protocol, and it's been quite good at keeping up for about 22 years, now :)
"It is _very_ frustrating that the internet has had messenger fragmentation since the beginning of time"
If you ignore IRC...
"Signal just works."
It also contributes to the fragmentation you complained about, because it is closed -- no federation, no third party clients, not even a web client. If you are on a platform the Signal team does not have time to deal with then there is no option for you. If you have a specific need that the Signal team cannot take the time to support, too bad. More problematic than lacking federation is lacking any third party client software.
Whenever I confront developers about this the conversation usually results in someone demanding a specific example of a user need they are not meeting; if I give one, they say, "Oh, we are planning that, but we first need to do $XYZ!" and if I say "there are needs we may not be aware of" they say "Well we are trying to do $this or $that, we can't solve everyone's problems!" As if users who have unusual or overlooked needs deserve to be cut off from everyone else...
Signal is still an improvement over other non-federated messengers in that it's open-source, so you actually can try to improve the situation, although it's notoriously difficult. As an example of more platform support: https://github.com/signalapp/ringrtc/pull/12
The main problem right now is that they don't have enough developers to take care of everything, but it's not specific to centralized services (no developer == no code). If you care about it, you can develop your own client using their library (à la signal-cli).
Regarding your last paragraph: I could probably list 20 features I'd like to see in Signal. That doesn't mean I want somebody implementing them with no guarantee about how securely they are implemented. One of the main goals of Signal is to provide guarantees against dragnet surveillance, and that constraint takes precedence.
Open Source but not actively accepting contributions is not a great place to be. Especially when you can't federate, so you are stuck using the central server which basically doesn't accept code contributions. Take a look at https://merge-chance.info/target?repo=https://github.com/sig...
Also it is somewhat interesting that this Open Source centralised Signal server, where centralisation means you can move quicker, hasn't seen a commit in 10 months.
I have an alternative view to offer here, because this to me sounds like you are leaving out a significant part of mobile messenger evolution.
Back when Smartphones weren't a thing most phones had JavaME, and the most popular networks for chatting were MSN, ICQ, AOL and others. I'll focus on ICQ specifically here because it's what's been popular where I live. It had been a messenger for people with computers, but then suddenly everyone started using it with an unofficial JavaME client Jimm. Literally every person with a phone, even though it was a complicated thing to do - you had to register on the ICQ website using a computer, build or download a pre-built Jimm for your phone (you had to cater it to the hardware, because phones had been very different back then from model to model) and log into ICQ from your phone. Most cellphone stores offered "Jimm setup" as a service for people who couldn't do it themselves. The reason for such popularity? SMS limitations made it very expensive to have long chats on the go, and ICQ demanded so little traffic that you could use it for a fraction of SMS costs. And of course, as most multi-clients at the time, Jimm had full XMPP support, after all ICQ, AOL and MSN were little more than slightly customized XMPP at the time. So switching to any other XMPP server was pretty trivial.
Anyway, this lasted for a long time, and then, sadly, a smartphone "revolution" happened. People started getting smartphones left and right, and unlike JavaME phones they were much, much worse for ICQ, XMPP or any other similar network. See, a JavaME phone was perfectly capable of maintaining connection to ICQ servers in the background, without draining your battery life too much. It was seamless, most phones at the time allowed for at least one app to run in the background at all times. But once Android and iOS came along - suddenly a phone had to either be sleeping all the time or had empty batteries in a few hours, and that was awful news for protocols that relied on continuous connection, like ICQ did.
The only smartphone that played nice with these protocols that I know of is N900.
Sadly this, and this thing only killed XMPP, ICQ and others for an average person. If it wasn't for these protocols not playing well with smartphones, I have 0 doubts XMPP would be king right now.
Isn't the fact neither XMPP nor IRC are e2e-encrypted a factor in them catching on?
Nobody wants to use a messenger that's public, or that with a single centralised compromise/hack could make all their messages become so.
To me that disqualifies them as even being potential solutions to the problem.
Matrix has significant usability issues in its currently-available form(s) - but it at least meets the most basic of requirements that user messages are private, and does so fundamentally.
XMPP has omemo for encryption which is support by default by both major severs and every client i've tried -- especially the ones that aim for user-freindlyness likes conversations
Remember OTR messaging? The benefit of an open system like XMPP is that you can add end-to-end encryption if you want to do so.
Really though, why is end-to-end encryption the one thing that should disqualify a system? What about a10y, i18n, etc.? For a vision-impaired user a10y matters a whole lot more than encryption. That is the real point of openness and federation -- allowing users' needs to be met by any developers who have the time and inclination to do so, rather than leaving users at the mercy of a single team (or even a single person).
Empathy, the Gnome messaging software, has yet to implement end-to-end encryption because of this mode of thinking. Rather than implement OTR they said they felt it was better to implement a protocol with E2E built in since it would be supported by native clients (what does that even mean for XMPP?). As a result, their users never had end-to-end encrypted messaging at all.
That is what being religious about these things gets you. Signal is completely closed and its users are at the mercy of the developers. XMPP+OTR was a kludge but it worked and the only reason the outstanding problems were not resolved is that the cryptographers behind OTR decided to focus on Signal. Matrix is basically irrelevant right now and whatever security benefits it might have are equally irrelevant because very few people are using it.
Users do not understand that E2EE means no easy device syncing and no serverside search, they just want to feel 'safe', but are not ready to perform such necessary things as fingerprint verification. And without verifying the identity of the remote party, E2EE is totally meaningless.
Telegram's far better UX than Whatsapp is possible because they do not have e2ee on anything but Secret Chats (and I've never seen anyone on Telegram using them). See, for most users the promise of security is better than actual security and all attached UX problems.
I wanted to like this piece for calling Signal for what it is: WhatsApp with better marketing (with a lot of security and privacy backed by obscurity), but if everyone is jumping ship from WhatsApp out of data syphoning concerns, I'm not sure that Matrix's insistance on replicating and distributing as much metadata as possible across its nodes is much better.
The end game is probably P2P with "dumb" servers doing little more than just passing packets across the network (which kind of goes against battery efficiency on mobile devices), but in the meantime I'd rather bet on XMPP (which has diverse client+server implementations, tiny footprint even on a RPi, approachable and standardized protocol one can implement in a weekend) that's getting really good and hassle free to self host at a family & friends level.
Could you elaborate more about Matrix's metadata distribution? What exactly is being distributed and when? I'd like to see that if you have it as I wasn't aware of this.
PS: I'm not trying to contradict you here, on the contrary. I'd like to deep dive into it as it is indeed a big issue. If Matrix really takes off (which I hope it does) I would want to avoid dataminers just federating to it and grabbing data that way.
Of course some metadata would need to be able to be shared for the federated network to function. I understand that too.
Sure! The first "practical"* difference between Matrix and XMPP is that Matrix' chatrooms are "necessarily decentralized" (whereas in XMPP that's optional [1]).
How it works is that users involved in a given room have their servers synchronize the room's state with each other (room state is messages, presence status, read receipts, "is composing" status, …) so when one server goes down/netsplits, messages, join/leave events, read markers, … can keep flowing among online users (and when the server goes up again, it might attempt to merge its state with that of the network while catching-up).
This looks and behaves very much like a blockchain: you end-up with distributed "copies since origins" of the room + all its metadata all over the network (plus distributed inefficiency, but I digress).
*: I put that quotes, because I don't believe it matters the slightest in practice. XMPP nodes can be easily distributed, which addresses the same reliability concern, but at a layer better suited to handle the complexity. WhatsApp runs on a fork of ejabberd (erlang), while Matrix homeservers, especially matrix.org are notorious for their terrible QoS/resources-hungriness while handling a fraction of the concurrent users.
Thanks, I'll have to dig into the protocol, maybe do some sniffing on my homeserver :)
I assume not every node gets the metadata for all the rooms in the world, just the ones its users participate in? Anyway looking forward to investigating this.
Indeed, that's just for the rooms where users are joined. But be aware that if you join a large room on matrix.org from your own homeserver, it might fill-up your disks with a lot of old state (and that might take large amounts of CPU+RAM for days, too).
Google Delta Chat. It’s a chat protocol/server/client based on email. You only need the client - it will use your existing email account (and your recipients’); if you use the Delta client, it will appear as chat; if you don’t it will just be 2 line emails - and similarly for your addresses.
When/if the actual server comes of age, you’ll have additional features like online indicators and stuff. Bit it’s already usable today (if somewhat wasteful in bandwidth and storage compared to e.g. Signal) and there are no new accounts to register or discover — it’s usable with standard email as transport.
I wish this were more popular. I love the idea of using the email protocol for chats. Email servers are ubiquitous and, better, everyone can email everyone else and your contacts and you don't have to be on gmail or yahoo or anything else.
I recommend (a recent) ejabberd if you don't know anything about XMPP: it does an excellent job coming with good default, clear, commented and foolproof config and once it's running you can literally forget about it.
XMPP does manage offline message catch-up across all devices, and with good mobile clients I've never felt the need to redirect to email (especially these days with ubiquitous E2EE, that's not something you would want the server to be capable of doing), that said I believe it would be "easily" scripted up.
They don't mention the other issue - Whatsapp and similar are, if anything, the worst form of social media. You have shallow conversations that dribble your attention away throughout your entire day, yet you have not gained any meaningful interaction.
There's no limit to the amount of text I can send and it's not ephemeral. Thus there's really nothing preventing me from typing out thoughtful messages, which I do.
As for attention, anything can suck away attention if you let it. I don't find WhatsApp (or other similar chat apps) to be any worse than e-mail or snail mail. I look at them when I want to and no more. Again, there's no real rush, because the messages aren't ephemeral. [1]
There are social media sites that truly lead towards shallow conversations, like reddit where a quick joke gets more upvotes, or twitter where you have a tiny character limit and your message gets immediately drowned by everyone else's latest angry tweet.
What's more, I've seen plenty of shallow conversations face to face. Thus I think it depends very much on the specific human to human match whether they will have any meaningful deep conversations. If the humans are capable of it, they can do it on WhatsApp as easily as face to face. [2]
--
[1] Unless of course you specifically configure them to be ephemeral, e.g. in Signal.
[2] Yes I realize that face to face has the benefit of body language, but WhatsApp has the benefit of remoteness and asynchronicity. Thus I'll call it a wash.
But on the flip side I have shallow conversations that dribble my attention away throughout my entire day.
The first time I worked for myself - pre social media - was really, really lonely. This pandemic and lockdown is really, really lonely.
I can silence my phone, I can turn the screen away from me. I can focus when I want to. But it's truly a blessing knowing I have WhatsApp groups with friends just bantering away throughout the day. Doesn't have to be meaningful, it's just great having that "water cooler" interaction.
I would, in exactly the same way I had friends the first time I was working from home. There's precisely nothing that stops me calling any one of them and having a "proper catch up". But sometimes we just need background chatter. Friendship is not defined by membership of a WhatsApp group.
I don't know how to phrase this without it sounding unnecessarily mean, but maybe you're just talking to shallow people?
Other than platforms with character count limits like Twitter, I don't see why the platform itself should have much affect on the depth or meaningfulness of conversations.
The textual content of a conversation is the tip of the iceberg in the information that is shared during a face-to-face conversation.
If you include "face to face" in your "platforms", then it absolutely blows anything else out of the water in terms of depth and meaningfulness of conversations (on average).
I left Whatsapp (and Signal) a few weeks ago, and feel like a better human.
I think we dropped the ball by awarding copyright protections unconditionally.
We should try to imitate patent protection and award copyright protections only if and for as long as software author publishes full description of the file formats and network protocols his software uses.
That was idea with patent protections. You get protection on the condition that you disclose details of your design to enable interoperability by future inventors, manufacturers and users.
The problem with WhatsApp and Signal is that even though it's e2e, it uses your phone number as id which is the least privacy friendly id they could have picked.
It’s also impractical for digital nomads like myself who don’t use phone numbers at all. I haven’t used Signal, but what do I do if every X months I have a new phone number? Will it still work if I swap SIM cards?
Not sure about Signal, but you can definitely change your phone number on WhatsApp. You will show up as a different person (with the same name) for other people though. The real effect of it is that the chat history will be split between these "persons" for others.
Not having a stable phone number seems impractical in general. (e.g. You can’t set up 2FA for Apple or Google accounts without a phone number.)
More practical is porting a regular number to a SIP service so that you can receive important things via app. (2FA short codes typically don’t work with numbers that are assigned to SIP providers, but work fine you you port over a number from a regular carrier.)
Apple doesn’t require 2FA. I don’t have a Google account. All my accounts with 2FA use an Authenticator app. 2FA with SMS is insecure. If an account needs a phone, I use whatever number is in the SIM I’m using, and then it becomes outdated when I get a new SIM.
It’s not practical to pay for a static phone number and SIP service. Phone numbers are stupid. They’re insecure, expensive, and region locked (no such thing as international number, many services only support numbers with specific country code).
They do if you want to be able to log in to any of Apple’s developer portal.
> It’s not practical to pay for a static phone number and SIP service.
It’s cheap to the level of being negligible. Exact cost depends on what number you want to get, but I’ve got a North American number that after initial SIM and porting fees is indefinitely zero-cost.
I wish we could do away with phone numbers. I’ve tried to do without, and found it impossible.
It will, but you need to keep the sim card with the old number topped up so it doesn't expire, in case you ever need to log in again. The only way is to receive a text or call on that number, just like whatsapp.
To be fair, Telegram's protocol is open and there are many open-source clients with their established userbases. There's even a separate team at Telegram developing an official alternative client (Telegram X) to foster competition. Also, there's Matrix-Telegram bridge in development.
So the article's point is only partially applicable to Telegram.
>Why does everybody wanting to exchange messages need the same client?
Why not go a step further and ask why everybody need the same protocol?
Would that bridge not require you to hold a telegram account? If not, then that's some true federation there, and they have my respect and praise (as an XMPPer).
Then Telegram is no better than other silos, and just slightly better than the worst of them in the sense that it lets you use a (puppet) third party client.
To most users Matrix is a walled garden under computer expert influence
The only difference between any of them to the end user is some are privately funded/operated
As technical inventions they’re all black boxes most users won’t understand
Am I to audit all the code to make sure some Matrix node hasn’t figured me out?
All blog posts like this do is reiterate for me that as clever as their understanding of a particular abstraction, programmers are opinionated humans looking to manipulate based upon the perception their insight is somehow better, like everyone else
Someone somewhere can figure out who you are because you merely use a technology. It can all be traced back to a purchase or a manufacturer or a radio tower
Pretending software can hide physical reality is weirdly cognitive dissonant
“Walled gardens” are worth for stuff like communications. No one likes to speak in X and being “hacked” by someone that knows how to trick the speech so people will understand or see a different message.
The downfall of email is a byproduct of “smart-ass” clients that add spy pixels, scheduled messages, automatic reminders, Rich HTML emails that looks horrible on mobile, etc.
An standard protocol, and a standard app, is good for the people who just wants to communicate something with someone; may be hackers doesn’t get it, but I’m happy some like moxie does.
I wonder if signal ever really came under serious attack whether Moxie has a plan he's sitting on to decentralise it with its existing userbase?
Of course people want to use these things with their phone. That's kind of 99.999% of the point. Apple and Goog have shown they control what the general population runs on their phone. Any doubt about their ability and willingness to unilaterally enforce that without due process and without even a full and thorough justification at a moment's notice has been removed along with parler from the app/play store. The sudden change in censorship stand in line with the democrats views happened exactly when it became clear the democrats were going to have control.
They're coming for signal and will use domestic terrorism as the wrapping paper. There might be also some "think of the children" and "Isis terrorism" involved so be sure to be ready to be accused of being a sympathiser white supremacist, islamic terrorist, pedo is if you like your messaging private /because/ you /must/ have something to hide! (From people who work at a building that celebrates J. Edgar Hoover - how could you want to hide anything from them?)
Yes but email also used to be fragmented and walled garden'ed back in the early days of networking.
Chat is still in its infancy as a technology. We are still trying to figure things out: what's the minimal necessary feature set? What should a server API provide to clients?
And a myriad of behavior/feature/privacy questions that different messaging systems handle differently, for example: what happens when I leave a group chat - should others see me leaving? Can I leave quietly? Should I have a choice?
Or: when I join a group, do I get access to the entire message history? Or: what happens when I block someone and then later message them - should the message history be restored? This and many other privacy related problems are handled in as many ways as there are messaging systems in wide use.
Let alone handling of audio and video calls.
Messaging and its feature set should stabilize as a standard way of communication before we can say to everyone: OK so now there's no reason you shouldn't use a standard protocol. If you don't, you are definitely a bad guy. Today though it's still not easy to make a case for standardization, in my opinion.
ICQ came out in 1996, AIM in 1997, and MSN in 1999. I don't think it's fair to give the people working on this a pass by saying this is a new problem - working products have been shipping for over 20 years. Some of the devs working on Signal and Matrix were probably born after ICQ was released.
The reality is that all of these systems, including email, tend towards becoming walled gardens. Otherwise you end up with the same problem that email has which is that a huge percentage of it is spam. At this point email is basically a few connected walled gardens from the major providers. Before that the amount of spam was even larger.
The problem is not in which year it started but whether the feature set is stable enough to be standardized - see my questions in the original comment. And that's just a few of them.
Each of these chat applications have answered the questions you raised in their own way. Since we haven't converged on a single set of standard behaviours in 20+ years, it probably means there isn't a single right answer.
Part of the problem is that previously they were a value add as part of a service provider. There was no intent to generate revenue from it because the revenue came from the provider's operations. If I'm building a chat client now, though, I've got to find a revenue path. You need the walled garden so that you get lock-in and can find a revenue model from it.
I also want to add the Utopia p2p https://u.is/ application to this list. It is an all-in-one application, in addition, it guarantees anonymity and complete security of personal data. Unfortunately, so far there is only a desktop version, but I have never used Slack from a mobile phone. Well, plus this app is free.
I only use SMS/RCS, for the walled garden reason. The other reason is is I can't stand the "social media" feature of having yourself broadcasted to all your "friends/contacts" the moment you join: HEY look everyone, your good buddy is here! Absolutely the worst.
One-on-One chat windows, Group Rooms - the representation itself is very similar in most messengers. People wouldn't care about having multiple messengers installed if they only need to thumb one launcher icon. I think "non-agenda" oriented platforms like Signal and Matrix would be in a position to allow for such interfaces to be called up from.
As with mail desktop app interfaces, chat-window design patterns have solidified on handhelds.
I read about Beeper and am eager to learn about its inner workings, but what about platform support that the messenger Apps can open up to?
The problem is that federated protocols and platforms don't really evolve that well with a few exceptions. We had XMPP and it died. Then WhatsApp and Telegram showed us what truly modern messengers could be. When you can't make a change at the client level you won't be able to advance.
So, even if you believe Matrix is the future and Signal/WhatsApp/Telegram have a drastic flaw, we couldn't get here without them.
Isn't this a known trajectory for all such [solutions]: ease of use, multi-platform, originally advertised privacy and security concern, critical mass gain ==> sell / be acquired (latter requiring a little extra $$$ effort from the acquirer part) to FB/Google/Amazon/etc.?
Agreed, decentralized and federated IM should really replace the horrors of walled gardens that remain in the dark ages to this day. But common greed and unscrupulous developers prevent progress. We are very lucky e-mail managed to break through this.
As of today, XMPP has a more diverse ecosystem of clients and servers implementations, that makes it much more versatile and resilient.
Matrix addresses the theoretically interesting issue of distributed chatrooms, which makes the protocol and its implementation very complex and inefficient… while not adding much in practice (that's only my opinion, but I think this self-inflicted complexity has done nothing but a disservice to Matrix)
I usually see being connected to FB, the most notorious offender of data protection, as one major issue of WA. Not sure how the alternatives share that problem.
I installed element the other day, clicking through what I thought were the most common settings.
Am I supposed to see which of my friends are on it? I see none at the moment, and one of the main things that told me that Signal was gonna happen was when I started to get notifications about yet another non techie friend getting on it.
"Why does everybody wanting to exchange messages need the same client?"
Gee I don't know, maybe standardisation has some sort of benefit that leads to a cohesive, consistent experience for all users as opposed to having a bunch of clients that all implement varying levels of the spec to various standards...
> Gee I don't know, maybe standardisation has some sort of benefit that leads to a cohesive, consistent experience for all users as opposed to having a bunch of clients that all implement varying levels of the spec to various standards...
Supporting only one application is quite the opposite of standardization, it is vendor lock in. If it was standardized it would open up the opportunity to have more than one client.
Unfortunately that guy is a hack who pretended to have developed email to boost his credibility and now spends his days releasing videos using cherry picked and debunked statistics to claim the election was fraudulent.
Teaching my mother in law to use Signal:
Install. Accept permissions. Choose a PIN. I can send you messages. You can see your friends who already use Signal. Well done!
Matrix:
When you start you will get to choose from [matrix.org], swirly symbol "element matrix services" (the biggest and middle option, but not the one you want), or other.
Choose matrix.org (nothing else, or we will get very confused). Then click "sign up". Then enter a username and password (need a username which no-one has used before, you can't use your email address. Make sure to remember it).
Oh, but do put your email address in the next page, which is how people in practice are going to find you.
Bonus feature: How do you join a room? Click on it. How do you leave? Maybe long-press the room name, or swipe? Nope, you enter the room, click on the triple dots, settings, scroll down, leave room.
Bonus feature 2: Once you join a popular room, all users of that room are added to "Known users", making the list completely without value. How do I actually find people I know?