Not everyone thinks the web needs saving. After all, it’s a bigger and more essential part of our lives than almost anyone could have predicted when Tim Berners-Lee first wrote a browser for what became the World Wide Web. But the original peer-to-peer, open-protocol, read-write architecture has been overshadowed in many ways by walled gardens like Facebook, Google, and Amazon. One reason for that is that the original web protocols were limited. While they provided the means for browsing and linking, they didn’t come with standard solutions for identity, personal data storage, or social applications. So corporations stepped in to fill the void with their own best interests at heart and not those of their customers or the web at large. Decades later, Berners-Lee thinks he has a solution: his Solid (SOcial LInked Data) system.
The Privacy Problem Starts With a Personal Data Problem
We’re all very familiar with the issues around personal privacy on the internet (or lack thereof). Consumer and regulatory pressure are being applied to get Facebook, Google, and others to put limits on how they use the incredible amount of data they gather about us, as well as give us some rights to reduce the amount of information collected or to delete it altogether. But all of that is really just dealing with the symptoms of the root problem — which is that the way the web is currently built makes it almost impossible not to give away information in order to use its most powerful capabilities.
As a simple example, think about nearly every website you’ve needed to join to use a new product or its service or app you’ve downloaded. More often than not, you need to create an account so that the information needed to run the app and access your info from multiple devices can be stored on your behalf on the company’s servers. If instead, you use Google or Facebook or Amazon or Apple credentials to log in to that app or those sites, then they also gain information about you.
It turns out it doesn’t have to be that way. There’s an emerging class of web-based applications, often call dApps (for Distributed Apps), that let you keep your own data and have apps access it only with your permission. In the simple case of an app you use on one self-contained device, that’s pretty easy and doesn’t need to be any more complex than having the app use a local database — essentially the way traditional standalone-desktop applications usually work or at least used to.
But once you want access to your data from multiple devices, or to share with others, then things get trickier. You need a way to safely store your data on the web so that you can always have access to it, can share it with those you give access to, and revoke those permissions at will. That’s where the Solid project Berners-Lee has been spearheading at MIT comes into play.
Berners-Lee’s original vision for the Web (then-called Mesh) included types of relationships and read-write data. But most of what got implemented was simple read links. Image courtesy of W3C.
Solid Is Designed to Let You Control Your Own Data
Solid builds on current web standards by extending them to provide a distributed data service. Individuals and organizations keep their data in PODs (Personal Online Data stores). PODs are designed to be secure, and the owner can provide fine-grained access to portions of their data, as well as revoke it as needed. PODs can be stored either in a public cloud storage service, or self-hosted. To allow users to find each other’s PODs, there is a DNS-like lookup service where each user registers for a WebID that is unique to them. Then it adds a link to their ID specifying their POD location.
Solid aims to give you control over your own data, and allow you to re-use it between applications.
But PODs are just the lowest level of abstraction Solid provides. Berners-Lee is hoping to accomplish something very powerful by building a semantic web on top of them. Instead of simply being piles of arbitrary data, the idea is that common relationships like “friend” or “name” or “address” can be standardized and the contents of PODs and their links typed so that distributed applications can operate on the data. Imagine, for example, that you wanted to build a Facebook-like service that allowed sending messages to friends of friends (with permission). With Solid and PODs, your app could follow all the links from a user to their friends, and then follow those users’ friend links. So it could accomplish the sort of social sharing for which Facebook was originally designed without requiring a centralized database or other knowledge about any of the individuals involved.
Even better, because many of the data and link types are standardized (RDF is relied on heavily), multiple different applications can make use of the same data. So you could simply put data in your POD once and have it be useful to all of the applications that you allow to access to it — instead of today where Facebook, Twitter, Google, Amazon, and so on each need you to separately give them your data and remember to manage their access to it.
Assuming Solid can gain enough application support and user acceptance, this will be a huge boon to the future of the web. Berners-Lee is confident enough that he has spun a company, Inrupt, out to build commercial products based on the open-source Solid codebase — which is community-supported. But before we get too excited, along with the data problem there is another dragon to be slain in de-centralizing the internet: identity.
Identity Is Still a Weak Link
Since the location of your POD is stored in your ID, it is easy to relocate your POD as needed. However, the proposed WebIDs include the domain name of the identity provider. For example, if you get your WebID from Berners-Lee’s own Solid startup, Inrupt, it will be of the form
Where Does Solid Go From Here?
Solid is only one of the dozens of efforts to re-architect the web into something more distributed and user-centric. But it’s the only one being driven by the inventor of the original Web, which gives it instant credibility. Application development is underway for it now. If you’re familiar with Angular or React frameworks, you can build a simple app that demonstrates many of its capabilities quickly. For example, it took me less than an hour to set up Angular and build and deploy Solid’s sample app, and I’d never used Angular before.
If you’re not a developer, you can still get your own WebID and POD from Inrupt, and then wait to see how the system evolves. I think it will very much be an uphill battle for Solid. When the web appeared, it entered a vacuum needing to be filled. Now Solid is entering a space dominated by massive corporations who make a living by harvesting and selling user data. They’re not going to let go of that flock of golden geese easily.
Now Read: Go Self-Sovereign: How to Own Your Identity on the Internet, All about the dark web, and how to use it, and Facebook Files Patent For Exactly the Kind of Spying It Claims It Doesn’t Do.
Top image credit: Getty Images