Building Decentralized Applications for the Social Web…What If You Could Control The Use Of Your Own Data?
Recent developments in technologies and protocols have enhanced the ability to integrate a wide array of social features into diverse web applications. For example, have you ever registered on a new app by logging in with Facebook or Google? While the capabilities are impressive and popular with a broad audience, they have also introduced issues in the realms of data protection. As developers create and users adopt new platforms and applications with enthusiasm, they must be increasingly aware of privacy concerns and address the empowerment of the end users whenever possible.
One of the central elements in this interplay is the provision of personal data stores (PDS). While many developers are aware of such a feature, education on how to create and access a PDS is helpful. The basic work includes building simple web applications that read and write to the PDS.
For developers, this approach offers two advantages: 1) it removes the burden of maintaining a canonical copy of user data and 2) it helps to create a richer, seamless user experience through the possibility of integrating data across multiple applications.
Advantages in a PDS environment accrue to users as well, not only in the overall technology experience, but also in augmenting the ability to migrate from one service to another. Users will no longer be tied down by a legacy data repository, but will be able to move freely to the services and platforms that suit them best.
As part of “Building Decentralized Applications for the Social Web,” the team behind the work: Andrei Sambra (MIT/W3C), Amy Guy (University of Edinburgh and MIT), Sarven Capadisli (University of Bonn and MIT) and Nicola Greco (MIT) introduce Solid, which is a set of protocols based on existing W3C recommendations.
Solid offers a generic data management API, identity, and access control for personal data stores, allowing for the integration of social features into web applications. The intended audience for tutorials on this subject are:
- Individuals who are interested in having full control of their own data through a personal data store, or who would like to provide such a service for others.
- Developers of existing web applications who would like to add social features to those applications in order to enhance user experience or increase user engagement.
- Innovators with ideas for new applications that would be enhanced by social features.
- Policy makers, web activists, and any other individuals who believe that web users should be able to control their personal data and who are interested in learning how this may be done with existing web technologies.
The full-day tutorial conducted at the 25th International Conference on World Wide Web, included detailed sessions on data ownership, servers, clients, and concluded with commentary on integration and interoperability. The team emphasized that attendees would develop an understanding of Solid and how different parts of the protocols work together. Attendees had an opportunity to write code and were given hands-on experience with existing libraries and tools to facilitate working with the Solid protocols.
The organizers are among the original developers of the Solid protocols; they are also engaged in related standardization work underway at the W3C, and are actively developing services that use Solid in various ways.