Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

protocol: XMPP #280

Open
sjehuda opened this issue Dec 23, 2024 · 0 comments
Open

protocol: XMPP #280

sjehuda opened this issue Dec 23, 2024 · 0 comments

Comments

@sjehuda
Copy link

sjehuda commented Dec 23, 2024

Atom Over XMPP is an Atom Synducation Format atop of XMPP PubSub.

Atom Syndication Format cav convey rich HTML content.

I have published a Python script at https://lists.mailman3.com/hyperkitty/list/[email protected]/message/AZVAIYSQG24GCNAXSSLN24KOT7HNJUJU/

See further details at gemini://woodpeckersnest.space/~schapps/journal/2024-12-14-xmpp-as-the-internet.gmi

# XMPP As The Internet

> Could Atom Over XMPP replace the HTTP realm?

Greetings, to one and all!

In the recent six months, thanks to friends from Austria, France, Germany, Italy and Russia, 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 technologies and overwhelm the public with nonsensical information about HTML and a phoney competition of HTML standards ("browser war", so called) and other information of no good relevance.

=> https://datatracker.ietf.org/doc/draft-saintandre-atompub-notify/ Atomsub: Transporting Atom Notifications over the Publish-Subscribe Extension to the Extensible Messaging and Presence Protocol (XMPP)

=> ../documents/slides-66-atompub-1.pdf Atom Over XMPP

# Gemini

Roughly thirdy 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.

=> gemini://geminiprotocol.net 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.

=> https://xmpp.org/extensions/xep-0277.html XEP-0277: Journaling over XMPP

=> https://xmpp.org/extensions/xep-0472.html XEP-0472: Pubsub Social Feed

It is said, that XEP-0277 and XEP-0472 should be harmonized.

# Practice

## 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.

## Note

It is important to mention, that content with 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.

* Stractural information.

# Portability

In contrast to HTTP, content which is hosted over XMPP can be automatically forwarded to HTTP, and thereby is considered portable.

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 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, sopposing 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.

=> https://xmpp.org/extensions/xep-0496.html 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

=> ../gldialtone/ServersObsolete.gmi 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.

Fin,
Schimon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant