Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The official client is plagued with UX bugs. Push notifications works some of the time, sometimes the app would hang trying to open or access a channel, some message get stuck as the last entry with no means to delete them. It makes the network barely usable since clients can't keep up with whatever is going on at the network level.

Speaking as the project lead, one of the controversial decisions we made with Matrix was to try to seed the ecosystem with effectively three entirely independent clients. Element Web, iOS and Android share zero code (other than the low-level E2EE library). The reason we did this was to dogfood the protocol, avoid a client monoculture, ensure that multiple independent clients would work well together, and also provide native SDKs for the three main platforms that others could build on or fork.

This strategy worked to some extent... but the major downside has been that it's more than tripled the dev efforts on the clients (relative to doing PWAs or React Native or Flutter or whatever), and each client has ended up with a completely different set of problems and bugs. For instance, the things you've complained about above all sound specific to Element Android (other than slow room joins, which is a serverside issue that we're working on right now: https://www.youtube.com/watch?v=z7tGU6vv6ZQ). It's rather sad to dismiss Matrix (or even Element) as a whole due to bugs on one specific app on one specific platform.

We've also ended up being massively distracted by building out the non-optional fundamental work such as E2EE and the core decentralisation bits of Matrix (as well as stuff like low bandwidth, which has been driven by paying customers who care less about UX and more about capabilities). This has in turn ended up undermanning the core app teams fairly catastrophically. Until this week there was effectively only one guy paid to work fulltime specifically on the core app for Element Android - and it's only been in the last few months that we've been able to put more than one person on Element iOS and Element Web. Everything else has been stuff which has indirectly landed via customer projects for people like the French govt or German Bundeswehr, or FOSS contributions.

So, the good news is that this is being fixed (better late than never) - there are ~5 people working on improving core UX in Element Web right now, ~3 on iOS and 2 on Android. The improvements on iOS & Web over the last few months should be really quite palpable - e.g. all the stuff on https://element.io/blog/introducing-voice-messages-and-so-mu.... Android should be starting to catch up quick too.

Meanwhile, if anyone likes Matrix and wants to help us improve the clients, we're frantically trying to bring on more people to work on it fulltime to fix this faster - see https://element.io/careers for details.



Please don't take my comment as dismissing the platform. The team behind the network, and the apps have done a phenomenal work. And I still use the occasionally buggy clients on a daily basis, and I pull as many people I know as I can to use Element.

My comment was on the fact that the UX is what always fires back at it, most if not all peers I've introduced the app to have told me they don't like it because it doesn't work reliably. I keep telling them that's the cost of using a truely open and secure messenger.

Thanks for pointing out the new focus on the UX aspects, and yes your approach of 3 separate code base is an ambitious endeavor. But I also think it was the right call to make. The Web client is the best messenger client I have ever used. And each mobile client are an absolute delight in term of near native feel.


Aren't android and desktop clients using Electron? So I assume at least Web+Android+Desktop (or maybe + iOS) should share lots of code?

Also, may I ask whether you considered Qt or why you dismissed it? As an example, I think Telegram's UX is so ahead of the competition...so if it were me, I'd have simply forked Telegram...


Android is not using Electron; it’s a completely separate codebase to the web app (hence the complaints about it in this thread which don’t apply to Web or Desktop). On the other hand, Web and Desktop is basically the same app.

We dismissed Qt because it’s bad enough managing 3 separate apps without adding a 4th one too.

Telegram’s UI is great, but it’s also tightly coupled to Telegram’s backend, which is not Matrix. It’s like saying “Word is a great word processor; I don’t understand why you can’t edit PDFs with it”


> It's rather sad to dismiss Matrix (or even Element) as a whole due to bugs on one specific app on one specific platform.

I still use Element/Matrix because I like the mission but I have a Linux computer and an Android phone, so I use the clients that are available.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: