what-about-design: rework 'what's XMPP' section, try to make it less bulky and easier for non-techs

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
Maxime “pep” Buquet 2020-07-19 13:34:44 +02:00
parent 2327430e44
commit d456766686
Signed by: pep
GPG key ID: DEDA74AEECA9D0F2

View file

@ -28,33 +28,36 @@ about.
communication protocol, that is nerd speak to say it's a language for 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 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. It is defined as a talking to a server that then talks to another app.
standard at the [<abbr title="Internet Engineering Task
Force">IETF</abbr>](https://ietf.org) that also serves as a home for many
other building blocks of the Internet and technology all of us use today. The
IETF itself is guided by their [mission statement][IETF_mission].
[IETF_mission]: https://www.rfc-editor.org/rfc/rfc3935.html It is defined as a standard at the [<abbr title="Internet Engineering Task
Force">IETF</abbr>](https://ietf.org), a standard being the specification of a
protocol -- a document, public and accessible by anyone in this case -- that
allows multiple products implementing what it describes to be able to work
together in an interoperable way.
Core extensions of XMPP are written so that it is easily extensible allowing Core specifications of XMPP are written so that it is easily extensible
anybody to use custom (XML) elements for their own use, and optionally write a allowing any developer to use custom (XML) elements for their own use, and
specification for their new feature for everyone else to use. XMPP also optionally write a specification for their new feature for everyone else to
defines a server/client model, where multiple servers can communicate use.
together, thus allowing for [decentralization] -- anyone setting up their own
server to be free from restrictions of other servers, and communicating with XMPP also defines a server/client model, where multiple servers can
the world or part of it. communicate together, thus allowing for [decentralization] -- anyone setting
up their own server to be free from restrictions of other servers, and
communicating with 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 negociated (as part From there tons of features can be implemented and then negociated (as part of
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
weren't considered in the core specifications. For example the serialization weren't considered in the core specifications. For example even the
format (originally XML) can be changed (just as [EXI][XEP-0322] is doing), and serialization format (words of the language applications talk, originally XML)
it's also perfectly fine to have non-compliant behaviour as long as it has can be changed (just as [EXI][XEP-0322] is doing), and it's also perfectly
been negociated by entities taking part in it. And so on… fine to have non-compliant behaviour as long as it has been negociated by
entities taking part in it. And so on…
[XEP-0322]: https://xmpp.org/extensions/xep-0322.html [XEP-0322]: https://xmpp.org/extensions/xep-0322.html