diff --git a/content/posts/what-about-design.md b/content/posts/what-about-design.md index 4405bda..75e6ca3 100644 --- a/content/posts/what-about-design.md +++ b/content/posts/what-about-design.md @@ -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 [IETF](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 [IETF](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