Having said that, is the UI/UX apart from the above really terrible? When using as a simple messenger app, the experience for me is almost the same as WhatsApp (which almost completely replaced sms at least in the Netherlands). The biggest issue I have is that when you open the emoji selection screen when typing a message, you have to close this and reopen the keyboard to continue typing, which is a bit silly, but not a deal breaker.
That's exactly what I like about Matrix. I can verify other devices simply by comparing emojis - simple, easy, great. That it should work reliably is a completely different matter, but in itself it's great.
In my experience, neglecting the onboarding experience is a cardinal sin for any project challenging some incumbent.
I‘ve been struggling with understanding what Element wants from me when signing up or signing in on a new device. Unfortunately I can‘t, in good conscience, recommend this to less technically knowledgeable friends and family.
...Except you can? federation_domain_whitelist in synapse settings. Seems to have been working since 2018. I'm using it. Enabling it can sometimes cause significant delays when communicating with users on homeservers you're not federating with, though - I have some vague memory of seeing an open issue around improving relaying in these scenarios.
I do agree that there's a long way to go before I can start recommending anything Matrix-based for friends and family. Things are just too slow, broken and inconsistent on both server- and client sides. There has been steady progress on all fronts, though. Maybe in a year or two.
We also need a very easy export/import process for other clients. That's a huuuge untapped feature. It means the data stays the same but you just slap a new UI on top of it. "Apps" then only compete on UI which means the diversity and sophistication of those experiences will grow rapidly.
Combine that with a plug and play self hosting solution eventually and we're well on the road to secure personal clouds.
> I think we are really close to regular people using matrix.
I personally haven't met any "real" people who are even aware of Matrix. When I broached it with a non-IT friend, they were actively uninterested in unifying messaging applications as they had "facebook friends" and "whatsapp friends" and interacted with them differently.
> export/import process for other clients
conversation history, you mean? Is there other data a messaging app captures that you want access to?
[0]: https://matrix.org/bridges/ [1]: https://github.com/tulir/mautrix-signal
> I personally haven't met any "real" people who are even aware of Matrix. When I broached it with a non-IT friend, they were actively uninterested in unifying messaging applications as they had "facebook friends" and "whatsapp friends" and interacted with them differently.
I tried to sell it too with the "unify your messaging apps", but this is a wrong selling point to new users. First they need to start using matrix as their messaging app, realize that it works well, including VoIP and video calls. Once trust is there, only then start thinking about using bridges. Because there will be rough edges (e.g. federated voice/video calls do not work).
Because of the way bridges integrate to third-parties, they are not bug-free. Reliability is just not great yet. Maybe except a hosted service, Beeper[1], which is run by people who know most about these bridges and can provide support.
To sum up, I am using Matrix for my family network, and some bridges personally; I am not yet planning to spread the use of bridges beyond myself. Besides the encryption setup, I like the UI a lot. I also use gomuks[2] from time to time, which is a terminal matrix application. I have not stumped into server-side problems.
I am donating monthly to Tulir[3], the most prolific Matrix bridge developer (and, to my knowledge, co-founder of beeper). Because I started using Matrix thanks to his bridges.
Oh, and I love the Matrix sms bridge[4]. I set it up to see if it works, and I am not going back. It's great.
It's not useless. What if there is a server vulnerability and someone (or something) hacks your server? Now all your logs have been exposed because they were stored plaintext.
> Oh, and I love the Matrix sms bridge
Agreed - I totally buy Beeper's testimonials, as I 100% am more willing to have an actual conversation with a text contact if I'm able to type it out on the device of my choosing. Ever since by Blackberry kicked the bucket, I've hated typing on my phone. That said, I've meant to fork the Android app to try and put a bit more feedback in it - if it doesn't work 100% right off the bat it gives roughly no indication of why. Could use a little love, as it's one of the killer bridges!
I even went looking a while back and all I found was franz which felt clunky and unusable.
Even though I want to get away from the fb ecosystem, at the end of the day, normies gonna norm.
I wish this were true. We're not even that close to getting regular people to use Signal, at least not in meaningful numbers. Perhaps your friends family are more tech-savy and privacy-focused than mine, but it's like pulling teeth to get folks away from iMessage or Whatsapp.
Simple: there's a messenger everyone is on. WhatsApp. There is no need to install anything else.
One of my friends who studied something IT related is adamant about having only one messenger installed. It's too complicated having 2-3 and not all contacts use either of the alternatives to WhatsApp.
I use it myself and it has been working perfectly for me since I switched to it.
Moxie certainly know that, but he can't actually prevent third-party clients. Not even Microsoft, ICQ and AOL succeeded on this when we were using Pidgin (and Licq and Gaim before that) to talk in MSN Messenger, ICQ and AIM.
As much as I disagree with the underlying values, I haven't carved out 40 million monthly active users from a crowded space, so maybe it really is the best chance.
If I think about something like Slack or Discord, though, they surface area of those things are just huge. So many protocol details to work out, and so many features to duplicate for a third-party client. And they're such moving targets, too, with features added at a regular cadence (unlike AIM, ICQ, etc. back then, though even then Gaim/Pidgin didn't have voice & video support for a long time).
I also think the third-party client drive for AIM and ICQ was driven by people who wanted to use it on Linux but had no way to do so at all. The clients were Windows- (and Mac-?) only, WINE was a pain to use back then, and there were no web clients initially. But with Slack and Discord the impetus just isn't there. At least with Slack (I'm not super familiar with Discord), Windows, Mac, Linux, Android, and iOS are all officially supported, and there's always the web client if you don't like the Electron-based desktop clients.
On top of that, Slack's API is rich enough to enable things like a Matrix bridge, so, again, probably just not enough interest to do something truly standalone.
The only thing I'm somewhat surprised about is that no one has tried to build a third-party standalone WhatsApp client that doesn't require being tethered to the mobile client. But perhaps Facebook/WhatsApp has done a better job at obfuscating and hiding their protocol than AOL and Mirabilis did long ago. Or maybe the interest just isn't strong enough to warrant the effort.
I think the latter hides a lot of complexity behind a simple UI, most notably all the E2E encryption logic and the purely client-side message storage, with an optional backup system and even its own built-in remote access server (for the web client).
Compared to that, Slack is mostly a HTML renderer as far as I can tell, with most of the complexity server-side (e.g. complex notification rules, multi-client support etc.)
My guess is that WhatsApp (and Signal, Matrix etc.) client logic is much more complex, since so many things that are fairly easy to do server-side need to be reliably performed in the client instead once E2E encryption is introduced.
For Signal it's not the case. The client is slow, has many quirks and lack features.
If Moxie allowed third-party clients, it would be a win-win situation. Over time users will get a usable client, and the core Signal team would be able to concentrate on their Crypto business.
I'm not saying that's the main reason for them to exert such a tight control on the Signal ecosystem but it shows how damaging that move has been: now you can't really exclude an ulterior motive for them refusing to integrate with third parties. It damaged the trust I had in the project.
https://github.com/tulir/mautrix-whatsapp
Surely there's a version header in the protocol that could be used to reject outdated clients outright?
That wouldn't be much of an issue if the official clients worked better and had the features I expect from a modern IM client. For instance I never really considered using a third party Telegram client because the official one works really well in my experience.
But apparently proper syncing will have to wait while they implement a cryptocurrency payment system. Priorities.
Look, I'm not saying you have to agree with the reasoning or that you would've made the same trade-off in their stead, but at least personally I always prefer to understand how they came to a decision and recognise that, even when I don't agree and am affected by the consequences of it, they're not doing it to spite me.
Maybe I'm wrong but my theory is that it started with "end-to-end encryption means that you don't have to trust us" and it seems that many among the Signal team and fans took that to mean "we can behave as shadily as we want and not communicate well since it doesn't really matter anyway".
But there's more to trust than end-to-end encryption. I also need to trust that the project will keep improving and that I'll still want to use it three years from now. The fact that Signal is not federated and they keep such a strong hold on the project makes it even worse, I really have all my eggs in moxie's basket.
I used to actively tell people to use Signal, now I say nothing and these days I find myself using Telegram more and more even though protocol-wise Signal is clearly the superior option.
> So long as federation means stasis while centralization means movement, federated protocols are going to have trouble existing in a software climate that demands movement as it does today.
While my initial reaction was "omg, I hate it", I don't 100% disagree. I think one of the biggest drivers for adoption in Matrix world would be a streamlined on-boarding to a central server (matrix.org?), so that it "just works" by default. Like the front page of Reddit, get people in the ecosystem, then they can discover the subreddits and engage more deeply with the platform.
As a comparison, email is technically decentralised, but if I were to move off of Gmail, 80% of my emails would still be on their servers because that's what their recipients use.
(This is of course somewhat of an exaggeration - it's still better than if email were a proprietary Google thing. But it's less of a utopia than my decentralisation-minded self had in mind in the past.)