Hi, I’m Wouter Janssens, Co Founder and CEO of Digita. Welcome to this first episode of Digita’s Tech Talks, a series in which we will explain the technical side of Tim Berners-Lee’s Solid specification.
To kick things off, I will use this episode to give you a short overview of the basics of Solid.
Solid is an open W3C standard. This means it is a protocol, or in other words a collection of technical rules that several parties have agreed upon. The Solid protocol leads to a Solid-based ecosystem like the world wide web, but then for personal data. Sometimes, we call this ecosystem the personal data web.
The most fundamental rules of the Solid specification state that a personal data web consists of pods and apps.
A Solid pod is a place to store things, with mechanisms for controlling who can access what. A Solid app is an application that reads or writes from one or multiple Solid pods.
The other rules of the Solid protocol describe several aspects of those Solid pods and Solid apps.
First, the specification describes how information in the Solid ecosystem should be structured. In summary, these rules say that everything in the Solid ecosystem should be structured in the same way as the world wide web: using resources. This means, for example, that Solid pods are resources, but also the things that are stored within Solid pods.
Resources are identified using Uniform Resource Identifiers, or URI’s in short. URIs should be very familiar to you as you probably use them all the time to access web pages. An example of a URI is https://www.digita.ai/home.
Furthermore, resources are defined using the Resource Description Framework or RDF in short. RDF-resources can be represented in a serialization format, such as Turtle.
Second, there are rules about how Solid pods and apps should communicate. At the lowest level, these rules say that we have to use HTTP or the Hypertext Transport Layer Protocol. Basic HTTP operations are used to write to and read data from resources stored in a pod.
At a higher level, there are rules for how Solid apps and pods should send messages. For this, the specification says that we should adhere to the Linked Data Notifications standard or LDN in short.
Third and lastly, Solid contains rules about identity, authentication and authorisation. For identity, Solid says that we should use WebID, for authentication, we should use a special flavour of OpenID Connect and for authentication, we should use web access control or access control policies.
Based on these considerations, you can see that Solid is in fact a collection of other standards. Not just any other standards, but tried and tested web standards. Of course, this is not really surprising if you take into account that Solid was invented by the same person who invented the web.
The fact that Solid is actually a collection of other standards makes it not less innovative. Indeed, the innovation of Solid is that those standards are used together.