The Social Web of Things

Federated Social Web, 3-5 June 2011, Berlin

Dave Raggett <dsr@w3.org>

Heinrich-Böll-Stiftung by Mogelzahn

W3C logo


Scenario sharing a video with a friend

Sue is visiting her friend Bill's house, and is keen to share with him a movie, which another of her friends, Janet has just sent her a message with an enthusiastic recommendation and a pointer to a review. Sue is looking at Janet's message on her smart phone, and now wants to start playing the movie on Bob's surround sound big screen entertainment system in his den. Sue clicks on the share button in the web application and selects "find local devices" from the pop-up menu. She see's Bob's home entertainment system and selects it. A confirmation message appears on Bob's big screen, and he clicks ok on his remote controller. The movie starts and Sue sits down and moves closer to Bob, the lights fade as the music starts, ...

How does this work?

Technical Background

Local Discovery!

The following services were found with multicast DNS:

The following services were found with SSDP (UPnP):

The following services were found with SLP:

The following services were found with Bluetooth:

The following services were found with USB:

(this demo assumes you have installed the discovery plugin for Linux)

Personal Zones

As a friend of Bob, Sue can access information about Bob's devices (at least the one's he chooses to allow this for). This enables Sue's devices to communicate with Bob's even in the absence of a shared local network connection. This also opens the way for context based discovery, e.g. finding devices near me, based upon my current location, and social proximity, as determined from metadata exposed to Sue, by Bob's social agent. Returning to the current example, the app on Sue's phone can make use of the social graph in her personal zone to authenticate the request to the app running on Bob's TV.

Distributed search based upon social relevance

Sue gets an email from an old friend Anabela and decides to add Anabela to her social graph. Sue find's Anabela's Personal Zone based upon Anabela's email address, using either Web Finger, or DNS-SD. This takes the domain name for the email address and performs a lookup, either by mapping it to a URL with a well known path, or by retrieving the DNS TEXT record and looking for an entry giving the URL for the search service operated by Anabela's email provider. This maps the email address to the URL for Anabela's Personal Zone.
At the same time Sue thinks of another old friend Henrietta. Sue doesn't know Henrietta's email address, and instead makes use of the distributed social search service, provided collectively by the Web of personal zones. This could be based on Distributed Hash Tables (DHTs). The challenge is to allow for search based upon matching context, and to preserve privacy whilst doing so. For example, there could be many Henriettas, but the one that went to the same school in the same year is much more likely to be relevant. The search service should be able to perform ranking based upon social cues, without allowing users to invade other people's privacy.


The Social Web of Things

We increasingly own lots of devices and want to use apps that run on these and those of our friends. Personal zones provide a means to manage our devices and cloud based services. This includes a social agent that acts on our behalf to enable apps to be aware of social proximity, and the agents collectively, support distributed search ranked by social relevance. The EU Webinos research project is working on realizing this architecture as an open source platform.

My thanks to my colleague Rigo Wenning for help with this paper and to the EU PrimeLife project for work in privacy and identity management.