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:
parent
2327430e44
commit
d456766686
1 changed files with 22 additions and 19 deletions
|
@ -28,33 +28,36 @@ about.
|
|||
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
|
||||
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
|
||||
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].
|
||||
talking to a server that then talks to another app.
|
||||
|
||||
[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
|
||||
anybody to use custom (XML) elements for their own use, and optionally write a
|
||||
specification for their new feature for everyone else to use. XMPP also
|
||||
defines a server/client model, where multiple servers can 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.
|
||||
Core specifications of XMPP are written so that it is easily extensible
|
||||
allowing any developer to use custom (XML) elements for their own use, and
|
||||
optionally write a specification for their new feature for everyone else to
|
||||
use.
|
||||
|
||||
XMPP also defines a server/client model, where multiple servers can
|
||||
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
|
||||
|
||||
So there we have it: (IETF) __Standard__, __Decentralized__, and
|
||||
__Extensible__. These are I believe the 3 selling-points of XMPP.
|
||||
|
||||
From there tons of features can be implemented and then negociated (as part
|
||||
of the extensibility) and many things can change to use newer extensions that
|
||||
weren't considered in the core specifications. For example the serialization
|
||||
format (originally XML) can be changed (just as [EXI][XEP-0322] is doing), and
|
||||
it's also perfectly fine to have non-compliant behaviour as long as it has
|
||||
been negociated by entities taking part in it. And so on…
|
||||
From there tons of features can be implemented and then negociated (as part of
|
||||
the extensibility) and many things can change to use newer extensions that
|
||||
weren't considered in the core specifications. For example even the
|
||||
serialization format (words of the language applications talk, originally XML)
|
||||
can be changed (just as [EXI][XEP-0322] is doing), and it's also perfectly
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue