HN user

Zash

807 karma
Posts4
Comments263
View on HN

we have zero fragmentation so far. some clients implement more features than others

The Matrix spec has many versions and many features. Clients implement and keep up with varying parts of it due to varying reasons usually involving varying amounts of manpower and funding. Same as with XMPP. I don't see the difference.

Pretty sure the client feature parity problem is inherent to open ecosystems with many vendors with varying priorities and budgets. Just look at the web back when there were more browsers in the game, or email clients etc.

But most of all, users care about talking to their friends. You could have all the features and amazing UX but if their friends are using tin cans and wet wire, that's what they will turn to. Network effect trumps all. Features and UX are marketing, which at most can help you bootstrap to the point where network effect kicks in.

DNSSEC-secured DNS with PowerDNS Federated XMPP chat with Prosody Email with Postfix and Dovecot Prometheus keeping track of it all and Grafana to draw some pretty graphs for how it's all going

The physical keyboard was certainly nice, especially for a linux sysadmin / programmer. I also miss the camera, the "normal" and familiar Linux environment, the unified messaging (native XMPP support, with A/V calling!). It was sturdy despite the moving (keyboard) parts. Phone experience was decent, certainly better than my current Android, but can't beat my first phone, the Nokia 3310.

Also, as I understand it OTRv4 intentionally does not target multi-device scenarios so it seems unlikely to gain any wider adoption for the kind of use cases XMPP and Matrix target, where being able to see your chats on other devices is considered a feature and not a security issue.

In the past, people have squeezed Prosody onto their routers with 32MB RAM and the like. Today you might struggle fitting the Modern XMPP experience into that, but 512M or 1GB should be plenty.

As for storage, it really depends on how many and how big pictures or other files are shared. Clients like Conversations will compress images into a few hundred KB by default, so you can imagine how many will fit into even 1GB. Text messages take even less space.

WebSockets is just another transport method, by itself it is not going to be very different from plain old TCP/TLS sockets. Other things are going to matter more, like how 'chatty' the protocol is, especially while you are not actively sending messages. XMPP has historically been quite chatty while idle, but todays modern XMPP servers know to optimize traffic so that your phone can sleep undisturbed in your pocket until something important like a message or a call comes in.

Well, if it was _a_ client. But if 100% of clients make the same mistake, then it is the spec that is the problem, or so the argument went.

Maybe one day xhtml-im will make a glorious return as a 2.0, with bigger, better and scarier warnings about sanitizing your inputs

Do not mention the format war.

Once upon a time, we had XHTML-IM https://xmpp.org/extensions/xep-0071.html

But then web developers came along and just put this directly into the DOM of their web clients, leading to endless XXS exploits, so XEP-0071 was burned at the stake.

XEP-0393 might look ad-hoc, but it's essentially what people were typing into their chats and emails since time immemorial.

People sometimes think this is Markdown and then pick a markdown library off the shelf and then the HTML passtrough bites them, leading us back to the beginning.

I really don't understand how Matrix and Mastodon etc are allowed to pass around HTML embedded in JSON as if that somehow solves all those problems.