- 1 Movements and initiatives
- 1.1 Fediverse
- 1.2 ActivityPub
- 1.3 Federated Social Web
- 1.4 pump.io
- 1.5 OStatus / StatusNet
- 1.6 #indieweb
- 1.7 Solid
- 1.8 IPFS
- 1.9 Data Transfer Project
- 1.10 App.net
- 1.11 Tent
- 1.12 onesocialweb
- 1.13 CMIS
- 1.14 rssCloud
- 1.15 DataPortability
- 1.16 DiSo
- 1.17 OASIS
- 1.18 GMPG
- 1.19 OpenSocial
- 1.20 Drupal related
- 2 Semantic
- 3 Identity / authentication
- 4 Discovery
- 5 Profile
- 6 Posting
- 7 Feeds / Activity
- 8 Pub/sub
- 9 Linkbacks
- 10 Comments
- 11 Interaction
- 12 Graph
- 13 Storage
- 14 Networks
- 14.1 GNUnet
- 14.2 Kune
- 14.3 xOperator
- 14.4 Sneer
- 14.5 Semantic Microblogging
- 14.6 OpenLink Data Spaces
- 14.7 Diaspora
- 14.8 GNU Social
- 14.9 Foafpress
- 14.10 Jappix
- 14.11 buddycloud
- 14.12 Mobile Social Semantic Web
- 14.13 Friendica
- 14.14 DSSN
- 14.15 Nightweb
- 14.16 Vole
- 14.17 SOCML
- 14.18 Sockethub
- 14.19 Di.me
- 14.20 IRC Paradigm
- 14.21 Aether
- 14.22 Syme
- 14.23 Twister
- 14.24 Snake.il
- 14.25 Charme
- 14.26 Movim
- 14.27 Scuttlebutt
- 14.28 Humhub
- 14.29 Mastodon
- 14.30 Hubzilla
- 14.31 Pleroma
- 14.32 write.as / Write Freely
- 14.33 honk
- 15 to sort
- 16 Pipedream
- 17 Philosophy
Movements and initiatives
to iron out order, etc.
GNU Social, Hubzilla, PostActiv, Friendica, Mastodon or Pleroma, etc.
- the federation - a diaspora hub
- 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 - 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 - 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.
- 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. 
- 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.
- Plume: a federated blogging application - Federated blogging engine, based on ActivityPub. It uses the Rocket framework, and Diesel to interact with the database. 
- 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
- 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/community/fedid/ - Sep 2 2013
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.
- 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
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
indieauth, activitystrea.ms, RSSB, etc.
- http://indiewebcamp.com/plaintext - now RSSB
- 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.
- Bridgy Fed - Got an IndieWeb site? Want to interact with Mastodon, Hubzilla, and the rest of the fediverse? Bridgy Fed is for you.
- 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 - A personal publishing platform for the #indieweb
- https://github.com/mimecuvalo/helloworld - federated social web tumblr/blog/rss reader/wordpress-like thingy. passes swat0!
- Koype - provides people with software that allows them to own their social data on the Web and determine who gets to do what with it.
- * Koype: Humane Social Networking - provides people with software that allows them to own their social data on the Web and determine who gets to do what with it.
- 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. 
- dokieli - a clientside editor for decentralised article publishing, annotations and social interactions. 
- https://beyermatthias.de/blog/2018/02/25/blueprint-of-a-distributed-social-network-on-ipfs---and-its-problems-2/ 
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:
- 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
- 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
- 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://web.archive.org/web/20100706024305/http://2008.xtech.org/public/schedule/detail/565 - Data Portability with SIOC and FOAF. May 2008.
- 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.
- 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
- 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.
See also Semantic web
- 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
See open data#rdfa
- 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.
Open Graph Protocol
- 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.
- 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.
- 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 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.
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.
OpenID Connect / OIDC
- OpenID Connect - Posted Jun 3, 2010
- http://www.w3.org/wiki/WebID - was 'FOAF+SSL'
- http://www.w3.org/2005/Incubator/webid/wiki/User_Stories - active-ish
BrowserID / Persona
- 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.
- 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.
- 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://identity.mozilla.com/post/78873831485/transitioning-persona-to-community-ownership 
- 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.
url, not uri. costs a domain, digital divide..
- 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 - A Plugin Replacement for HTTPS CCA
- BitShares Login - has since pivoted? 
- 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 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.
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.
- 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.)
- https://github.com/reclaimID - The decentralized, self-sovereign identity system
- -1805.06253- reclaimID: Secure, Self-Sovereign Identities using Name Systems and Attribute-Based Encryption - "In this paper we present reclaimID: An architecture that allows users to reclaim their digital identities by securely sharing identity attributes without the need for a centralised service provider. We propose a design where user attributes are stored in and shared over a name system under user-owned namespaces. Attributes are encrypted using attribute-based encryption (ABE), allowing the user to selectively authorize and revoke access of requesting parties to subsets of his attributes. We present an implementation based on the decentralised GNU Name System (GNS) in combination with ciphertext-policy ABE using type-1 pairings. To show the practicality of our implementation, we carried out experimental evaluations of selected implementation aspects including attribute resolution performance. Finally, we show that our design can be used as a standard OpenID Connect Identity Provider allowing our implementation to be integrated into standard-compliant services."
- media.ccc.de - re:claimID - Self-sovereign, Decentralised Identity Management and Personal Data Sharing [YBTI/wefixthenet session - "In this talk, we present the current state of re:claimIDas well as a future roadmap."
- The Discovery Protocol Stack, Redux - Nov 24th 2009
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.
- 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
- 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
- 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.
- 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 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:firstname.lastname@example.org) 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 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 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)
- 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.
- http://pavatar.com/ - dead
- Google: Blogger API v3
- 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.
- 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.
- 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)]
- 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
- See Feeds / Activity
- 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.
- http://blog.fanout.io/2013/10/09/publishing-json-over-xmpp/ 
- 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: a secure and distributed blog platform for the open web
- Make a Twitter out of RSS - Dave Winer, March 28, 2013.
2013. Via WebHooks.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Atom Publishing Protocol
- OExchange is an open protocol for sharing any URL with any service on the web.
- 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.
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
The protocol is a combination of OAuth, XRDS-Simple and a wire-format based on vCard harmonized with schema from OpenSocial.
- 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.
theory and practice
- 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.
- 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 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.
OpenLink Data Spaces
2010. uses older OStatus
- 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 - 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.
Mobile Social Semantic Web
- 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 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.
- 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.
- 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. 
- http://www.wired.com/wiredenterprise/2014/01/twister/ 
- 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!
- Scuttlebutt - a decent(ralised) secure gossip platform, peer-to-peer replicatable data structure
- https://github.com/ssbc/ssb-server - gossip and replication server for Secure Scuttlebutt
- In The Mesh: Scuttlebutt, A Decentralized Alternative To Facebook - 
- https://joinmastodon.org/ 
- 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. 
- 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 Development - email@example.com - a powerful platform for creating interconnected websites featuring a decentralized identity, communications, and permissions framework built using common webserver technology.
- 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. 
- 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.
- 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
- 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
[social] bookmarks as service
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.
- 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