There are still many challenges to face towards a Web of Things: discovery, search, scalability, event driven interactions and sharing. For the last few month we’ve been focusing on the latter, because let’s face it: if you do not have a mechanism to share your Web-enabled things it is not really worth having them Web-enabled in the first place!
Core to the Web of Things vision there is this idea of the physical world as a “composable ecosystem” where devices can be used and re-used simply to create emerging applications, i.e. physical mashups.
Well, the success of Web mashups is closely dependent upon the trend for Web 2.0 services (e.g. Google, Twitter, WordPress, Doodle, etc.) to provide access to some of their services through relatively simple, often REST-based, open APIs (Application Programming Interface) on the Web. Mashup creators in turn often share their mashups on the Web (sometimes through directories such as Programmable Web) and expose them through open APIs as well, making the ecosystem grow with each application and mashup.
Enabling this model on a Web of Things requires a sharing mechanism for smart things, by enabling access to the services offered by devices through their API. For example, you could share the energy consumption sensors in your house with the community. However, this is a complex process since these devices are part of our everyday life and their public sharing might result in serious privacy violations.
The most straightforward way of solving the issue is to create ACLs (or Access Control Lists) for your devices. For each device you create a number of credentials (login + password pairs) and give them a number of roles (e.g. admin, reader, etc.).
This is, however quite a heavy and time consuming solution. When considering a large number of smart things it becomes simply unmanageable. Furthermore, it also quite abstract and does not reflect the social structure of the real-world. What if we could simply re-use existing social structures as a basis for sharing our things and sensors? Social networks such as Facebook and Twitter increasingly reflect our social relationships. Using them I could simply share access to my things with friends, parents, family (e.g. Facebook) or work colleagues (e.g. LinkedIn). No need to create and maintain abstract lists, simply select friends or group of friends you want to share with or let the system decide automatically based on your relations with the social connections.
Thanks to the APIs most social networks now offer, we (together with Mathias Fischer, from ETH) were able to create a platform (SAC, or Social Access Controller) and a Web app (FAT, or Friends and Things) which lets you share REST-enabled things with the rest of YOUR world.
The platform is the matter of an paper (citation key) accepted for the First IEEE International Workshop on the Web of Things.