Open social
Movements and initiatives
See also Sharing, Net media#Social bookmarking, Open data, WebDev#API, HTTP, Semantic web, Chat, Mesh
to iron out order, etc.
- https://en.wikipedia.org/wiki/Comparison_of_software_and_protocols_for_distributed_social_networking
Fediverse
GNU Social, Hubzilla, PostActiv, Friendica, Mastodon or Pleroma, etc.
- the federation - a diaspora hub
- Bridgy Fed - Got an IndieWeb site? Want to interact with Mastodon, Hubzilla, and the rest of the fediverse? Bridgy Fed is for you.
GangGo
- GangGo - a decentralized social network written in GoLang. It uses the same federation library like Diaspora, Mastodon and therefore can participate in conversations like any other Pod!
Prismo
- Prismo - a new link-sharing platform intended to work similarly to Reddit, Lobst.ers, or Hacker News. Michał Bajur, creator of Mastodon Tags Explorer, is building the platform for the fediverse, meaning that it speaks the ActivityPub protocol and is intended to work with other federated parts of the ecosystem.
- https://gitlab.com/prismosuite/prismo - Federated link aggregation powered by ActivityPub. Ruby.
Hyperspace
- Hyperspace - the fluffiest client for Mastodon and other fediverse networks written in TypeScript and React. Hyperspace offers a fun, clean, fast, and responsive design that scales beautifully across devices and enhances the fediverse experience.
ActivityPub
- w3.org: ActivityPub - ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content. [5]
- https://en.wikipedia.org/wiki/ActivityPub - an open, decentralized social networking protocol based on Pump.io's ActivityPump protocol. It provides a client/server API for creating, updating and deleting content, as well as a federated server-to-server API for delivering notifications and content.
- lwn.net: Federation in social networks
- https://github.com/BasixKOR/awesome-activitypub - Curated list of ActivityPub-based Projects!
- https://github.com/Chocobozzz/PeerTube - Federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.
- https://github.com/Plume-org/Plume - Federated blogging engine, based on ActivityPub. It uses the Rocket framework, and Diesel to interact with the database. [7]
- https://github.com/aaronpk/Nautilus - meant to run as a standalone service to deliver posts from your own website to ActivityPub followers. You can run your own website at your own domain, and this service can handle the ActivityPub-specific pieces needed to let people follow your own website from Mastodon or other compatible services.
- https://github.com/writeas/Read.as - Free and open source long-form reader.
- Go-Fed - canonical resource for tutorials and documentation surrounding the go-fed organization.
Federated Social Web
2010, 2012
- http://www.w3.org/community/fedsocweb/ - Federated Social Web Community Group
- http://www.w3.org/2005/Incubator/socialweb/ - was the Federated Social Web Incubator Group
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Protocols
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT0
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SWAT1_use_cases
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Aspects_of_a_social_network
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Best_Practices_for_the_Open_Social_Web
- http://gondwanaland.com/mlog/2013/06/08/bright-fedsocindweb/
- http://www.w3.org/community/fedid/ - Sep 2 2013
pump.io
2012, succeeds OStatus / StatusNet
- http://pump.io/ - successor to StatusNet, a general-purpose Activity Streams engine. It diverges from OStatus in a few other respects, of course, such as sending activity messages as JSON rather than as Atom, and by defining a simple REST inbox API instead of using PubSubHubbub and Salmon to push messages to other servers. Pump.io also uses a new database abstraction layer called Databank, which has drivers for a variety of NoSQL databases, but supports real relational databases, too. StatusNet, in contrast, was bound closely to MySQL. But, in the end, the important thing is the feature set; a pump.io instance can generate a microblogging feed, an image stream, or essentially any other type of feed. Activity Streams defines actions (which are called "verbs") that handle common social networking interaction; pump.io merely sends and receives them.
- http://www.skilledtests.com/wiki/Pump.io
- http://www.h-online.com/open/news/item/StatusNet-transforms-into-Node-js-driven-pump-io-1771646.html
- http://opensource.com/life/13/7/pump-io
- LWN.net: StatusNet, Identi.ca, and transitioning to pump.io - 2013
- Identi.ca - This site runs pump.io, the high-performance Open Source social engine. It pumps your life in and out of your friends, family and colleagues.
- https://github.com/pump-io/pump.io/issues/8 - "We should support remote follow using OStatus.", 2012
OStatus / StatusNet
via Identi.ca, 2008
- http://en.wikipedia.org/wiki/OpenMicroBlogging - prior system
- OStatus is an open standard for distributed status updates that references a suite of open protocols including Atom, Activity Streams, PubSubHubbub, Salmon, Webfinger, that allows different messaging hubs to route status updates between users in near real-time. - 2010
- Status.net - formerly Laconica, powered Identica
- http://p2pfoundation.net/Social_Publishing_with_Drupal
- http://www.istos.it/blog/social-network/supporting-activity-streams-drupal
- http://status.net/2010/07/21/federated-social-web-summit-wrapup
- http://evan.prodromou.name/files/fedsocweb/fedsocweb.html
- http://www.devcomments.com/OpenSocial-and-OStatus-at246411.htm
august 2010
- http://groups.google.com/group/ostatus-discuss/browse_thread/thread/329e440ed44131f9
- http://www.istos.it/blog/federated-social-web/federated-social-web-and-drupal-notes-drupalcon-bof-meeting
aug 2013; @tantek | previous efforts at directly designing decentralized protocols (without selfdogfood) always result in overly complex protocols that not enough people can implement. e.g. Salmon
- https://e14n.com/evan/note/5JFFMeYMQKiuzPtSYgRoYw - move to pump.io
now part of GNU Social
- https://github.com/emersion/go-ostatus - An OStatus library written in Go
#indieweb
indieauth, activitystrea.ms, RSSB, etc.
- http://indiewebcamp.com/IndieMark - like fedsocwebs SWAT* benchmarks
- http://indiewebify.me/
- http://werd.io/entry/51dca7e2bed7de945debf707/the-indieweb-as-a-minimum-viable-social-web-ecosystem
- http://www.wired.com/wiredenterprise/2013/08/indie-web/
- http://tantek.com/2013/113/b1/first-federated-indieweb-comment-thread
- http://bret.io/2013/06/28/indiewebcamp-2013-roundup/
- ActivityPush - A lightweight method for URI addressable resources to be automatically notified about remote (off-site) activites on them. A crypto-free alternative to the Salmon Protocol for public activites.
Projects
Known
- Known - gives you full control. Host your site on our service, or install it on your own server and extend it to meet your needs. The core Known platform is open source, and it is designed to be easy to customize, redesign, and build on top of.
Dark Matter
- Dark Matter - A personal publishing platform for the #indieweb
helloworld
- https://github.com/mimecuvalo/helloworld - federated social web tumblr/blog/rss reader/wordpress-like thingy. passes swat0!
Solid
- https://github.com/solid/solid - Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized Web applications based on Linked Data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols. [11]
- dokieli - a clientside editor for decentralised article publishing, annotations and social interactions. [12]
IPFS
- https://beyermatthias.de/blog/2017/10/31/blueprint-of-a-distributed-social-network-on-ipfs---and-its-problems/
- https://beyermatthias.de/blog/2018/02/25/blueprint-of-a-distributed-social-network-on-ipfs---and-its-problems-2/ [13]
Data Transfer Project
- Data Transfer Project - launched in 2018 to create an open-source, service-to-service data portability platform so that all individuals across the web could easily move their data between online service providers whenever they want.The contributors to the Data Transfer Project believe portability and interoperability are central to innovation. Making it easier for individuals to choose among services facilitates competition, empowers individuals to try new services and enables them to choose the offering that best suits their needs.Current contributors include:
App.net
2012
- http://app.net - $ish ecosystem
- http://aaronparecki.com/articles/2013/03/31/1/a-response-to-replies-i-received-on-my-post-an-open-challenge-to-app-net
- http://blog.app.net/2013/08/07/response-to-brennan-novak-part-ii/
Tent
2012
- Tent - the protocol for decentralized communication. Tent uses HTTPS and JSON to transport posts between servers and apps.
- Tent - use data and posts across your apps and send and receive posts from friends. Right now, most people use Tent to share short 256 character long status posts with friends. Many independent developers are building other apps that use the Tent protocol.
- https://cupcake.io - service
onesocialweb
2011?
CMIS
2010
rssCloud
2009
- HowTo: Rebooting the RSS cloud - There are three sides to the cloud:1. The authoring tool. I edit and update a feed. It contains a <cloud> element that says how a subscriber should request to notification of updates.2. The cloud. It is notified of an update, and then in turn notifies all subscribers.3. The subscriber. A feed reader, aggregator, whatever -- that subscribes to feeds that may or may not be part of a cloud.
"There are three sides to the cloud:
- 1. The authoring tool. I edit and update a feed. It contains a <cloud> element that says how a subscriber should request to notification of updates.
- 2. The cloud. It is notified of an update, and then in turn notifies all subscribers.
- 3. The subscriber. A feed reader, aggregator, whatever -- that subscribes to feeds that may or may not be part of a cloud.
- HowTo: Implementor's guide to rssCloud - Dave Winer
DataPortability
November 2007
- Data portability is the ability for people to reuse their data across interoperable applications. The DataPortability Project works to advance this vision by identifying, contextualizing and promoting efforts in the space.
"There are numerous open standards that are considered to advance the vision, such as RDF, RDFa, microformats, APML, FOAF, OAuth, OpenID, OPML, RSS, SIOC, the XHTML Friends Network (XFN), XRI, and XDI."
- http://hueniverse.com/2007/12/reflections-on-the-open-web-community/
- http://techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/
- http://www.niallkennedy.com/blog/2008/01/data-portability-authentication-authorization.html
- http://web.archive.org/web/20100706024305/http://2008.xtech.org/public/schedule/detail/565 - Data Portability with SIOC and FOAF. May 2008.
- http://web.archive.org/web/20110516032810/http://www.semanticscripting.org/SFSW2008/papers/11.pdf
- http://web.archive.org/web/20090414050007/http://faradaymedia.com/syncstream
- http://www.johnbreslin.com/blog/2008/05/09/prototype-for-distributed-decentralised-microblogging-using-semantics/
- http://forrester.typepad.com/groundswell/2008/01/the-open-social.html
- http://mrtopf.de/blog/plone/what-is-the-future-of-content-management-systems-related-to-social-networks/
- http://www.mediamatic.net/26386/en/federating-social-networks-the-technology
- http://www.mediamatic.net/26605/en/federating-social-networks
- http://ralphm.net/publications/berlin_2007/
- http://chrissaad.wordpress.com/2008/12/01/facebook-connect-aka-hailstorm-20/
- http://news.cnet.com/8301-17939_109-10111404-2.html
DiSo
December 2007
- DiSo Project (dee • soh) is an initiative to facilitate the creation of open, non-proprietary and interoperable building blocks for the decentralized social web. Silo free living. Social networks are becoming more open, more interconnected, and more distributed. Many of us in the web creation world are embracing and promoting web standards — both client-side and server-side. Microformats, standard APIs, and open-source software are key building blocks of these technologies. This model can be described as having three sides: Information, Identity, and Interaction. Our first target is WordPress, bootstrapping on existing work and building out from there.
- http://wiki.factoryjoe.com/w/page/12283844/DistributedSocialNetwork
- http://factoryjoe.com/blog/2007/12/06/oauth-10-openid-20-and-up-next-diso/
OASIS
- https://en.wikipedia.org/wiki/OASIS_(organization) - a global nonprofit consortium that works on the development, convergence, and adoption of standards for security, Internet of Things, energy, content technologies, emergency management, and other areas. OASIS was founded under the name "SGML Open" in 1993. It began as a trade association of SGML tool vendors to cooperatively promote the adoption of the Standard Generalized Markup Language (SGML) through mainly educational activities, though some amount of technical activity was also pursued including an update of the CALS
GMPG
2003
OpenSocial
2007
- OpenSocial is the industry's leading and most mature standards-based component model for cloud based social apps.
- Wikipedia:OpenSocial is a public specification that defines a component hosting environment (container) and a set of common application programming interfaces (APIs) for web-based applications. Initially it was designed for social network applications and was developed by Google along with MySpace and a number of other social networks. In more recent times it has become adopted as a general use runtime environment for allowing untrusted and partially trusted components from third parties to run in an existing web application. The OpenSocial Foundation has also moved to integrate or support numerous other open web technologies. This includes Oauth and OAuth 2.0, Activity Streams, and portable contacts, among others.
misc. old
- http://groups.google.com/group/openid
- http://groups.google.com/group/dataportability-public
- http://groups.google.com/group/diso-project
- http://groups.google.com/group/oauth
- http://groups.google.com/group/activity-streams/
- http://groups.google.com/group/ostatus-discuss
- http://groups.google.com/group/federated-social-web
- http://groups.google.com/group/open-web-discuss
- http://groups.drupal.org/microformats-in-drupal
- http://groups.drupal.org/activity
- http://groups.drupal.org/semantic-web
Semantic
See also Semantic web
- http://stackoverflow.com/questions/14307792/what-is-the-relationship-between-rdf-rdfa-microformats-and-microdata
- http://manu.sporny.org/2011/uber-comparison-rdfa-md-uf/
- https://gist.github.com/veganstraightedge/6179849
- http://tantek.com/presentations/2004etech/realworldsemanticspres.html
- http://www.kuro5hin.org/story/2004/9/15/25324/5735
Microformats
2003
- microformats are extensions to HTML for marking up people, organizations, events, locations, blog posts, products, reviews, resumes, recipes etc. Sites use microformats to publish a standard API that is consumed and used by search engines, browsers, and other tools.
- hAtom – for marking up Atom feeds from within standard HTML
- hCalendar – for events
- hCard – for contact information; includes:
- adr – for postal addresses
- geo – for geographical coordinates (latitude, longitude)
- hMedia - for audio/video content
- hNews - for news content
- hProduct – for products
- hRecipe - for recipes and foodstuffs.
- hResume – for resumes or CVs
- hReview – for reviews
- rel-directory – for distributed directory creation and inclusion
- rel-enclosure – for multimedia attachments to web pages
- rel-license – specification of copyright license
- rel-nofollow, an attempt to discourage third-party content spam (e.g. spam in blogs)
- rel-tag – for decentralized tagging (Folksonomy)
- xFolk – for tagged links
- XHTML Friends Network (XFN) – for social relationships
- XOXO – for lists and outlines
- http://indiewebcamp.com/in-reply-to - rel-in-reply-to
RDFa
2004
See open data#rdfa
Sitemaps
2005
- Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site.
OpenSearch
2005
Microdata
2009
Open Graph Protocol
2010
Schema.org
2011
- Schema.org provides a collection of schemas, i.e., html tags, that webmasters can use to markup their pages in ways recognized by major search providers. Search engines including Bing, Google, Yahoo! and Yandex rely on this markup to improve the display of search results, making it easier for people to find the right web pages.
- http://schema.org/docs/full.html
- http://www.w3.org/wiki/WebSchemas
- http://lov.okfn.org/dataset/lov/details/vocabulary_schema.html
Twitter Cards
2012
- Twitter Cards make it possible for you to attach media experiences to Tweets that link to your content. Simply add a few lines of HTML to your webpages, and users who Tweet links to your content will have a "card" added to the Tweet that’s visible to all of their followers.
Web Credits
ValueFlows
- ValueFlows - a set of common vocabularies to describe flows of economic resources of all kinds within distributed economic ecosystems. Purpose: to enable internetworking among many different software projects for resource planning and accounting within fractal networks of people and groups. The vocabulary will work for any kind of economic activity, but the focus is to facilitate groups experimenting with solidarity / cooperative / collaborative / small business ecosystem / commons based peer production / any transitional economies. Or, with less buzzwords, "let's help a lot of alternative economic software projects that are solving different pieces of the same puzzle be able to work together".One of the purposes of this vocab is to support resource flows connecting many websites. These flows may be oriented around Processes, Exchanges, or combinations of both. We want to support RDF based and non-RDF based use of the vocabulary, basically any way that people want to use software and data on the internet to help create economic networks.
Identity / authentication
See also Net media#Identity
OpenID
2005
- OpenID is an open standard that allows users to be authenticated by certain co-operating sites (known as Relying Parties or RP) using a third party service, eliminating the need for webmasters to provide their own ad hoc systems and allowing users to consolidate their digital identities.
- http://wiki.openid.net/w/page/12995226/Run-your-own-identity-server
- https://drupal.org/project/openid_provider
- http://www.cse.wustl.edu/~jain/cse571-07/ftp/websso/
- http://tantek.com/2011/047/t1/indiewebcamp-with-openid-seriously-best-web-id
- http://stackoverflow.com/questions/1116743/where-can-i-find-a-list-of-openid-provider-urls
- http://meta.stackexchange.com/questions/31021/what-openid-providers-should-we-feature-on-the-login-page
OAuth
OAuth - 2006-2010, OAuth 2 - 2012
- http://oauth.net/ - access granting protocol, silod pseudo-auth for identity and api access
OAuth began in November 2006 when Blaine Cook was developing the Twitter OpenID implementation. Meanwhile, Ma.gnolia needed a solution to allow its members with OpenIDs to authorize Dashboard Widgets to access their service. Cook, Chris Messina and Larry Halff from Ma.gnolia met with David Recordon to discuss using OpenID with the Twitter and Ma.gnolia APIs to delegate authentication. They concluded that there were no open standards for API access delegation.
The OAuth discussion group was created in April 2007, for the small group of implementers to write the draft proposal for an open protocol. DeWitt Clinton from Google learned of the OAuth project, and expressed his interest in supporting the effort. In July 2007 the team drafted an initial specification. Eran Hammer joined and coordinated the many OAuth contributions, creating a more formal specification. On October 3, 2007, the OAuth Core 1.0 final draft was released.
Because OAuth 2.0 is more like a framework rather than a defined protocol, any OAuth 2.0 implementation is unlikely to naturally be interoperable with any other OAuth 2.0 implementation. Further deployment profiling and specification is required for any interoperability.
- http://web.archive.org/web/20110305071413/http://blog.behindlogic.com/2007/12/oauth-is-key-to-future-longings-of.html
- http://homakov.blogspot.co.uk/2013/03/oauth1-oauth2-oauth.html
- http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/
OpenID Connect / OIDC
2010
- http://factoryjoe.com/blog/2010/01/04/openid-connect/
- https://github.com/rohe/pyoidc
- OpenID Connect - Posted Jun 3, 2010
- http://factoryjoe.com/blog/2010/05/16/combing-openid-and-oauth-with-openid-connect
- http://nat.sakimura.org/2012/01/20/openid-connect-nutshell/
- http://nat.sakimura.org/2013/07/28/write-openid-connect-server-in-three-simple-steps/
- http://developer.studivz.net/wiki/index.php/OpenID_Connect
- http://osis.idcommons.net/wiki/Main_Page
- http://nat.sakimura.org/2013/07/28/write-openid-connect-server-in-three-simple-steps/
- http://nimbusds.com/blog/our-openid-connect-server/
- https://npmjs.org/package/openid-connect
- https://github.com/mitreid-connect/
- https://www.mediawiki.org/wiki/Extension:OpenID_Connect
- https://github.com/wikimedia/mediawiki-extensions-OpenIDConnect
WebID
2011
- https://en.wikipedia.org/wiki/FOAF_(ontology)#WebID_Protocol
- http://www.w3.org/wiki/WebID - was 'FOAF+SSL'
- http://www.w3.org/2005/Incubator/webid/wiki/User_Stories - active-ish
- http://buddypress.org/support/topic/webid-versus-openid-connect/
- http://semanticweb.com/time-for-another-look-at-webid_b21579
- http://bblfish.net/tmp/2010/08/05/webid-related.respec.html
- http://news.softpedia.com/news/W3C-Launches-WebID-Development-Group-for-Browser-Authentication-178496.shtml
- http://bblfish.net/tmp/2011/04/26/
- http://bblfish.net/blog/2011/05/25/
- http://yorkporc.wordpress.com/2012/10/03/myopenid-oauth-persona-webid-bridge/
BrowserID / Persona
2011
- Introducing BrowserID: A better way to sign in - Jul 14, 2011
- MDN: Identity Provider Overview
- BrowserID - This is the production BrowserID specification, working live at https://login.persona.org.
- https://login.persona.org
- https://developer.mozilla.org/en/BrowserID/Quick_Setup
- Persona - repository contains the core Mozilla Persona services.
- EyeDee.Me - EyeDee.Me is an example Indentity Provider for the BrowserID protocol. This protocol is used by Mozilla Persona to authenticate users across the web. EyeDee.Me styles itself like an email provider, but does not actually handle any email. Rather, it exists solely as an example for how services, such as email providers, can provide first-class support for BrowserID.
- BigTent - A ProxyIdP service for bridging major IdPs who lack support for the BrowserID protocol.
- checkmyidp.org - A Mozilla Persona Identity Provider (IdP) Linter
- 123done - your tasks - simplified. test login.
- https://drupal.org/project/persona
- https://drupal.org/project/browserid_idp
- DrupalCon Prague 2013: Mozilla Persona: The Web's Decentralised Identity API - Jonathan Brown (Bluedroplet), Dan Callahan (Mozilla)
- Hypersona - Mozilla Persona's viability in Hyperboria
- http://upon2020.com/blog/2014/02/on-mozillas-persona-post-mortem/
- http://identity.mozilla.com/post/78873831485/transitioning-persona-to-community-ownership [19]
IndieAuth
2011
- IndieAuth is a way to use your own domain name to sign in to websites. It's like OpenID, but simpler! It works by linking your website to one or more authentication providers such as Twitter or Google, then entering your domain name in the login form on websites that support IndieAuth.
- http://indiewebcamp.com/IndieAuth - IndieAuth is an implementation of Web sign-in/RelMeAuth with a REST API on top.
- https://github.com/fmarier/indieauth-personaidp-spec
- http://aaronparecki.com/articles/2013/09/15/1/indieauth-now-supports-openid-delegation
url, not uri. costs a domain, digital divide..
SQRL
- GRC: SQRL - Secure (QR) Login. Proposing a comprehensive, easy-to-use, high security replacement for usernames, passwords, reminders, one-time-code authenticators and everything else.
WebAuth
- WebAuth - A Plugin Replacement for HTTPS CCA
WebAuthn
- BitShares Login - has since pivoted? [24]
U2F
- Universal 2nd Factor - open ecosystem documents, an initiative started by Google. The intent is to enable Internet users to carry a non-phishable strong 2 factor device which the user can register at any supporting site to get strong authentication security. The goal is to get many internet services accepting these devices as an option for 2nd Factor, get the key client platforms (browsers, OSes) to have built in support for these open-protocol devices and a large number of vendors making protocol compliant devices.
gpgAuth
- gpgAuth is an authentication mechanism which uses Public/Private (cryptographic) keys (such as GnuPG, PGP) to authenticate users to a web-page or service. The process works by the two-way exchange of Encrypted/Signed tokens between a user and the service. gpgAuth is a generic authentication protocol that is not specific to any technology, platform or provider type. Being a versitile authentication mechansim, there are many hardware/software options available - in the projects section you will find information regarding various gpgAuth client and server implementations or tools.
Login with SSH
- Login with SSH - a simple experiment to authenticate web sessions with SSH. Doing so gives you a fully decentralized, passwordless authentication for free. A custom SSH server listens for connections. Instead of providing a shell or any other service, it only validates the public key you offer. Then, a callback is made to a web application with a payload containing the validated public key along with the login token used. In practise, you would have first hit a "login with SSH button" on the web app. It would have generated a session that resolves into a valid one with a callback handing the proper key / token combination.[25]
JSON Web Tokens
- https://en.wikipedia.org/wiki/JSON_Web_Token - JWT, is a JSON-based open standard (RFC 7519) for creating access tokens that assert some number of claims. For example, a server could generate a token that has the claim "logged in as admin" and provide that to a client. The client could then use that token to prove that it is logged in as admin. The tokens are signed by one party's private key (usually the server's), so that both parties (the other already being, by some suitable and trustworthy means, in possession of the corresponding public key) are able to verify that the token is legitimate. The tokens are designed to be compact, URL-safe and usable especially in web browser single sign-on (SSO) context. JWT claims can be typically used to pass identity of authenticated users between an identity provider and a service provider, or any other type of claims as required by business processes. JWT relies on other JSON-based standards: JWS (JSON Web Signature) RFC 7515 and JWE (JSON Web Encryption) RFC 7516.
SAML
- https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language - AML, pronounced SAM-el) is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based markup language for security assertions (statements that service providers use to make access-control decisions). SAML is also: A set of XML-based protocol messages; A set of protocol message bindings; A set of profiles (utilizing all of the above)The single most important use case that SAML addresses is web browser single sign-on (SSO). Single sign-on is relatively easy to accomplish within a security domain (using cookies, for example) but extending SSO across security domains is more difficult and resulted in the proliferation of non-interoperable proprietary technologies. The SAML Web Browser SSO profile was specified and standardized to promote interoperability] (For comparison, the more recent OpenID Connect protocol is an alternative approach to web browser SSO.)
Discovery
- The Discovery Protocol Stack, Redux - Nov 24th 2009
XRD
XRD: Extensible Resource Descriptor XRDS: Extensible Resource Descriptor Sequence
The XML format used by XRDS was originally developed in 2004 by the OASIS XRI (extensible resource identifier) Technical Committee as the resolution format for XRIs. The acronym XRDS was coined during subsequent discussions between XRI TC members and OpenID developers at first Internet Identity Workshop held in Berkeley, CA in October 2005. The protocol for discovering an XRDS document from a URL was formalized as the Yadis specification published by Yadis.org in March 2006. Yadis became the service discovery format for OpenID 1.1.
A common discovery service for both URLs and XRIs proved so useful that in November 2007 the XRI Resolution 2.0 specification formally added the URL-based method of XRDS discovery (Section 6). This format and discovery protocol subsequently became part of OpenID Authentication 2.0. In early 2008, work on OAuth discovery by Eran Hammer-Lahav led to the development of XRDS Simple, a profile of XRDS that restricts it to the most basic elements and introduces some extensions to support OAuth discovery and other protocols that use specific HTTP methods. In late 2008, XRDS Simple has been cancelled and merged back into the main XRDS specification resulting in the upcoming XRD 1.0 format.
- http://web.archive.org/web/20090312073505/http://xrds-simple.net/core/1.0/
- http://docs.oasis-open.org/xri/xrd/v1.0/os/xrd-1.0-os.html
- https://wiki.oasis-open.org/xri/XrdOne/SpecHome
.well-known
- RFC5785: Defining Well-Known Uniform Resource Identifiers (URIs) - defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.
- RFC 5785: Defining Well-Known URIs - April 6th 2010
older;
- http://tools.ietf.org/html/draft-hammer-discovery-06 - LRDD: Link-based Resource Descriptor Discovery
- http://tools.ietf.org/html/draft-hammer-hostmeta-17 - Web Host Metadata
newer;
- Simple Web Discovery (SWD) defines an HTTPS GET based mechanism to discover the location of a given type of service for a given principal starting only with a domain name.
Web Linking
- RFC5899: Web Linking - specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field.
WebFinger
- WebFinger is a .well-known based protocol that aims to provide information about people by their E-mail addresses. It moves the old UNIX Finger protocol to the web by relying on HTTP only. It provides meta data about the user behind the E-mail address, for example public encryption keys and OpenIDs. The WebFinger protocol is used by the federated social networks StatusNet and Diaspora to discover users on federated nodes and pods as well as the remotestorage protocol used by e.g. ownCloud.
- WebFist uses DKIM-signed email to prove that you, the user, want to participate in WebFinger, regardless of what your provider says. By sending a single email you can delegate your WebFinger profile to your own website host or anything that can serve the service document over HTTP (e.g., Google Drive). This is ridiculously easy for users. You can even set up WebFist via a mailto link on a webpage. To accomplish decentralization, WebFist servers take delegation emails, encrypt them into blobs, and distribute the blobs safely across a pool of peer servers. These servers synchronize with a "fist bump", transferring just encrypted blobs without secret keys. This makes it near impossible to enumerate every email address in WebFist.
JSON Resource Descriptor
- JSON Resource Descriptor (JRD) is a simple JSON object that describes a "resource" on the Internet, where a "resource" is any entity on the Internet that is identified via a URI or IRI. For example, a person's account URI (e.g., acct:bob@example.com) is a resource. So are all web URIs (e.g., http://www.packetizer.com/). The JSON Resource Descriptor, originally introduced in RFC 6415 and based on the Extensible Resource Descriptor (XRD) format, was adopted for use in the WebFinger protocol, though its use is not restricted to WebFinger or RFC 6415.
- JRD, the Other Resource Descriptor - May 24th 2010
- RFC6415: Web Host Metadata
Also used in OpenID Connect.
Web Intents
- Web Intents is a framework for client-side service discovery and inter-application communication. Services register their intention to be able to handle an action on the user's behalf. Applications request to start an Action of a certain verb (share, edit, view, pick etc.) and the system will find the appropriate Services for the user to use based on the user's preference. Web Intents puts the user in control of service integrations and makes the developer's life simple.
UserAddress
- UserAddress is a search engine that can discover users as long as they are discoverable through one of the following languages: xrd (e.g. Webfinger including StatusNet, Google+, Friendica, Diaspora), rdf (e.g. Foaf), html (e.g. Tantek, Melvin), turtle (e.g. Facebook), Twitter-flavoured json (Twitter), Planned: xmpp-vcard (e.g. BuddyCloud)
Profile
vcard
hcard
- hCard is a microformat that allows a vCard to be embedded inside an HTML page. It makes use of CSS class names to identify each vCard property. Normal HTML markup and CSS styling can be used alongside the hCard class names without affecting the webpage's ability to be parsed by a hCard parser.
avatar
- http://pavatar.com/ - dead
attention
- http://www.apml.areyoupayingattention.com/
- http://www.bbc.co.uk/blogs/radiolabs/2008/05/were_playing_your_song_persona.shtml
Posting
Blogger API
- Google: Blogger API v3
MetaWeblog
2002
- RFC: MetaWeblog API - a programming interface that allows external programs to get and set the text and attributes of weblog posts. It builds on the popular XML-RPC communication protocol, with implementations available in many popular programming environments. The MetaWeblog API is designed to enhance the Blogger API, which was limited in that it could only get and set the text of weblog posts. By the time MWA was introduced, in spring 2002, many weblog tools had more data stored with each post, and without an API that understood the extra data, content creation and editing tools could not access the data. At the time of this writing, summer 2003, most popular weblog tools and editors support both the Blogger API and the MetaWeblog API.
- https://en.wikipedia.org/wiki/MetaWeblog - an application programming interface created by software developer Dave Winer that enables weblog entries to be written, edited, and deleted using web services. The API is implemented as an XML-RPC web service with three methods whose names describe their function: metaweblog.newPost(), metaweblog.getPost() and metaweblog.editPost(). These methods take arguments that specify the blog author's username and password along with information related to an individual weblog entry.
The impetus for the creation of the API in 2002 was perceived limitations of the Blogger API, which serves the same purpose. Another weblog publishing API, the Atom Publishing Protocol became an IETF Internet standard (RFC 5023) in October 2007. Subsequently, another weblog publishing API, Micropub, which was developed with modern technologies like OAuth, became a W3C Recommendation in May 2017. Many blog software applications and content management systems support the MetaWeblog API, as do numerous desktop clients.
AtomPub
- Atom Publishing Protocol - based on HTTP and is used for publications and posting on Web resources. The Atom Publishing Protocol (APP) together with the Atom Syndication Format (ASF) provides interaction with content, especially at blogs and RSS. Atom has become a popular element of Web 2.0-style solutions. APP/ASF represent a data model, which is simpler than WebDAV model, and consists of elements and selection of elements (entries), but doesn’t include location of selections (hierarchy of selection).
- The Atom Publishing Protocol - an application-level protocol for publishing and editing Web resources. The protocol is based on HTTP transfer of Atom-formatted representations. The Atom format is documented in the Atom Syndication Format.
- https://tools.ietf.org/html/rfc5023
- http://datatracker.ietf.org/wg/atompub/charter
- Blogger Developers Network - Blogger API Update
- XML.com: The Atom API
- AtomSub - Transporting Atom Notifications over the Jabber/XMPP Publish-Subscribe Extension to the Extensible Messaging and Presence Protocol (XMPP)]
MicroPub
- https://indieweb.org/Micropub - an open API standard (W3C Recommendation) that is used to create, update, and delete posts on one's own domain using third-party clients, and supersedes both MetaWeblog and AtomPub. Web apps and native apps (e.g. iPhone, Android) can use Micropub to post and edit articles, short notes, comments, likes, photos, events, or other kinds of posts to your own site.
- Micropub Rocks! - a validator to help you test your Micropub implementation. Several kinds of tests are available on the site.
Feeds / Activity
toootal mess...
RSS
- John Battelle's Search Blog: An Apology To My RSS Readers – But I Had To Do It. (Updated) - "UPDATE: I turned full feed back on. Thanks for all the input." - 2013
- Hacker News: YouTube has apparently reinstated RSS feeds - 2015
- The Rise and Demise of RSS - 2018 [28]
- Hacker News: It's time to head back to RSS? - comments, 2018
Atom
See also #AtomPub
- RFC4287: The Atom Syndication Format
- AtomEnabled.org - a simple way to read and write information on the web, allowing you to easily keep track of more sites in less time, and to seamlessly share your words and ideas by publishing to the web.
- RFC 4685 - Atom Threading Extensions - an extension for expressing threaded discussions within the Atom Syndication Format
- AtomOwl Vocabulary Specification - an ontology whose aim is to capture the semantics of rfc4287. RFC4287 is a format to syndicate online content, such as weblogs, podcasts, videocasts, etc. Syndication is a helpful way to alert interested readers to changes to a web site, be it to new content or changed content. As AtomOwl captures the semantics of rfc4287 it is easy to convert rfc4287 feeds to AtomOwl statements and thus add them to a triple database, which can the be queried using a SPARQL endpoint. This should then help make very powerful searched for updated content possible.
- Rss20AndAtom10Compared - Atom Wiki - People who generate syndication feeds have a choice of feed formats. As of mid-2005, the two most likely candidates will be RSS 2.0 and Atom 1.0. The purpose of this page is to summarize, as clearly and simply as possible, the differences between the RSS 2.0 and Atom 1.0 syndication languages.
to sort
- syndicated.media - an open standard maintained by the community.Current areas of focus include: extending RSS to support the modern needs of producers and their content; standardizing host and client behavior; improving the availability and accuracy of metrics and analytics; establishing and publishing best practices for de facto standards that have been adopted in the industry; thinking about the future of podcasting and needs that may arise.
- What is a River of News aggregator? - "a kind of RSS aggregator. Items are presented in reverse-chronologic order. Each item has a headline, short description, a link to the story, links to the website and feed it came from, a link to its enclosure if it has one, when it was published, when it appeared in the river. It does not have the full text of the article. Text is truncated to less than 500 characters. Markup is removed from the description text. If more than one item from a feed is gathered in a single read of the feed, they are grouped together, so that the feed information is not repeated for each item. Browsing via the vertical scrollbar
- https://github.com/RSS-Bridge/rss-bridge - a PHP project capable of generating RSS and Atom feeds for websites which don't have one. It can be used on webservers or as stand alone application in CLI mode.
- https://bitbucket.org/tux_/rssparser.lisp - A Web-to-RSS parser in Common Lisp.
- Feed Creator - Create an RSS feed for a web page which does not offer its own.
- Feedity - Make a feed for any webpage to follow or publish its updates.
- https://github.com/h43z/rssify - script that generates an rss feed out of websites that don't have one
- Full-Text RSS Feeds - a free software PHP application to help you extract article content from web pages. Extract from a standard HTML page or transform partial feeds to full text. Designed to be run as a web service, but one which you control.
- https://github.com/rcarmo/rss2imap - An adaptation of rss2mail that uses IMAP directly
- https://github.com/rcarmo/go-rss2imap - A tweak of htr's imapfeeder to match my rss2imap feature set
- RSS Autodiscovery - a technique that makes it possible for browsers and other software to automatically find a site's RSS feed, whether it's in RSS 1.0 or RSS 2.0 format. Supported by Mozilla Firefox 2.0, Microsoft Internet Explorer 7.0 and other browsers, autodiscovery has become the best way to inform users that a web site offers a syndication feed. When a browser loads a page and discovers that a feed is available, Firefox and Internet Explorer display the common feed icon in the address bar.
- SubToMe - Universal Follow Button. SubToMe makes it easy for people to follow web sites,because browsers don't do it.
- RFC 5005 - Feed Paging and Archiving - Syndicated Web feeds (using formats such as Atom [1]) are often split into multiple documents to save bandwidth, allow "sliding window" access, or for other purposes. This specification formalizes two types of feeds that can span one or more feed documents; "paged" feeds and "archived" feeds. Additionally, it defines "complete" feeds to cover the case when a single feed document explicitly represents all of the feed's entries.
Readers
- Superfeedr Blog - State of RSS Readers - 2013, post Google Reader shutdown
- ReplaceReader - Google Reader is going down.Find the best Reader replacements before it's too late.
Desktop
Canto
- Canto - an Atom/RSS feed reader for the console that is meant to be quick, concise, and colorful. It’s meant to provide a minimal, yet information packed interface. No navigating menus. No dense blocks of unreadable white text. An interface with almost infinite customization and extensibility using the excellent Python programming language.
- https://github.com/themoken/Canto
- https://github.com/themoken/canto-next - The next generation Canto RSS daemon
- https://github.com/themoken/canto-curses - Curses frontend for Canto daemon
Straw
- Straw - a feed reader aimed for users using the GNOME desktop. You subscribe to news, blogs, and podcast feeds and read the feeds in the comfort of your desktop, with or without online access.The goal of Straw is to be an easy-to-use feed reader and one that is integrated with the rest of your desktop. It should support the capabilities provided by the desktop as well as not being hard to users when it comes to usability and in terms of providing functionality.
Command-line
Newsboat
- Newsboat - a fork of Newsbeuter, an RSS/Atom feed reader for the text console. The only difference is that Newsboat is actively maintained while Newsbeuter isn't.
Rainbow Stream
- https://github.com/orakaro/rainbowstream - Terminal-based Twitter Client. Real-time tweetstream, compose, search, favorite, and much more fun directly from terminal.
RSSTail
- rsstail - more or less an rss reader: it monitors an rss-feed and if it detects a new entry it'll emit only that new entry.
Android
- Feeder - Android RSS feed reader
Web clients
- http://en.wikipedia.org/wiki/Planet_(software) - old skool
Planet
- Venus - a flexible feed aggregator. It downloads news feeds published by web sites and aggregates their content together into a single combined feed, latest news first. This version of Planet is named Venus as it is the second major version. The first version is still in wide use and is also actively being maintained.
- https://github.com/rubys/venus
TT-RSS
- Tiny Tiny RSS - an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.
- https://github.com/feediron/ttrss_plugin-feediron - a plugin for Tiny Tiny RSS (tt-rss) that allows you to replace an article's contents by the contents of an element on the linked URL's page, i.e. create a "full feed".
CommaFeed
- CommaFeed - Google Reader inspired self-hosted RSS reader.
selfoss
- selfoss - multipurpose rss reader, live stream, mashup, aggregation web application
shomyo
- https://github.com/arbk/shomyo - web based feed reader and aggregator. It's installed on your web server. And, you access it by a browser. (PC, Android, and iPhone, etc.) shomyo is the custom version based on selfoss.
stringer
- https://github.com/swanson/stringer - A self-hosted, anti-social Ruby based RSS reader. Stringer has no external dependencies, no social recommendations/sharing, and no fancy machine learning algorithms. But it does have keyboard shortcuts and was made with love!
Sismics Reader
- Sismics Reader - Free and open source feeds reader, including all major Google Reader features
Feedbin
- Feedbin - Follow your passions with RSS, Twitter, and email newsletters.
RSS Puppy
- https://github.com/buzzfeed-openlab/rss-puppy - designed to monitor RSS feeds in bulk, and to generate machine friendly notifications when new entries appear. While there exists no shortage of RSS readers and web-based notification services, nothing we found combines easy managment of hundreds of RSS feeds with the flexibility to direct output to a variety of data stores or over disparate protocols.This monitor can be run on any cloud service provider, and requires only Nodejs and a PostgreSQL database. Also, it is trivial to add output handlers which can pipe feed entry data to any service you use. [30]
RSSHub
- RSSHub - a lightweight and extensible RSS feed aggregator, it's able to generate feeds from pretty much everything. [31]
Winds
- Winds - a beautiful open-source RSS and Podcast app created using React & Redux on the frontend and Express.js on the backend. Use the free hosted version or run it on your own server and customize it as you see fit. Contributions in form of pull requests are always appreciated. Activity Feeds & Discovery in Winds are powered by Stream, the app leverages Algolia for search, AWS for hosting, MongoDB Atlas for a hosted database (DBaaS), and SendGrid for email. All of these services have a free tier.
PubwichFork
- PubwichFork — Aggregate your Social Web content into a single HTML page - An open-source PHP web application that allows you to aggregate published data from multiple websites and social services into a single HTML page.
River2 / River5
- River2 - a River of News feed reader with lots of features.
- https://github.com/scripting/river5 - A river-of-news RSS aggregator in JS running in Node.
TagTeam
- TagTeam - The open-source tagging platform and feed aggregator.
Coldsweat
- https://github.com/passiomatic/coldsweat - a Python web RSS aggregator and reader compatible with the Fever API. This means that you can connect Coldsweat to a variety of clients like Reeder for iOS or Mac OS X ReadKit app and use it to sync them together.
R
- https://github.com/pmarinov/rrss - R is a reader of RSS feeds (w/GDrive for storage)
TrueRSS
- https://github.com/truerss/truerss - open source feed reader with customizable plugin system for any content (atom, rss, youtube channels...).
Miniflux
- Miniflux - Miniflux is a minimalist and opinionated feed reader. Go.
Anancus
- https://gitlab.com/tuxether/anancus - Self-hosted and federated social link aggregation
feedtragon
- feedtragon - a small self-hosted RSS-reader. Instead of polling feeds on its own, it is using superfeedr to get updates of subscribed feeds.
Podlove Web Player
- https://github.com/podlove/podlove-web-player - a Podcast-optimized, HTML5-based audio player based on VueJS.
FreshRSS
- https://github.com/FreshRSS/FreshRSS - a self-hosted RSS feed aggregator like Leed or Kriss Feed.
moonmoon
- moonmoon - a simple php app for showing several feeds on one page.
pluto
- https://github.com/feedreader/pluto - pluto gems - planet (static) site generator - auto-build web pages from published web feeds
uranus
- uranus - a planet (blogroll) generator written in pure Ruby. It collects RSS or Atom feeds from the Internet and combines them into a single website and a collective feed that users can subscribe to.
Services
Superfeedr
- Superfeedr - pushes feed data in realtime. Superfeedr's powerful unified Feed API simplifies how you handle RSS, Atom, or JSON feeds. Whether you publish or consume feeds, we streamline the notification process, saving you time and resources.
- http://blog.superfeedr.com/xmpp-over-websockets/
FreshRSS
- FreshRSS - a self-hosted RSS feed aggregator such as Leed or Kriss Feed.
FeedSubs
- FeedSubs - Open Source RSS feed reader. Start using it straight away by creating an account.
Bazqux
Yoleo
Inoreader
- Inoreader - Android app
Libraries
SimplePie
- SimplePie - a very fast and easy-to-use feed parser, written in PHP, that puts the 'simple' back into 'really simple syndication'. Flexible enough to suit beginners and veterans alike, SimplePie is focused on speed, ease of use, compatibility and standards compliance.
Atoma
- https://github.com/NicolasLM/atoma - Atom and RSS feed parser for Python 3
OPML
2001
- OPML an XML-based format that allows exchange of outline-structured information between applications running on different operating systems and environments.
- OPML Editor - an outliner, an editor that works with chunks of text that slide around on rails. You can control the level of detail you look at, and reorganize according to structure. It's great for writing blog posts, technical notes, program code, legal briefs, product plans, to-do lists, entire websites, anything where ideas need organization.
- https://github.com/captn3m0/opml-gen - Simple Ruby web tool to generate OPML files to let you use RSS feeds everywhere
Activity Streams
2009
- http://microformats.org/wiki/activity-streams
- http://indiewebcamp.com/ActivityStreams
- http://martin.atkins.me.uk/activity-streams/
- pump.io - Social server with an ActivityStreams API
- http://www.chmod777self.com/2013/05/time-for-updated-activity-streams.html
- http://www.chmod777self.com/2013/06/activity-streams-20-updates.html
- http://www.chmod777self.com/2013/06/more-link-relations-part-two.html
- http://www.chmod777self.com/2013/07/more-on-activity-streams-20.html
- http://www.chmod777self.com/2013/07/activity-streams-20-whats-and-whys.html
- http://www.chmod777self.com/2013/08/social_8.html
- http://www.chmod777self.com/2013/08/now-that-you-mention-it.html
- http://www.chmod777self.com/2013/08/whats-hubbub.html
- http://www.chmod777self.com/2013/08/more-on-link-and-webmention.html
- http://www.chmod777self.com/2013/08/webfinger-poor-tortured-soul.html
- http://www.chmod777self.com/2013/08/more-link-relations.html
- http://www.chmod777self.com/2013/09/actions-in-activity-streams-20.html
- https://tools.ietf.org/html/draft-snell-activitystreams-04 - JSON Activity Streams 2.0
- https://blog.dereferenced.org/activitypub-the-worse-is-better-approach-to-federated-social-networking [32]
- w3c: Activity Streams 2.0
- https://github.com/forgefed/forgefed - An extension to ActivityPub for web-based Git services federation.
JSON Feed
2017
Microsub
- https://indieweb.org/Microsub - a standardized way for reader apps to interact with feeds. By splitting feed parsing and displaying posts into separate parts, a reader app can focus on presenting posts to the user instead of also having to parse feeds. A Microsub server manages the list of people you're following and collects their posts, and a Microsub app shows the posts to the user by fetching them from the server.
Pub/sub
- https://en.wikipedia.org/wiki/Publish–subscribe_pattern - a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead categorize published messages into classes without knowledge of which subscribers, if any, there may be. Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are. Publish–subscribe is a sibling of the message queue paradigm, and is typically one part of a larger message-oriented middleware system. Most messaging systems support both the pub/sub and message queue models in their API, e.g. Java Message Service (JMS). This pattern provides greater network scalability and a more dynamic network topology, with a resulting decreased flexibility to modify the publisher and the structure of the published data.
Jabber/XMPP PubSub
2002
- http://radar.oreilly.com/2008/07/oscon-day-1-beyond-rest-buildi.html
- http://www.isode.com/whitepapers/xmpp-pubsub.html
- http://blog.fanout.io/2013/10/09/publishing-json-over-xmpp/ [33]
WebSub
2008
- https://indieweb.org/WebSub - previously known as PubSubHubbub or PuSH, and briefly PubSub, is a notification-based protocol for web publishing and subscribing to streams and legacy feed files in real time. Currently there are no known indieweb sites that subscribe to anything via WebSub, but there are a few separate-UI indie-readers that use WebSub to subscribe to h-feed streams. WebSub is developed in the W3C Social Web Working Group.
- PubSubHubbub (PuSH) - A simple, open, server-to-server webhook-based pubsub (publish/subscribe) protocol for any web accessible resources.
- Notes / PubSubHubbub - Oct 3rd 2010
trsst
2013
- Trsst: a secure and distributed blog platform for the open web
- Make a Twitter out of RSS - Dave Winer, March 28, 2013.
http-subscriptions
2013. Via WebHooks.
App.net
Linkbacks
Ping
1999
Trackback
2002
- Six Apart - Labs: Trackback - uses a REST model, where requests are made through standard HTTP calls. To send a TrackBack ping, the client makes a standard HTTP request to the server, and receives a response in a simple XML format (see below for more details). In the TrackBack system, the URL that receives TrackBack pings is the TrackBack Ping URL. A typical TrackBack Ping URL looks like http://www.example.com/trackback/5, where 5 is the TrackBack ID. Server implementations can use whatever format makes sense for the TrackBack Ping URL; client implementations should not depend on a particular format. To send a ping, the client sends an HTTP POST request to the TrackBack Ping URL. The client MUST send a Content-Type HTTP header, with the content type set to application/x-www-form-urlencoded. The client SHOULD include the character encoding of the content being sent (title, excerpt, and weblog name) in the charset attribute of the Content-Type header.
Semantic Trackback
2002
Pingback
2002
- https://en.wikipedia.org/wiki/Pingback - an XML-RPC request (not to be confused with an ICMP ping) sent from Site A to Site B, when an author of the blog at Site A writes a post that links to Site B. The request includes the URI of the linking page. When Site B receives the notification signal, it automatically goes back to Site A checking for the existence of a live incoming link. If that link exists, the pingback is recorded successfully. This makes pingbacks less prone to spam than trackbacks. Pingback-enabled resources must either use an X-Pingback header or contain a <link> element to the XML-RPC script.
Semantic Pingback
- http://www.w3.org/wiki/Pingback
- http://aksw.org/Projects/SemanticPingback.html
- http://pingback.aksw.org/
- http://www.w3.org/wiki/Pingback
Refback
2011
- https://en.wikipedia.org/wiki/Refback - simply the usage of the HTTP referrer header to discover incoming links. Whenever a browser traverses an incoming link from Site A (originator) to Site B (receptor) the browser will send a referrer value indicating the URL from where the user came. Site B might publish a link to Site A after visiting Site A and extracting relevant information from Site A such as the title, meta information, the link text, and so on. Refback only requires Site B to be Refback enabled in order to establish this communication. Refback requires Site A to physically link to Site B. Refback also requires browsers to traverse the links.
WebMention
2012
- http://webmention.org/ - A modern alternative to Pingback.
- http://webmention.io/ is an open-source project and hosted service for receiving webmentions and pingbacks on behalf of your indieweb site.
Comments
CommentAPI
Salmon
- Salmon Protocol is a message exchange protocol running over HTTP designed to decentralize commentary and annotations made against newsfeed articles such as blog posts. It allows a single discussion thread to be established between the article's origin and any feed reader or "aggregator" which is subscribing to the content. Put simply, that if an article appeared on 3 sites A (the source), B and C (the aggregates), that members of all 3 sites could see and contribute to a single thread of conversation regardless of site they were viewing from.
WebMention
- http://indiewebcamp.com/comment - are displayed in the context of an original post, and may be a mix of syndicated reply posts from other sites received via Webmention, as well as locally created comments.
- https://indieweb.org/Webmention - a web standard for mentions and conversations across the web, a powerful building block that is used for a growing federated network of comments, likes, reposts, and other rich interactions across the decentralized social web.
- https://indieweb.org/Salmention - a protocol extension to Webmention to propagate comments and other interactions upstream by sending a webmention from a response to the original post when the response itself receives a response (comment, like, etc.). The original post then checks the response to the original, parses the response to the response (e.g. comment on a comment) and then displays it as an additional response on the original post.
Other
Interaction
XML-RPC
Atom Publishing Protocol
OExchange
- OExchange is an open protocol for sharing any URL with any service on the web.
Web Intents
- Web Intents is a framework for client-side service discovery and inter-application communication. Services register their intention to be able to handle an action on the user's behalf. Applications request to start an Action of a certain verb (share, edit, view, pick etc.) and the system will find the appropriate Services for the user to use based on the user's preference.
Ballista
Graph
FOAF
2000
FOAF (from "friend of a friend") is an RDF based schema to describe persons and their social network in a semantic way. FOAF could get used within many wikis for annotating user pages, or describing articles about people.
See Open web#WebID
XFN
2006
Portable Contacts
2008
The protocol is a combination of OAuth, XRDS-Simple and a wire-format based on vCard harmonized with schema from OpenSocial.
Other
Storage
remoteStorage
- remoteStorage - the first (and currently only) open standard to enable truly unhosted web apps. That means users are in full control of their precious data and where it is stored, while app developers are freed of the burden of hosting, maintaining and protecting a central database.
Networks
See also Comms, Network#Projects
theory and practice
- https://docs.google.com/spreadsheet/ccc?key=0AtXMsLaocacrdDAwTzdPeGdPNlhZSHFMelg0MnQ2N2c#gid=0
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Platforms
GNUnet
2001
- GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. Anonymity is provided by making messages originating from a peer indistinguishable from messages that the peer is routing. All peers act as routers and use link-encrypted connections with stable bandwidth utilization to communicate with each other. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service. GNUnet is part of the GNU project. GNUnet can be downloaded from GNU and the GNU mirrors.
Kune
2007
xOperator
2007
- xOperator - A semantic agent for xmpp / jabber network which finds and shares content about resources (using RDF/SPARQL) for you and your jabber friends.
Sneer
2008
- Sneer is a free and open source sovereign computing platform. It runs on your Windows, Mac or Linux machine (like Skype or Firefox) using the Java VM. It enables you to create your personal cluster by sharing hardware resources (CPU, disk space, network bandwidth) with your friends, host your own social network, information and media, create sovereign applications and share them with others, download and run sovereign applications created by others.
Semantic Microblogging
2008
OpenLink Data Spaces
2009
Diaspora
2010
GNU Social
2010. uses older OStatus
- http://programmingisterrible.com/post/39438834308/distributed-social-network
- http://we-need-a-free-and-open-social-network.wikispaces.com/Federated+Social+Network+Applications
- https://git.gnu.io/h2p/Qvitter - UI for GNU social
- https://git.gnu.io/gnu/gnu-social/issues/256 - Support ActivityPub
- https://git.gnu.io/dansup/ActivityPub - ActivityPub Plugin for GNU Social
Foafpress
2010
- Foafpress - An open-source PHP web application and presentation engine that publishes profiles and web pages based on RDF data stored in files. It allows you to aggregate and publish data from multiple web sources via Linked Data.
Jappix
2010
- https://jappix.com/ - xmpp based
buddycloud
2010
Mobile Social Semantic Web
2010
Friendica
2011
- friendica – A Decentralized Social Network
DSSN
2012
Nightweb
2012
- Nightweb is an app for Android devices and PCs that connects you to an anonymous, peer-to-peer social network. It is written in Clojure and uses I2P and BitTorrent on the backend.
Vole
2013
- Vole is a web-based social network that you use in your browser, without a central server. It's built on the power of Bittorrent, Go and Ember.js.
SOCML
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SOCML_proposal
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SOCML_Standard
- http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/SOCML_Technical
Sockethub
- Sockethub is a polyglot (speaking many different protocols and APIs) messaging service for social and other interactive messaging applications. It assists web app developers by providing server-independent, server-side functionality - which gives the application greater autonomy. It can be used as a tool for many different types of applications, large and small.
Di.me
IRC Paradigm
2013
Aether
2013
- Aether - a peer-to-peer app, and it has no servers. A result of this is that source IP of any specific public post cannot (easily) be determined. Most people use pseudonyms, though you can use your real name, or company. Aether is private by default, so that you can choose to be fully private, or fully public yourself. Aether keeps a 6 months of content by default. It's gone after. If something is worth keeping, someone will save it within six months — but not from beyond that. If you screw up, argue for the wrong opinion, and then think otherwise, that's okay. No one is going to come after you — it gives you the freedom to be wrong, and move on. Actions of moderators are visible to users. No content can just 'disappear', if something gets deleted, you'll know who did it, why they did it, and if you want, how to get it back. Moderation is important for healthy communities, and Aether adds onto it some checks-and-balances. Everyone watches the watchmen. Communities can elect and impeach their own mods by voting. If a mod behaves inappropriately, users can disable that mod locally as well. [42]
Syme
2013
Twister
2013
- https://news.ycombinator.com/item?id=6990354
- http://www.wired.com/wiredenterprise/2014/01/twister/ [44]
Snake.il
Charme
- Charme - A decentralized social network with end-to-end encryption for messaging, private posts and private profile data. Posts can contain semantic information, so it is possible to search for all friends driving from A to B for example. This is a preview version. It is not secure yet!!! So do not wonder if you find some crypto mistakes!
Movim
Scuttlebutt
- Scuttlebutt - a decent(ralised) secure gossip platform, peer-to-peer replicatable data structure
- https://github.com/ssbc
- https://github.com/ssbc/ssb-server - gossip and replication server for Secure Scuttlebutt
- In The Mesh: Scuttlebutt, A Decentralized Alternative To Facebook - [47]
Humhub
Mastodon
- https://joinmastodon.org/ [48]
- https://github.com/tootsuite/mastodon - A GNU Social-compatible microblogging server
- https://github.com/tootsuite/mastodon/releases/tag/v3.0.0 - Remove OStatus support. Please use ActivityPub instead. [49]
- YouTube: What is the Mastodon Social Network?
- [https://www.mastofeed.com/ Mastofeed - embeddable Mastodon feeds for blogs etc.
- TheDesk - Mastodon client for PC(Windows/Linux/macOS). Boost your Mastodon life, and also Misskey experience.
- Whalebird - a Mastodon and Pleroma client for desktop application
Hubzilla
- Hubzilla Development - hubzilla@project.hubzilla.org - a powerful platform for creating interconnected websites featuring a decentralized identity, communications, and permissions framework built using common webserver technology.
Pleroma
- Pleroma - a federated social networking platform, compatible with GNU social and other OStatus implementations. It is free software licensed under the AGPLv3. It actually consists of two components: a backend, named simply Pleroma, and a user-facing frontend, named Pleroma-FE.
write.as / Write Freely
- Write Freely - free and open source software for starting a minimalist, federated blog — or an entire community. [50]
- Write.as - Minimalist, privacy-focused,writing and publishing platform.
- Write.as Guides - a lightweight publishing platform made for sharing your thoughts quickly. Publish text in a variety of shareable formats, from individual articles to blogs.
- https://github.com/writeas/write-as.vim - A simple VIM plugin that allows one to upload blogposts to write.as directly from the buffer.
- Read.as - Free and open source long-form reader.
honk
to sort
oEmbed
Hyperlocal
other
Pipedream
older ideas/ramblings
- http://web.archive.org/web/20110120002447/
- http://www.typewith.me/the-web-we-need - via anon activism
Social news idea
While I'm here (sending feedback for the new digg), my wishlist would be for;
- Reddit style voting meets Slashdot comment categories, with social bookmark tagging for both users and groups/communities. *
Between upvoting and commenting, there are other types of actions that can be performed on items, like flagging as a favourite.
To add a better social bookmarking management system (better than Reddit search!), if a user could either;
- Click to Digg - (Click to thumbs-down/whatever is optional for communities, or like Hacker News) - Click to Favourite to own bookmark list -- And Tag, like del.icio.us, pinboard.in - Also, click to "Notice", as in not like the user "Diggs" or "Likes" the content of the article, and not that they want to bother saving it to Favourites, but a touch in the sence of a the *nix command, or a 'poke' to the issue embodies in the linked to page.
So, on the page, in ASCII;
This is the title of the link! 324 diggs/94 undiggs (small url) 863 noticed [++] [*] [~] [Tag:] [img thumb/whatever]
This is the title of another link! 243 diggs/213 undiggs (small url) 546 noticed [++] [*] [~] [Tag:] [img thumb/whatever]
(the buttons representing 'digg', 'favourite/save', 'notice' and 'tag:'
the tag textarea expands on clickingm like the stackexchange search box, and does auto-complete for a users tags, with suggestions from the global tags, like del.icio.us. personal taxonomy can be cached locally for users.)
ALSO - reposts in different communities can tie back to a global site dashboard listing related taxonomies, from groups and users who favourite the link publically
So
- Bottom up social tagging link topic clustering
- Some communities have taxonomies moderated
- Moderated taxonomies could be linked with Linked Data, DPpedia, etc.
- So some serious bits of the site, some open and silly bits
- Bits and bobs displayed in a timeline format (D3.js?), arrows between concepts in a postcyberpunk style semantic news and search display
- Paid access for high-volume API calls
tag/category/channel ?
[social] bookmarks as service
Group types
from old wiki
Groups for collaboration on and sharing of conversation, news, code, media, services, etc.
- Active = Groups as in membership.
- Who can 'join'?
- Open = Cost of entry is participation.
- Closed = Some form of new-member rules.
- What output can people see?
- Public = Open process, easily forkable.
- Private = Group or subgroup curates output, hidden process. Trust?
- Who can 'join'?
- Passive = Groups as in topics of interest.
- Web of semantically related topics and ideas.
- Mining and 'routing' of relevant related content
Individual hubs could federate the service they wished (widgets, social aggregation, files, etc) in a manner that could be open or hidden. Tunnelled inter-darknet connections between anonymised users and services.
Process consensus-holders
Philosophy
- interoperable oss platform(s)
- activity stream, accessible for aggregation
- easy filterable by others
- from easy oembed style referencing using entry points with either html5 microformats or semantic apis
- following/friend activity aggregation.
- federated commenting
- provides with one public (https) and one private (hidden service)
- categories and tags the same
- category tags out-of-bound but in-band referable
- linked to evolving social fuzzy web ontology? npl for suggestions
- other services use same ontology for wikis and social bookmarking
- linked to evolving social fuzzy web ontology? npl for suggestions
- category tags out-of-bound but in-band referable
- easy link friends with post categories and