XMPP as the internet

2024-11-05

XMPP as the internet

Published

2024-11-05

Updated

2024-11-05

Authors

Schimon Jehudah Zachary

Summary

Atom Over XMPP to replace the HTTP realm.

Content

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.

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.

XEP-0060: Publish-Subscribe

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.

RFC 4287: Atom Syndication Format

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.

Atomsub: Transporting Atom Notifications over the Publish-Subscribe Extension to the Extensible Messaging and Presence Protocol (XMPP)

Atom Over XMPP

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.

Project Gemini

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.

XEP-0277: Journaling over XMPP

XEP-0472: Pubsub Social Feed

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

We Do not Need HTTP Frameworks

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.

XEP-0496: Pubsub Node Relationships

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

Servers Are Obsolete

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!

Resources

A universal and stable API to everything: XMPP

“XMPP: The Definitive Guide” Code Examples

We Do not Need HTTP Frameworks

Filtering the Real Time Web

Real Time Is Completely Different

XMPP Microblogging Thoughts

xmpp and microblogging - let’s do it!

Practical Transparency - Distributing financials using XMPP...

nothing new… some areas that are under exploited by xmpp < waves in the aether

Jabber/XMPP/IM Protocols and Digital Identity (etc.)

XMPP and CMS

How Jabberzilla Improves Mozilla Projects

Tags

html internet publishing pubsub xhtml xmpp

Media

Resources