what-about-design: typos, thanks Jill

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2020-07-20 14:22:46 +02:00
parent 5d787c84c7
commit eb67356341

View file

@ -8,25 +8,25 @@ tags: [XMPP, Design]
Who around here hasn't heard about the tragic and inevitable death of XMPP Who around here hasn't heard about the tragic and inevitable death of XMPP
(eXtensible Messaging and Presence Protocol)? It's a pretty common topic in (eXtensible Messaging and Presence Protocol)? It's a pretty common topic in
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 a certain 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). (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
short reminder as it will allow me to emphasize specific points I want to talk short reminder as it will allow me to highlight specific points I want to talk
about. about.
# XMPP? Was ist Das? # XMPP? Was ist Das?
XMPP is a communication protocol, that is nerd speak to say it's a language XMPP is a communication protocol, that is nerd speak to say it's a language
for applications to use and talk together at a level that the end-user doesn't for applications to use and talk together at a level that the end-user doesn't
see. An example would be a chat application: your desktop or smartphone app see. An example would be a chat application: your desktop or smartphone app
talking to a server that then talks to another app. talking to a server that then talks to another app.
It is defined as a standard at the [IETF (Internet Engineering Task It is defined as a standard at the [IETF (Internet Engineering Task
Force)](https://ietf.org) -- a standard being the specification of a protocol Force)](https://ietf.org) -- a standard being the specification of a protocol
(a document, in this case public and accessible by anyone), that allows (a document, in this case publicised and accessible by anyone), which allows
multiple products implementing what it describes to be able to work together multiple products implementing what it describes to be able to work together
in an interoperable way. in an interoperable way.
@ -44,7 +44,7 @@ the world or part of it.
[decentralization]: https://en.wikipedia.org/wiki/Decentralization#Technological_decentralization [decentralization]: https://en.wikipedia.org/wiki/Decentralization#Technological_decentralization
So there we have it: (IETF) __Standard__, __Decentralized__, and So there we have it: (IETF) __Standard__, __Decentralized__, and
__Extensible__. These are I believe the 3 selling-points of XMPP. __Extensible__. These are, I believe, the 3 selling-points of XMPP.
From there tons of features can be implemented and then negotiated (as part of From there tons of features can be implemented and then negotiated (as part of
the extensibility) and many things can change to use newer extensions that the extensibility) and many things can change to use newer extensions that
@ -60,7 +60,7 @@ 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 can get place where technical knowledge around XMPP is gathered, so people can get
better feedback when submitting their new specification. Developers have better feedback when submitting their new specification. Developers have
already layed out lots of protocol bricks for others to reuse through the XSF. already layed out lots of protocol bricks for others to reuse through the XSF.
@ -75,8 +75,8 @@ critics. That said, I believe it's not as bad as they make it look like.
It is true that most applications are incompatible one way or another, with It is true that most applications are incompatible one way or another, with
various degrees of significance, either because they don't implement the same various degrees of significance, either because they don't implement the same
set of extensions, either because an author interprets extensions differently, set of extensions, or because an author interprets extensions differently,
or because of plain bugs. or simply because of bugs.
For the rest of this article I will leave aside the last two points -- For the rest of this article I will leave aside the last two points --
interpretation issues and bugs -- as I consider both of them bugs -- of interpretation issues and bugs -- as I consider both of them bugs -- of
@ -90,8 +90,8 @@ yearly-basis: [2020][CS-2020], [2019][CS-2019], etc.), they have in my opinion
had mild success for the effort it takes the author to gather feedback and had mild success for the effort it takes the author to gather feedback and
come up with not-so-controversial changes for newer revisions. come up with not-so-controversial changes for newer revisions.
What these Compliance Suites don't take into account so well despite recent What these Compliance Suites don't take into account so well, despite recent
efforts, and what critics don't account for either when saying XMPP is efforts; and what critics don't account for either when saying XMPP is
missing X, or that all implementations should do Y, is that it's not just missing X, or that all implementations should do Y, is that it's not just
about features and protocols. about features and protocols.
@ -123,8 +123,8 @@ read about its goals [in the introduction article][snikket-intro] or in a
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 name other than “XMPP” -- is the important part -- and also why it deserves a name other than “XMPP” -- is
its goal: provide a server and a (set of) client(s) that interoperate properly its goal: to provide a server and a (set of) client(s) that interoperate
and have common design guidelines that match the expected userbase. properly 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.