Hacker News new | ask | show | jobs
by Arathorn 1085 days ago
It's probably fair to say that matrix-rust-sdk is the flagship now, not matrix-js-sdk. Yes, js-sdk's doc isn't exhaustive, but http://matrix-org.github.io/matrix-js-sdk/stable/ and guides like https://matrix.org/docs/legacy/usage-of-the-matrix-js-sdk/ tend to be pretty good.

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... :|

3 comments

> 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.

> JS SDK as stable

To play Devil's advocate, the documentation for the JS SDK was exponentially worse quite a while back. So much so that, in some cases, you'd have to view the actual implementation code to understand how to use it.

This was made even worse by incomplete TSDoc which didn't cover the entire API surface, meaning using the SDK in TypeScript was a matter of casting the client to `any`, checking the implementation to see what a certain method required, understanding how the method worked with no documentation whatsoever, and using it without any editor suggestions etc. to help you. (yep, long sentence)

Not sure if it's still as bad but wow, that was one of the worst JS libs I've come across in a while. Despite its shortcomings as a platform, the Discord ones were a lot more comfortable to use (Eris, Discord.js), as they had actual documentation.

I'll finish up by saying I hope they've learned that developer experience is very important for such a platform. Look at Discord; bots were one of the things that put them where they are today. Being able to programmatically integrate into a platform is crucial to its success as, without it, you have something nobody knows how to actually use and integrate with.

The 2nd link you posted has a large red disclaimer stating the documentation is outdated. Does this mean it shouldn't be used ...? If so, why did you link it here?
That's better, definitely -- though personally I would feel a bit discouraged if I'm looking at a library and the documentation calls itself outdated :-P
This comment could be read as "Element X solves the major UX issues and we're on top of things", in which case no, the message did not get through.
Pull requests welcome.
We have a few pending already (some for a couple of years since last follow-up) and Arathorn saying "don't come talk to us about it" doesn't inspire confidence _at all_.
I'm not going to be at CCCamp. I'm sure the folks who do make it would love to discuss your PRs; I'm sorry if they've ended up getting stuck in review.

The point I was making earlier that I am not in a huge rush to talk to someone who is focused on enumerating a whole bunch of complaints at me, issues which I am PAINFULLY aware of already. Managing a FOSS project is miserable at the best of times, and I'd rather focus on fixing the issues (e.g. solving UX hell by shipping Element X) than being berated about how shit we are and how much better we could be.

I think both Matrix protocol and Element are some of my favourite pieces of software of all time. Use both every day and love every moment.

As with anything software-related, yes, it can always be better, but neither Matrix nor Element are shit. Fucking love them.

> Managing a FOSS project is miserable at the best of times, and I'd rather focus on fixing the issues (e.g. solving UX hell by shipping Element X) than being berated about how shit we are and how much better we could be.

This is not what I mean to do at all. I am sorry if/that it feels like that. I don't want to berate you, I want to contribute to Matrix. We are of course better off with it than without it - that's the whole reason people care to invest the energy to complain. If it wasn't a project worth caring about, they'd just direct their energy somewhere else.

I really want to help out. My hope voicing my pain points was (besides trying to get them prioritized up) to get information on how to work around and help fix them. Maybe I will be more successful in #matrix.

> I am not in a huge rush to talk to someone who is focused on enumerating a whole bunch of complaints at me

Please consider talking to someone who is bursting with excitement to dedicate time and energy to Matrix.

Thank you for staying engaged. Matrix 2.0!

+1 on all of the above.

I'll be at camp as well and happy to meet up. Contact link in bio.