Matrix is annoyingly hard to get into, IMO. It has gotten better in the last years, but it isn't exactly good yet. It hurts because I want it to be good so that everyone can switch.
I plan to talk about this with the Element developers at CCCamp.
In terms of "Matrix sucks because not all clients have good UX" - you could say the same about the Web. Meanwhile Element X kicks ass, and is rapidly coming up to feature parity - to the extent that we're going to soft-launch it on the App Store tomorrow.
> I plan to talk about this with the Element developers at CCCamp.
No need; we have the message loud and clear... :|
Almost all communications suggest that you don't, including this message. For years, whenever I'd mention the UX issues I encountered I'd get responses along the lines of "yeah but we're working on XY which will be amazing". Ever since the Riot days the Element (web) client has barely improved its core UX (I'm excited for the 10 year anniversary of the multi-account issue).
> "Matrix sucks because not all clients have good UX"
You may have misunderstood; I'm saying "not a single client has good UX". This is a very personal thing of course, but for me it means that Matrix is barely usable (my favourites are Element X and Hydrogen, but neither is feature complete).
The Matrix 2.0 talk & accompanying efforts are very exciting to me, though. Element X is phenomenal (the first client I actually enjoy using) and the main thing that got me back into caring about Matrix.
The whole reason I'm back here complaining is that I have hope again that one day Matrix can be pleasant to use and I want to help making it happen. I want Matrix to be amazing so that I can tell people to use it without getting laughed at.
> It's probably fair to say that matrix-rust-sdk is the flagship now, not matrix-js-sdk.
I have heard about this (great technical choice, btw!) from side-channels like conference talks, but the official matrix website still shows it as one of multiple libraries in beta and the JS SDK as stable. Using it on the web seems unsupported (the WASM bindings are only for the crypto module). On a Matrix live episode I had (I think) heard hints at the JS SDK eventually becoming a front for the Rust one, so I figured I'd go with that.
Well, as a sibling comment points out, the documentation page very prominently states that it shouldn't be used. And where does the link to the updated documentation go? Of course, a tutorial for registering a Matrix account.
The reason I'm (hopefully productively!) complaining is that I'm emotionally invested again. I want Matrix to be good and I'd like to somehow help making it happen. For now this probably means getting together with interested people at Camp.
Matrix has been a train wreck of a protocol deployment from a pleb consumer pov.
Earlier it was necessary to set up an IRC bouncer if you needed a persistent connection to the IRC server. But now you can just create an account on Matrix and join a Libera IRC channel from Matrix. The Matrix bridge functions like an IRC gateway on Matrix. It's a great way to stay logged into the IRC channels and ensure that you don't miss any messages when you are away.
Sadly it looks like it wasn't considered sufficient, based on https://libera.chat/news/matrix-deportalling.
I've been using matrix for chat since it first came out...and then stumbled upon using it as my system notifications tool...it was one of those "duh!" use-case moments for me. So by using matrix, there's one less app/client i have to use for notifications; all human-to-human chats go into relevant rooms, and system notifications go into dedicated "notifications" room(s). Matrix is truly so versatile!
Now that i see that yours uses PHP, i can share with friends and colleagues who have the same idea as you and I, but prefer leveraging PHP on their infrastructure. My code happens to use python [0]...but the beauty of all of this is that - with open source - users get to choose their preference! Kudos to you!
I agree, FOSS is such a beautiful concept, that allows us to do cool stuff like this. :D
Kudos to you as well!
For those users it's recommended to use Matrix clients alongside something like https://ntfy.sh/ , which sends push messages to your phone. However, one could then also ask: What is the need for Matrix in that case? I suppose end-to-end encryption would be one argument, but you could also encrypt message (contents) client side with something like GPG. So, I'm left wondering what really is the benefit of Matrix for those users.
Are you really going to encrypt alerts your servers are sending you with GPG?
I am also spending some time hacking around some terminal matrix client. I don't have to worry about some corporation pulling the rug.
The matrix TUI client I am using is iamb[1]. It's still early WIP, but usable.
Moving back to IRC, I realised how heavy Matrix seems to be.
I understand IRC is very old and lacking a few features, but Matrix seems like a completely overkill solution. It seems so complex that the only way to write a third-party client is by using the official libs, and even that seems so hard that they keep suggesting that Element is the only good alternative (while acknowledging that it still has pretty big UX issues, after all those years).
Also I remember reading from one of the leads that performance was not their main concern. They would rather work on academic features than make sure the protocol is very efficient. That's a problem for me.
At this point I am not sure if Matrix can succeed...
For me, IRC just doesn’t work. I can’t receive messages when I’m offline. I can’t read what other wrote while i was offline. These for me are just plain red flags.
I also can’t search if somebody else asked the same question before.
There is no good mobile (iOS) app. I tried Palaver, it’s ok but every other chat app is much better.
Lastly, IRC is really hard to set up and log into. And I would call myself pretty tech savvy. This just eliminates it from ever becoming mainstream.
Also, Matrix Client-Server API is just HTTP calls, it isn't really that hard.
But using the SDK gives you things like encryption and other features.
Example: About a year ago, "Threads" went out of Beta and the feature is pretty much still unusable, because Notifications get stuck all the time. Even though there was a lot of progress to fix this – it's still not up to par with other Messengers.
I've been running my own home server for a while now, and talked a friend or two into doing the same. We use it daily and it is "good enough" for us, but I'd never try to sell it to somebody that isn't already interested.
Notifications seem get a little better, then get a little worse again, and then the cycle repeats. Unless I've watched the system notification come in, I just ignore it. Definitely not perfect. I've also managed to get into a state where it'll notify me about messages from days ago that are marked as read, and never clear without a logout.
I was really excited about the possibility of third party clients, but in general, they all have some big missing features and/or show stopping bugs.
As a dev you need to not fall into the trap of lumping users problems and faults off onto your own scale of what is or isn't important. This will ruin your business. You as the dev/on the inner circle have bias to what you think is or isn't important. If you disregard something as small but your users are like yea it's small but it's a major problem that makes the platform unusable your gonna drop users quicker than you can blink all the while asking yourself why?
Dangerous position, be wary of judging your clients problems importance on your own scale. Matrix will fail with that attitude. You won't focus on what your consumers want.