Best Practices for the Open Social Web

From Federated Social Web Incubator Group
Jump to: navigation, search

The content of this page is being discussed on the mailing list of the W3C Federated Social Web Community Group. This currently is not an official document of the Community Group. Some sections are proposed by single members of the Community Group and there currently is not necessarily any consensus on the content.

As the word "best" indicates, this page is not about mentioning all possibilities but only those which are expected to significantly further the aims of the Open Social Web.



Different Approaches

There are several approaches to create an Open Social Web:

All of these approaches have their communities.

Intended Audience Of This Text

Geeks are not the main intended audience of the "finished" document.

  • Privacy advocates - can engage with social software without handing over PII to ad-driven networks
  • Free software enthusiasts - can use Free and Open Source software to connect with friends and family.
  • Open Web enthusiasts - people who are concerned about walled gardens and captive networks can participate on the Web instead.

Why Federate?

The document should start with that, explain what the problem is, something along the lines of - the platform vs. federation argument.

  • Security
  • Privacy

User Stories and Use Cases

The set of use cases is intended to do the following:

  • motivate the need for an Open Social Web
  • provide scenarios that explain the benefits of an Open Social Web

Public Administrations

A state government has many municipalities of different sizes. People working within these public administrations would like to use Social Media to communicate among each other and with citizens. How can that be done?

Company With Several Customers and Suppliers - B2B

A company wants to communicate and coordinate projects with a number of other companies (customers and suppliers) using Social Media. Some of the communication very likely will be confidential.

Families with young children

The Children's Online Privacy Protection Act (COPPA), a United States federal law, has high requirements for services to collect private information on children under 13. Most social networks don't bother and just ban kids under 13. Similar laws exist in other countries.

With children well under 5 able to do basic tasks with tablets and phones, there's an untapped market here. If Mom set up the network on her own server, she's perhaps not subject to the same COPPA rules as a commercial service. Family networks are naturally federated.

Protection Against Surveillance

Use Case probably does not require a long explanation.

General Guidelines

  • Use Linked Open Data principles and standards
  • Use web principles and standards
  • Do not reinvent wheels
  • Be aware of network effects: use established standards
  • Provide feedback to the W3C Federated Social Web Community Group


There are forces acting in favor of the Open Social Web and other which act against it.


  • Privacy
  • More resistant to censorship
  • Developers are not dependent on platform company


  • Central Platforms are easier

Relevant Standards and Specifications

There are currently multiple (not one "best") federated protocols for social communication on the web. This Best Practices document will list the best ones.

This section likely will be removed in a later stage of development. The items can be dealt with in other sections of the document.

Less Relevant Or Irrelevant Standards and Specifications

These standards and specifications perhaps had some significant relevance or potential in the past. But that is no longer the case.

  • microformats
  • Portable Contacts
  • XFN (XHTML Friends Network, microformat)

Mobile Devices

What needs to be done to support the Open Social Web on mobile devices?

These documents might be helpful:

Can XMPP be used? BoSH?

XEP-0286: XMPP on Mobile Devices, "Abstract: This document provides background information for XMPP implementors concerned with mobile devices operating in a cellular network such as 3G.", Author: Dave Cridland, (while that document is "deferred" it contains valuable information)


Explain the three or four major proposals for dealing with updates, notifications and commenting. What technical support is available for threaded conversations (commenting on comments etc.) ?

Push versus Pull

Polling is easy but has two disadvantages:

  • updates are delayed
  • unnecessary traffic

How can updates be pushed to subscribers?


Push API, W3C Working Draft 18 October 2012,

There are "nine patents applications excluded by Nokia Corporation", in other words: Nokia claims that PushAPI can not be used without paying royalty fees to it:


Push can be implemented using BoSH (Bidirectional-streams Over Synchronous HTTP). Unfortunately BoSH is not without problems due to the use of HTTP long polling. See:

Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP

In practice these problems are severe.

For that reason an alternative protocol based on Websocket is being developed:

An XMPP Sub-protocol for WebSocket (XMPP over WebSocket)

Identities and User Profiles

"identity" web linking should be explained - the multiple existing machine-readable ways to "be on the web" with static profile information (refrain from trying to identify one best one, just mention the three or four major schemes). The third-person identity (your public personal profile information, about you) is important, and login identity for SSO can be a subtopic of this.

5star approach

  • 1 Star
   Have an identifier denoting a Person, such as an IRC nick -- you're on the web.
  • 2. Star
   Have an identifier that is unique across domains, eg user@host or
  • 3. Star
   Include a URI scheme such as mailto: xmpp: or http: so that discovery can be performed on that identifier.  
   eg you may wish to lookup a persons name, avatar. blog or public key.  
  • 4 Star
   Have a standard API so that more information can be discovered.  e,g, HTTP GET for HTTP, smtp or webfinger 
   for email, xmpp discovery for xmpp.  Ability to reverse search is a plus too, so that people can look up 
   friends or login via their name / email address for example.
  • 5 star
   Return data using web standards such as JSON-LD, RDF or RDFa in HTML.  Or something that is interoperable with 
   these standards.  Essentially this boils down to having 0 or more entities with key value pairs associated 
   with them, such that both the keys are machine understandable and the values are allowed to be links.  Also 
   it's a plus if the user can own their own profile such that they can perform CRUD operations.  ie that it 
   is both read and write

Linked Data and the Open Social Web

Explain the connection between these topics.

  • JSON-LD (a specified subset of JSON, LD = Linked Data)

Audio and Video Communication

Audio and video communication have become a significant part of the Social Web and one of the main communication means for a large part of the population. Important protocolls currently include XMPP Jingle, SIP and WebRTC/rtcweb. Recently an effort was begun by the IETF to make SIP and XMPP interoperable:


CUSAX: Combined Use of the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP),

Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Media Sessions,

Privacy and Security

IETF Policy on Wiretapping,

Tor Project,


How to fight spammers in a distributed network? Some discussion took place on the XMPP operators mailing list which can be summarised.


To be filled. There are many who already contributed on the mailing list.


  • A Standards-based, Open and Privacy-aware Social Web, W3C Incubator Group Report 6th December 2010, (The report contains valuable material. But some of the information is not longer up-to-date. About half of the listed "Decentralized Social Networking Projects" are dead or almost dead while newer projects are not mentioned.)