HN user

ppjet6

73 karma
Posts4
Comments27
View on HN

As a board member of the XSF for this term and for the first time, I don't really find myself in disagreement. It seems to me the culture of change is almost nonexistent and it's hard or close to impossible to get the XSF to provoke it.

a lot more

Than allowing for messaging or "social network"-like features?

From the user in practice, Matrix and XMPP (IM) are the same. These protocols might have made different technical choices but the user still only wants to send message and do various other things that both these protocol support. So not replicating all that data is actually a feature IMO.

I want to say "it's complicated".

Probably any single protocol could be used to build a client that Slack or WhatsApp or [insert your target here] users would appreciate with good designers, (and/or with really little to no education.)

Multi-protocol clients are generally not optimal. The set of features that can be used will be the lowest common denominator, and if it's not the case there will be discrepancies in the design.

(Same story for bridges.)

Every protocol has their set of trade-offs, and every developer has their opinion on what's best (or the least worst). Also not every developer work with designers or have designing skills(!)

It's good for developers to be able to write what they want and how they want it. It's fine if their intended target is already with their circle of friends on the platform (if their is a target at all). It's less practical if the target is outside and their circle is not on the platform (network effect/peer pressure etc.).

That's a general "issue" in Free Software, (I'd say in software, maybe anywhere? it's just more visible here.)

Some might say waste of resources, but who gets to decide what to do with others' free time.. no easy answers.

(Sorry to spoil the fun by trying to rationalize :p)

I for one value freedom, through decentralisation (or federation as some like to insist on), and as technicalities I believe standard and extensibility of said standard are necessary. XMPP seems to fit this role ok enough to me.

Jeremie Miller, 1999:

"Jabber is a new project I recently started to create a complete open-source platform for Instant Messaging with transparent communication to other IM systems(ICQ, AIM, etc).

Matthew Hodgson, 2019:

I think they missed the the bit where Matrix is called Matrix because it bridges (matrixes) the existing networks (Slack, IRC, Telegram, Discord, XMPP, etc) in, rather than needing to convince everyone to join.

I cannot agree with this enough. So many resources wasted trying to replicate what's already been done, but this is not an issue with XMPP only.

There are still lots of fun challenges in many clients and servers if that is what you're looking for.

While I understand the concerns and I appreciate all of what Conversations' author is doing for the community, other clients have also seen significant improvements lately.

Gajim[0] has practically come back from the "dead". There is a huge difference, UI/UX-wise but not just, between pre and post 1.0, (1.1 at the time of writing, 1.2 coming).

There is also dino[1], a nice and simple desktop client, and converse.js[2], a fast-developing web-client.

Movim[3] and Salut-à-Toi[4] are also putting in a lot of work on the social network side.

[0] https://gajim.org

[1] https://dino.im

[2] https://conversejs.org

[3] https://movim.eu

[4] https://salut-a-toi.org

Edit: Added conversejs

This seems like smoke and mirrors to me:

  Traditionally, in Signal that process has looked like:
  
    The client calculates the truncated SHA256 hash of each phone number in the device’s address book.
    The client transmits those truncated hashes to the service.
    The service does a lookup from a set of hashed registered users.
    The service returns the intersection of registered users.
The phone number space is really not this big.

I never did any XMPP coding but from what I belief it is more difficult to get it 'complete' then to get it 'right'.

I don't think there is a point in getting it complete. You choose the XEPs you want by looking at what your client/server goals are. Also if you need help in choosing, there are pointer XEPs, like the Compliance Suites, or the mailing list, or the chatrooms. See https://xmpp.org/community/

Getting it 'right' seems to be a problem when the XEP definition is open to interpretation.

When in doubt, ask the author/council.