Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there a RSS like standard format for distributed (forum like) communication?

To communicate with each other using e-mails users do not need to use the same "provider" (some user might use gmail, other yahoo or hotmail and they still can write e-mails to each other). Unfortunately, it is not like that with social networks. Users using Facebook cannot see posts, comments, likes and shares of the users using Google+ and vice versa.

But why it should be like that? Let us imagine the following architecture. Each user can "broadcast" using any provider he/she likes. RSS format provide this possibility. Any user can choose any "provider" to generate his/her RSS feed and to see RSS feeds of user that he/she is subscribed to. So, just by using RSS as it is we can already build a distributed Twitter-like system (you can post, you can follow other but you cannot share).

What is still missing in this approach is a possibility to comments other posts (liking, disliking or rating could also be considered as comments). In theory one can publish / broadcast comments in the same way as posts. In fact comments are also posts, the only difference is that they are "attached" to other posts. So, one could generate RSS like XML in which some posts (those that are comments) have additional tag that contains URL of the post that is commented.

With such a small extensions of RSS one can build a distributed social network or distributed social news system (like Reddit).

Is there something developed in this direction?

like image 915
Roman Avatar asked Sep 24 '15 11:09

Roman


People also ask

What is RSS blog?

RSS is a type of web feed that allows users and applications to receive regular updates from a website or blog of their choice. The acronym RSS stands for Really Simple Syndication or Rich Site Summary. It is sometimes referred to as the feed or RSS feed.

What is a RSS feed and how does it work?

An RSS (Really Simple Syndication) feed is an online file that contains details about every piece of content a site has published. Each time a site publishes a new piece of content, details about that content—including the full-text of the content or a summary, publication date, author, link, etc.

How do I use an RSS feed for my blog?

How it works is you subscribe to your favorite website using the RSS feed in a RSS feed reader such as Feedly. Whenever new information is added to the website it is automatically sent to your RSS feed reader where you can read it at your convenience.


2 Answers

Distributed social network

What you are describing sounds very much like a Distributed social network, a network that is decentralized and distributed across distinct providers, allowing users of each site to communicate with users of any of the involved sites, or providers as you have called them. This also raises the point that a provider does not in fact need to be a site as such, but could still provide the service desired.

This model has been endorsed by the EFF, as one that could "plausibly return control and choice to the hands of the Internet user".


Protocols

OStatus

OStatus is a spec currently maintained by the W3C that is build on top of Atom and RSS feeds, and PubSubHubbub.

PubSubHubbub provides a way to subscribe, unsubscribe and receive updates from a resource, whether it's an RSS or Atom feed or any web accessible document

The spec for PubSubHubbub is here, and for OStatus here, a few important parts of which I have reproduced below:

Updates are represented as Activities in Atom. Typical updates would be represented in the default Activity Schema with activity verb "Post" and activity object type "Note", "Status" or "Comment".

A spatial location for the update object should be encoded as GeoRSS element as part of the activity. Attachments to an update should be represented as enclosures.

Users are identified by URIs.

Users SHOULD have a profile URL, which SHOULD be an HTTP or HTTPS reference to an HTML page including discovery information for the user's feed. The profile URL SHOULD be represented as a link[@rel=alternate,@type=text/html] in the Activity subject, actor, or object item, otherwise the URI MAY be used if it is an HTTP or HTTPS URL.

The publisher server uses PubSubHubbub [push] to notify subscribers of new updates.

Servers use Salmon to post social events to users or groups.

Salmon

The Salmon Protocol is described here, and the protocol flow described as follows:

A source provides an RSS/Atom feed of content. It includes a Salmon link in its feed:

An aggregator reads the feed (ideally via a push mechanism such as PubSubHubbub), and sees from the link that it is Salmon-enabled. It remembers the endpoint URL for later use.

When an aggregator's user leaves a comment on a feed item, the aggregator stores the comment as usual, and then also POSTs a salmon version of it to the source's Salmon endpoint

The source responds to the salmon with standard HTTP codes - 2xx for OK, 4xx for input problem, 5xx for source / server error. The usual result is for the salmon to be published along with other comments on the source's web page. Note that sources are not obligated to actually publish the salmon -- they may moderate them, spam block them, aggregate or analyze them instead. However, if the source does publish the salmon in a comment feed, it has to maintain certain fields to make the protocol work end-to-end.

DSNP

Adrian D. Thurston wrote a paper on a Distributed Social Networking Protocol (DSNP). At the time of writing the protocol was at version 0.6, but to the best of my knowledge development has been discontinued. The paper touches on aspects such as RSA-Based identity, friending protocol, passwordless login, broadcasting, and message signing keys. A reference implementation is available.

Others / Software

Wikipedia's Comparison of software and protocols for distributed social networking may be of some use.

  • Twister is a Twitter-like microblogging platform that utilizes the cryptocurrency Bitcoin and the file exchange method BitTorrent

  • Friendica has a decentralised architecture, where "'friends' can be from Facebook, Diaspora, Twitter, StatusNet, pump.io, weblogs and RSS feeds". However, it does warn that "Some of the corporate-owned networks are not happy that we've managed to integrate their networks so seamlessly and have started to close off and restrict the ability to interact with their members".

  • Redmatrix is a decentralized communication and publishing platform, running as a global distributed network

like image 88
enigma Avatar answered Oct 06 '22 15:10

enigma


Salmon is probably what you're after... even though it's near death at this point, contrary to RSS which is being used by milions of websites.

like image 45
Julien Genestoux Avatar answered Oct 06 '22 14:10

Julien Genestoux