Just a few days ago I got the chance to discover the Solid project and I was just blown away. I was aware of the concept of Linked Data and briefly played with it, but I believe that thanks to Solid we will be able to shape a whole new approach to working with data.
What I find the most interesting - besides privacy - is the social aspect. However, by reading some posts regarding how we should tackle this new social network I noticed some concerns: users willing to keep their own private network, how to ensure decentralization and all in all, not becoming Facebook 2.0. While those are completely justified, I do believe that we still need to provide a way for people to gain value out of the network, because it is this added value what make users stick with their current social tools.
Moreover, linked data brings a whole new approach on how to exploit data, make decisions and gain value, but we will need to prepare the environment for new applications to research and showcase these new tools. I am imagining, for example, a small app that would just recommend me some books based on what I’ve read and what other users have read.
The issue here is that right now there is no way to discover Pods, so we don’t have collaborative applications. How could an app recommend me any good reads if it cannot get information based on profiles similar to mine?
This is why I came up with the following idea: Solid Webbook. I think of it as a phone book for the web, but where users can decide if they want to be there or not. Therefore, privacy will be remaining as it is for those who prefer it this way, but we could start building applications that are driven by data, public and willingly shared data. This Webbook is just another Pod with an address.ttl file where users can submit themselves.
For the submission process, I just sketched a dead simple app https://pmbrull.github.io/solid-webbook/ (I am just a complete noob, so all comments are welcome). By using this app, users will appear then in https://webbook.solid.community/webbook/address.ttl, so applications and other users would know where to discover other pods.
To not fall into a centralized flaw, I’d say that we could enable any other Pods to become a replica of this Webbook and prepare data synchronization engines (as with regular databases with replicas).
Please, let’s discuss if this - or any other similar index of pods - would be a possible milestone for the Solid roadmap.
If you are interested, you can submit yourself to the Webbook (https://pmbrull.github.io/solid-webbook/) so we data nerds can start figuring out what we can do!
TL;DR I played around the idea of a tool - the Webbook - to let other users and solid applications to discover pods. This way, the community could be expanded towards data centric applications that would enable the growth of Linked Data algorithms, as we would be creating use cases for those.
EDIT: Based on the comments below, we could use the following architecture
Note that we will be adding a flag file in each user’s Pod to avoid impersonation when submitting entries. Moreover, we will be adding separate files per user, where the filename could be a sanitized webId for each user to ensure uniqueness. Thus, apart from submitting entries users could also call the Webbook to delete their entry.
Finally, ShEx validation ensures that content will be standardized. With this approach all information will be written in the Webbook by its own webId. Therefore, we will avoid security issues where any other third party application could try to modify the data, as we can change access to read only.
I’d say that this implementation could be done with nowadays tooling, so it would just require the resources to manage and monitor the Azure services.