XMPP as the internet
Atom Over XMPP to replace the HTTP realm.
Greetings, to one and all!
Preface
You are principled. You build software that others rely on. You experiment with new ideas and do not worry about being different. You value independence. You add to life. You believe in a future built on open software and protocols.
Story
I do, like many of you, appreciate the comforts of the everyday routine. The security of the familiar, the tranquility of repetition. I enjoy them as much as any bloke.
But in the spirit of commemoration whereby important events of the past usually associated with someone's death, or the end of some awful, bloody struggle are celebrated with a nice holiday. I thought we could mark this November the 5th a day that is, sadly, no longer remembered by taking time out of our daily lives to sit down and have a little chat.
There are, of course, those who do not want us to speak. Even now, orders are being shouted into telephones and men with guns will soon be on their way.
Why? Because while the truncheon may be used in lieu of conversation, words will always retain their power. Words offer the means to meaning, and, for those who will listen, the enunciation of truth. And the truth is, there is something terribly wrong with the internet, is not there?
Centralization and suppression, cruelty and injustice, intolerance and oppression. And where once you had the freedom to object, to think and speak as you saw fit, you now have censors and surveillance coercing your conformity, and soliciting submission.
How did this happen? Who is to blame? Certainly there are those who are more responsible than others. And they will be held accountable. But again, truth be told, if you are looking for the guilty, you need only look into a mirror.
I know why you did it. I know you were afraid. Who would not be? Pop-up, virus, malware, spyware, incompatibility. There were a myriad of problems which conspired to corrupt your reason, and rob you of your common sense.
Fear got the best of you. And in your panic, you turned to Nozilla and Goolag. They promised you order, they promised you interoperability, and all they demanded in return was your silent, obedient consent.
Last year, I sought to end that silence. Last year, I have created the project Rivista to remind this world of what it has forgotten.
More than twenty years ago, several great men wished to imbed XMPP as the viable form of data delivery and publishing. They wanted us to know of a new kind of order for the internet. Their hope was to remind the world that XML, Atom, and XSLT are more than technologies. They are perspectives.
So if you have seen nothing. If the crimes of these organizations remain unknown to you, then I would suggest that you allow the 5th of November to pass unmarked. But if you see what I see. If you feel as I feel, and if you would seek as I seek, then I ask you to stand beside me.
About
In the recent six months, thanks to friends from Austria, Canada, France, Germany, Italy, Russia and Sweden, I have been involved with the technology of XMPP PubSub (i.e. XEP-0060: Publish-Subscribe).
XEP-0060: Publish-Subscribe
XEP-0060: Publish-Subscribe (PubSub) is an XMPP specification which is utilized to enable features that require consistent storage.
It is utilized for Contact Activity, Contact Mood, OMEMO, Server Status, and more.
It was approved by the XSF on november 2002.
Atom Syndication Format (RFC 4287)
RFC-4287: Atom Syndication Format (Atom) is a syndication standard to convey syndicated content over XML files.
It supersedes the specifications RDF and RSS.
It was approved by the IETF on december 2005.
Atom Over XMPP
During the years 2004 to 2008, Mr. Bob Wyman, Mr. Joe Hildebrand, and Mr. Peter Saint-Andre have proposed a new specification to which they have called Atom Over XMPP (AtomPub and AtomSub), an incorporation of Atom Syndication Format and XMPP.
The general idea was to embed Atom Syndication Format (RFC 4287) syndication feeds to PubSub node items of XMPP; both, Atom and XMPP are made of XML.
The idea of Atom Over XMPP was quickly censored and hidden from the public, by flooding the internet with other falsified shiny distractions, and overwhelm the public with nonsensical information about HTML and a phoney competition of HTML standards ("browser war", so called), APNG (animated PNG), animated CSS, and even more information of no true significance nor relevance, that only created further problems.
Gemini
Roughly thirty years later, the shenanigans of HTML standards, from unnecesary CSS animations, to useless 3D effects, to native multimedia playback, to arbitrary code execution from within HTML browsers, to further operate video games and operating systems, have caused to people to create a new protocol for publishing and linking to internet resources, which is called Gemini.
The name should probably be changed to a name which is not generic, and be registered as a trademark, because companies already attempt to censor it by branding their products and services with "Gemini".
Albeit, the usefulness of the protocol Gemini, and the markup language of the filetype GMI, we might have skipped an essential and vital structural system, which is PubSub of the protocol XMPP, which might already have most of the features that Gemini already intends to provide.
Implementation
In 2008, the XMPP Standards Foundation (XSF) has published an XMPP specification for Atom Over XMPP by the title "Microblogging over XMPP" (henceforth, "Journaling Over XMPP"), which is XEP-0277.
XEP-0277 allows to publish content over XMPP, as was suggested to the IETF since 2004, and XEP-0472 is meant to extend the publishing abilities as implemented in the Movim platform.
It is said, that XEP-0277 and XEP-0472 should be harmonized.
Practice
XMPP provides pubsub, presence, discovery, and much more.
- Communication is done via XMPP through Strophe instead of polling a database or using work queues. This is more efficient.
- Configuration is stored in pubsub nodes instead of relational databases. One good consequence of this is that all subscribers get instant notification of configuration changes, similarly to a broadcast SIGHUP.
- Front end apps, administrative code, and internal utilities are all just ECMAScript (i.e. JavaScript). This makes them trivial to develop and test locally, and we do not need any special deployment code.
- The whole system is mostly decoupled because there is no middle interfacing layer. The backend speaks XMPP, the frontend speaks XMPP, and they both use standard XMPP layer protocols to do work.
-- Jack Moffitt
Projects
XMPP projects that convey XMPP to HTML over HTTP.
Libervia
The Libervia platform of Mr. Jérôme Poisson provides a content management system (CMS) platform which currently focuses on private sites.
Movim
The Movim platform of Mr. Timothée Jaussoin has extended the span of publishing content in a more general sense which embodies a social network.
Rivista
The Rivista XJP platform generates syndication feeds from node items, and by utilizing XSLT and the stractural design of XMPP, it makes possible to navigate through nodes and node items in a form of a journal site.
Note
It is important to mention, that content which is published in the method of Atom Over XMPP is of a different type, as it is federated by design, and is also autonomous, in the sense that contents are actually stored in and controlled by the account of the publisher, and systems such as Libervia and Movim are only aggregating that data and have no control over it.
Hierarchy
Each PubSub service is organized in a uniform hierarchical structure.
Each PubSub service encapsules nodes.
Each node encapsules items.
Unlike HTML content over HTTP, the structure of HTML over XMPP does not change.
A fixed structural system assures a swift system to browse and find information.
The hierarchical structure is one of the greatest benefits that XMPP PubSub has over HTTP, because the PubSub system solves two major issues, to save bandwidth, and to deliver tens of thousand of entries at a fraction of a cost in comparison to HTTP.
Advantages
- Bandwidth efficient;
- Entries are segmented into (node) items;
- Extensible;
- Immediate updates (polling is optional);
- Media attachments;
- Standard format (including rich text); and
- Structural information.
Portability
In contrast to HTTP, content which is hosted over XMPP can be automatically forwarded to HTTP, and thereby is considered portable.
Blasta, JabberCard, Libervia, Movim, and Rivista XJP are, essentially, HTTP gateways to XMPP.
Status
Movim is currently the platform which implements Atom Over XMPP at its best.
Libervia, in addition to its current publishing capabilities as CMS (content management system), will provide a forum management system which would also be based on Atom Over XMPP.
JabberCard or Rivista will offer a private site builder to each XMPP account, based on Atom Over XMPP.
Example
This is a proposed structure for an XMPP based publication.
The JID (Jabber ID) journal.schapps.i2p represents a PubSub service.
journal.schapps.i2p
├─All
├─2024
├─2024-12
├─2024-04
├─2024-05
├─2023
├─2023-01
├─2022
├─2022-09
├─2021
├─2021-05
├─2021-12
├─Atom
├─CMS
├─JabberCard
├─Libervia
├─Movim
├─OMEMO
├─Privacy
├─Publishing
├─PubSub
├─RivistaXJP
├─Security
├─Summit
├─Syndication
├─VoIP
└─XMPP
This post, supposing it has tags, will be represented as an item of nodes 2024, 2024-12, All, Atom, CMS, JabberCard, Libervia, Movim, PubSub, Publishing, RivistaXJP and XMPP.
The item will have to be duplicated on the XMPP server, which means that the specified nodes would have the exact same item.
The visual indexing of posts be made by the CMS software.
XEP-0496
Mr. Jérôme Poisson of Libervia has created an XEP which should facilitate this concern, and might neglect the need to duplicate items.
This specification describes how to establish links between pubsub nodes, allowing for optional hierarchical organization.
Conclusion
The projects Libervia and Movim are realizing that HTTP is useless, and can indeed be deprecated by XMPP, as a platform for publishing, business, finance, and telecommunicatom.
Note
A quote from the article "Servers Are Obsolete":
If hosted filesystems storages, and public key encryption, had been available 20 years ago, SMTP, POP3, and HTTP would never have been invented. Certainly, their markets would have been much smaller. -- Todd Boyle CPA Kirkland WA
If you want to play 3D video games, or otherwise risk yourselves and your privacy with the hazards of the HTTP protocol, and also with ECMAScript. which needlessly consumes vast amounts of electrical power, then use HTTP, albeit it is not good for you.
Thanks
Special thank you to Mr. Jérôme Poisson of project Libervia, and Mr. Timothée Jaussoin of project Movim who have meticulously taught me about the technicalities of XMPP PubSub.
Thank you to my Argentinian, Austrian, Finnish, Italian, and Swedish fellows for quickly guiding and teaching me about the Gemini and Gopher specifications.
And thank you to everyone else from Asia, Europe and The United States For America.
I am most honored, and glad to collaborate and work with people who actually seek to create and help to create value, instead of exploiting vulnerabilities to abuse and oppress creativity potential.
Thanks to you, I have accomplished in a couple of years more than I have accomplished in a couple of decades in the middle east.
Your good directions have increased my strength and value more than I could have imagined to be possible for me in my lifetime.
Post script
As Mr. Stefan Strigler has stated in the year of 2008.
There has been so much conversation on this topic. Conferences are being held and so on. But actually I think it is time to not only talk about it. Face it! Get your hands dirty!