what-about-design: Attempt at a new conclusion

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2020-07-20 12:37:55 +02:00
parent 1fd62615ac
commit 74cf6dee43
Signed by: pep
GPG key ID: DEDA74AEECA9D0F2

View file

@ -7,8 +7,7 @@ summary: |
It's a pretty common topic in the community and around, often started by It's a pretty common topic in the community and around, often started by
users of XMPP themselves missing this or that feature in one or multiple users of XMPP themselves missing this or that feature in one or multiple
specific implementations, or users of alternative solutions. In a way this specific implementations, or users of alternative solutions. In a way this
is my own version of why XMPP is doomed (or isn't). What could be a cause is my own version of why XMPP is doomed (or isn't).
for most of these accusations?
tags: [XMPP, Design] tags: [XMPP, Design]
--- ---
@ -22,7 +21,7 @@ Who around here hasn't heard about the tragic and inevitable death of XMPP
the community and around, often started by users of XMPP themselves missing the community and around, often started by users of XMPP themselves missing
this or that feature in one or multiple specific implementations, or users of this or that feature in one or multiple specific implementations, or users of
alternative solutions. In a way this is my own version of why XMPP is doomed alternative solutions. In a way this is my own version of why XMPP is doomed
(or isn't). What could be a cause for most of these accusations? (or isn't).
To go down this rabbit hole, we first need to set a few definitions. Most of To go down this rabbit hole, we first need to set a few definitions. Most of
my readers would probably know what XMPP is, but I feel obligated to provide a my readers would probably know what XMPP is, but I feel obligated to provide a
@ -72,8 +71,9 @@ The XSF (XMPP Standards Foundation, previously known as Jabber Software
Foundation) is the entity that did the original work on the protocol and Foundation) is the entity that did the original work on the protocol and
submitted it to the IETF. It now has a sheperding role. There is no submitted it to the IETF. It now has a sheperding role. There is no
requirement that XMPP extensions be brought to the XSF, but it aims to be the requirement that XMPP extensions be brought to the XSF, but it aims to be the
place where technical knowledge around XMPP is gathered so people could get place where technical knowledge around XMPP is gathered so people can get
better feedback when submitting their new specification. better feedback when submitting their new specification. Developers have
already layed out lots of protocol bricks for others to reuse through the XSF.
[XEP-0001]: https://xmpp.org/extensions/xep-0001.html [XEP-0001]: https://xmpp.org/extensions/xep-0001.html
[XSF_mission]: https://xmpp.org/about/xsf/mission.html [XSF_mission]: https://xmpp.org/about/xsf/mission.html
@ -133,9 +133,9 @@ read about its goals [in the introduction article][snikket-intro] or in a
[more detailed explanation][snikket-explanation] from its author. At the time [more detailed explanation][snikket-explanation] from its author. At the time
of writing it is composed of a rebranded [Prosody] (server) and Conversations of writing it is composed of a rebranded [Prosody] (server) and Conversations
(client), is entirely based on XMPP and federates with the XMPP network. But (client), is entirely based on XMPP and federates with the XMPP network. But
the important part -- and also why it deserves a different name than “XMPP” -- the important part -- and also why it deserves a name other than “XMPP” -- is
is its goal: provide a server and a (set of) client(s) that interoperate its goal: provide a server and a (set of) client(s) that interoperate properly
properly and have common design guidelines that match the expected userbase. and have common design guidelines that match the expected userbase.
Maybe you're not part of Snikket's target, in which case there might someday Maybe you're not part of Snikket's target, in which case there might someday
be a similar solution that's more adapted to your use-case. be a similar solution that's more adapted to your use-case.
@ -146,12 +146,6 @@ and work around these issues ourselves. For the mass audiences I believe this
is not an option. You may take this with a pinch of salt as it is as a is not an option. You may take this with a pinch of salt as it is as a
developer that I am saying this to you. developer that I am saying this to you.
In the end why does it matter to the end-user if it's actually XMPP that's
being used, as long as these new solutions incorporate properties we care
about such as standardization, decentralization, and extensibility? so that we
don't end up again with closed silos (Slack, WhatsApp, Signal?, etc.) that
have for sole purpose to lock us in.
I guess the only thing left to figure out now is [network I guess the only thing left to figure out now is [network
effect][network-effect]… effect][network-effect]…
@ -164,3 +158,18 @@ effect][network-effect]…
[snikket-intro]: https://blog.prosody.im/introducing-snikket/ [snikket-intro]: https://blog.prosody.im/introducing-snikket/
[snikket-explanation]: https://www.reddit.com/r/xmpp/comments/f0el07/can_someone_explain_to_me_whats_the_point_of/fgto5h0/ [snikket-explanation]: https://www.reddit.com/r/xmpp/comments/f0el07/can_someone_explain_to_me_whats_the_point_of/fgto5h0/
[network-effect]: https://en.wikipedia.org/wiki/Network_effect [network-effect]: https://en.wikipedia.org/wiki/Network_effect
# So why (not) XMPP?
To the question I set to answer at the beginning I say this: Why does it
matter? For whom? My goal is to bring standardization, decentralization, and
extensibility to mass audiences. Not to bring XMPP to them. As explained above
I believe we need product suites with common design guidelines, and they
should include these properties. The protocol by itself is not enough.
I want decentralization and standardization to prevent users from being locked
in closed -- often also proprietary -- silos such as WhatsApp, Hangouts,
Slack, MS Teams, or even Signal. And I want extensibility to prevent being
stuck in the past and adapt to the people's needs.
As a developer if I get to use XMPP, great, otherwise I'll learn.