Hacker News new | ask | show | jobs
by dingo454 1787 days ago
The Element foundation should use some of that sweet money to:

1) buy FluffyChat and some serious UI designers, because Element is probably one of the worst matrix clients in terms of UX.

2) fix decryption issues that happen randomly even by just using Element on the matrix.org server: https://github.com/vector-im/element-android/issues/1721 as it's a real show-stopper once you hit it

3) add support for multiple accounts and identities (too many requests to list on the issue tracker), since federation is great, but it's not always wanted.

Disclaimer: I managed to convince a group of technical users to switch over to matrix. We stay for the principle, but not really for the experience so far. FluffyChat is the best client we tried on mobile. On desktop, I'm glad weechat-matrix and gomuks exist, because all the other clients "reek" to us. And even if you like the modern chat UIs, they're really not bug-free either.

Overall many clients and some severs to choose from, but I did prefer irc just for the simple-no-BS-clients alone (the protocol has nothing to do with it).

8 comments

If you prefer FluffyChat's UI over Element's then I'm guessing you are after a 1:1 or group style chat (i.e. chat bubbles), similar to say Signal or Facebook Messenger. Element isn't catering to this audience from what I can tell, it has a UI that is similar to Slack or Discord, which is suited for large group chats. Just because you aren't using Element in this way doesn't mean that it has the "worst UX" of any other client.

Your third point is a client side feature. If you meant that you want Element to have that feature, then yes I agree. But in saying that, it wouldn't surprise me that it's not high on the priority list when most clients (of any chat app) have this feature.

I totally get it, but I still disagree. Getting more users on the network should be a #1 priority. You don't want to keep another 10 chat programs, just because matrix is "not" a plain chat app. If the element foundation doesn't do this, who will?

As a tech user, I still don't find the element UI great. It's clunky, quite slow and generally not intuitive, and wastes a lot of screen real-estate.

I'm using slack and discord and I find both to be _significantly_ better for group work.

But actively trying matrix on mobile, I still found the simplified FluffyChat UI much more usable on mobile anyway. Element is this sort of annoying middle ground which is not great for either.

The third point is also important, because matrix is one of the few systems where you can have a private network for your work. You know, just like slack (again, the "group" they're apparently targeting?). Great feature. But if you, like me, would like to use matrix for both work and other communications, you're stuck.

So in the end you run two clients. Element for work, fluffychat for everything else? And maybe shildychat for your other private group (I wish this was a joke).

Not to justify the missing feature in any way, but assuming you're on Android can't you modify the applicationId of the existing apk (there are tools on GitHub that will do this for you), resign the apk, and adb push it? Unlike desktop, mobile apps are so thoroughly sandboxed from one another that I don't think there's any way for that to cause problems. I guess updates might be cumbersome though.
You can. People have suggested the Element foundation to publish "red blue green yellow" versions of element with just a different app id for this.

I wouldn't be against it (the _clear_ distinction between accounts is important!), but element is already a memory hog. You really don't want multiple instances running.

This is why I've always been confused by HN's comparisons of Signal and Matrix. I see Signal as a replacement to texting/Messenger/WhatsApp (chats focused on one on one or small groups) but I see Matrix as a replacement to Slack/Discord (chats focused on organizations or large groups). I'm not sure why these aren't two different paradigms, but maybe someone sees something I don't. Telegram seems the most in between to me, though there are security reasons I see Signal/Matrix as being better.
Matrix is a protocol. Element is a reference app built on top of that protocol, and Element looks like Slack/Discord.

Other apps built on Matrix do not look like Slack, e.g. Fluffychat, which looks very similar to Signal.

But don't you still have the same server paradigm on Fluffychat as you do with Slack/Discord? That's very much not like Signal/WhatsApp.
> because Element is probably one of the worst matrix clients in terms of UX

I'm genuinely curious why? I use it on desktop and mobile, and I haven't found it lacking in anything? I've heard this said before, but I don't get it

For the average user the element UI is just confusing. This is the #1 complaint I got from all non-techies. They expect to just see a contact list, with each contact being a simple chat without the typing bar. Most of the other interactions are also too complex (like sending an image).

You'd think this is a small complaint, but I've listed this as first as it's the biggest barrier to conversion. Ask the _same_ user to try FluffyChat, and no objections will be raised besides the expected "why another chat app".

I'm not a fan of the Element UI myself, although I "get it" as it's targeting to something more group-oriented like slack. The problem is that Element is currently neither oriented to plain users, nor it's great to technical ones.

If everything else had to stay the same, they should optimize for plain users on mobile and offer a better, more advanced desktop client instead.

I guess it depends on what Element is trying to replace.

If it's whatsapp etc then yeah, I agree, it is not going to work. But if it's Teams or Slack or something, then I don't see much difference. I don't think it is meant to be a whatsapp replacement, I think it is a generic chat tool that lets me integrate all my services in one place - kinda like Pidgen.

As you say, maybe this cash injection cam let them get a mobile client that can work as a whatsapp replacement (as I guess that is what most people are moving from)

My suggestion, again: buy FluffyChat. Add important missing features, such as cross-signing. Make it the default client.

You can keep element for advanced users.

I'd argue it's still not a great client for tech users either, but I see an evolution in that direction more likely than the opposite.

What important features? FluffyChat had cross-signing for more than a year now. A lot of other features are unlikely to be added, since FluffyChat aims to be easy to use. FluffChat even supports E2EE fallback keys!
I do agree it is quite ok, it has all the basic features, but it feels "slow" and "beta" at some points.

In addition to some decryption issues that made some of my friends hate Element (they could view messages on one device but not another one, and there was no clear action to fix this), one of the issues I think could be easily worked on is the settings: the current layout is way too complicated, too much scrolling, too many options, it doesn't feel clear at all. Also the stickers are really crappy: they are not useful for any serious chat (ie. work), and not useful for any fun chat (ie. friends).

There aren't that many showstopper issues in the UX (except for wrangling bridges, but that's not really an Element thing, it's more of a Matrix thing).

But everything is just a bit off. The text is a bit too spaced out for IRC users, the icons a bit too small for people coming from Slack and Discord. Colors are seemingly chosen at random by the coder and don't jive well together. The "These people have read the backlog this far" notification is just plain useless. It is death by a thousand cuts really. The small things stack up and make me not like using Element for Matrix.

I do love Matrix, the underlying technology, in theory.

IMO they just need to bite the bullet and make a truly user friendly mobile UI to replace Telegram, WhatsApp, FB Messenger etc. And a proper client for the major operating systems that's not too different from Discord and Slack.

Using it everyday too at $work, also used Slack and Gitter (and FreeNode/IRC FWIW). Quite happy with the current Element UI. They have slowly added features and fixed issues. I tried a beta some time ago with... topics? Rooms grouped in some sort of topic I think. It was really buggy, but I forgot about that I haven't seen it yet. So I assume they are doing some A/B testing, trying things slowly and seeing what works.
I want to like Element but I find strange UX issues or minor bugs every time I use it. It feels extremely beta from a polish perspective. I'm hopeful they can iterate and deliver something on par with the quality of mainstream chat apps they just need to decide that UX and look-and-feel is as important as delivering something conceptually novel from an engineering perspective.
Above all else, it's because core functionality is frequently broken and issues like this[1] languish for months and years without updates. When things don't work, it's rarely transparent to users whether this is due to a bug on Element's end (or on the server side), user error or misconfiguration, or operator misconfiguration.

Further, there's virtually zero documentation for end users. There are no in-app explainers as to what E2EE is or why anyone should care, leaving the onus on operators to document and explain these things to non-technical users.

[1] https://github.com/vector-im/element-ios/issues/3762

For me the channel/room list is too messy with different parts which have their own scrolling zones. And each entry takes too much space leading to having to scroll all the time.

On Quassel I can have 30 channels open without having to scroll. On element only 10 or so. That's way too few considering the number of bridges available.

They have a high density xchat mode but it only affects the chat view, not the room list

Personally I’m always confused about the accounts I which one I’m currently using (they have the same names). Also I can never understand when I verified someone.
I had never heard of FluffyChat and so visited its site. Appears to be a very attractive landing page. However, UX of the site leaves a lot to be desired.

Their FAQ link in menu bar just links to their GitLab issues page, and AFAICTA nowhere on their site does it actually explain what FluffyChat is or which what network it operates, etc. (clearly from context I infer it is Matrix)

It's just an alternative Matrix client built with Flutter. It works with any Matrix server.
I'm not trying to talk down your personal experience or have any skin in the game, but...

We also have a group of technical users on Matrix, where we were formerly on IRC. Nobody complains about Element and most prefer it over the native clients they tried (but it doesn't rule out the possibility that everyone hates all native clients here).

This is also just anecdata with a sample size of "handful of users", but from the other side.

I personally would love to have a native Windows and Linux client I really like (preferably the same), but so far I've had no luck. The Android version of Element is perfect for my usage pattern though.

It's funny, but I can not agree more.

I never think a concrete issue will affect me. But over the last weeks I've been affected exactly by 2). Today I finally figured out that it had to do with the sender having turned on the setting "Never send encrypted messages to unverified sessions from this session". It's terribly implemented, because it gives the sender no feedback that they break any unverified receivers, and the unverified receivers only see an obscure error message. For more details, see my issue report: https://github.com/vector-im/element-web/issues/18255

Also +1 on Element's terrible UI and UX. It was designed by programmers instead of UI designers, and you can feel that. I always find it weird when people talk about Element being a good client. It's literally the best of the worst. From the thousands of open issues (5000+ Web, 1000+ iOS and Android each!) you can clearly see they have an organization problem. Even most volunteer open source projects are more organized. I hope at least 30 million will be enough for them to hire some talented people and build a better management.

I have the feeling most of them are hackers. Hacking and experimenting with new things like Matrix P2P is great, but it's not enough to have consistent output. You need to manage an organization, and I have the feeling they aren't capable of doing that. On that note, I'm surprised they managed (pun!) to get 30 million of investment.

> From the thousands of open issues (5000+ Web, 1000+ iOS and Android each!) you can clearly see they have an organization problem.

As I said before down thread (https://news.ycombinator.com/item?id=27974054), there’s nothing bad about thousands of issues, quite the reverse in fact. Many are feature requests that may or may not be implemented.

A large number of open issues means the project is growing and many people are have ideas for new ways it can improve.

Furthermore, those thousands of open issues hint to me that a lot of people are actively contributing, and that the dev team takes responsibility for legitimate problems.

Compare this to other projects with the illusion of quality because most bugs haven't been reported, or because their developers routinely dismiss and close reports of bugs that they don't feel like fixing, just to keep their bug tracker looking clean.

Indeed, the contents of the Matrix/Element/Synapse issue trackers played a significant part in convincing me that the developers are making good decisions, and that investing my time and contacts in this network would also be a good decision. That was over a year ago, and I do not regret it. The project still looks very much on track to me.

So much entitled whining in this discussion. With friends like open source users, who needs enemies?

> Element is probably one of the worst matrix clients in terms of UX.

If you ask nicely, I'm sure they will give you back all the money that you paid for it.

But your point 2 is spot-on:

> 2) fix decryption issues

Part of the problem is that Matrix nukes your crypto keys every time you log out. This traces back to Element's heritage as a primarily web-based app, where there isn't really a great local, durable place to store your secrets. Not having local on-device storage is painful when the protocol encrypts messages to individual devices rather than to users.

The fix is to set up encrypted key backup, aka secure server-side storage. Then all your keys from all your "devices" (including real devices and web sessions) get safely stored in encrypted form on the server, where you can always find them. You have to use a second passphrase to generate the new key-encryption key, so it's a little annoying. But the fix is pretty magical. Suddenly everything just works!

I was trying to figure out why this comment rubs me the wrong way so much. I think it's how quickly it leaps to hostility and calling the user entitled, only because they shared their honest feedback. You say users aren't entitled to anything, which I guess is true, but what does that say about the value that this project purports to provide?

I guess what I'm trying to say is I read this comment and my thought wasn't, "Oh, I guess those problems are handled", it was, "Oh, this projects advocates have a lot of contempt for their users."

The GP comment was well beyond honest feedback. Honest feedback is like "I find such-and-such piece of the UI ugly", or "All of my friends get confused by the way it does XYZ".

What I object to is the way our community viciously tears each other down. "This open source product is the worst thing ever! Kill it!" This crap is not productive. It's harmful.

We're up against companies who want to monopolize markets, lock us in to proprietary platforms, and own our data forever. And then when somebody finally comes along and tries to do the right thing, we attack them for not being perfect. F that noise. So, yes, I have contempt for this attitude.

(And no, I have no affiliation with the company being discussed in this article.)

Perhaps it is harsh, but element is being founded to improve the client, and I find several other open source clients to behave better than the official one.

I call this honest criticism. My hope is to push matrix as an open protocol, to push matrix as a slack replacement and I genuinely wish the greatest success to the element foundation.

I currently cannot say "element is awesome". Matrix as a protocol and ecosystem is awesome, but the client... I can't say that.

Agree wholeheartedly here.
It's not about being perfect, it's about having a solid UX such that we can start recommending it to our friends and family to help wean them off the major platforms without a lot of headaches and frustrations, which will push them even further towards proprietary ecosystems.
Fractal and NeoChat are two more Matrix clients. Fractal builds on the matrix-rust-sdk crate.

https://invent.kde.org/network/neochat https://gitlab.gnome.org/GNOME/fractal

There is a lot more than 4 clients out there. For example I develop Nheko, which supports E2EE (including cross-signing) as well as 1:1 calls (those only on X11 though, because time and none seems to be interested in adding call support on other platforms). Then there are UX improvement forks like SchildiChat, clients for other platforms like SailifshOS, etc. Oh, and I almost forgot about Mirage.
Given how frequently Matrix comes up in the Signal federation/alternative clients discussion, it's interesting to note that neither one of those supports the E2E encryption in the Matrix protocol.
I haven't tried it in a while but last time I tried about a year ago, the messaging was very slow - both to be sent as well as receive.

Has this changed recently? I would like to give it another shot as I want to support the tech. Can someone with use experience please comment with their experience on the speed?

About a year ago was in many places just after the start of the pandemic, which brought a large influx of users to the default public server. It got overloaded, and slowed down. I experienced it, too.

They have made several rounds of significant scaling improvements since then. It's almost never slow for me any more. (And even if it was, I could always just choose a server other than matrix.org, or run my own.)

That was probably a problem with their main matrix.org homeserver, more than with the protocol or your particular client app. It was very slow for a while, until they worked out some scaling issues to handle the load.

I’m on matrix.org pretty much every day now, and it’s a lot better than it was. And when I use my own server to talk with other local users, I never have any latency issues.