See also: There’s a Hole in the Internet (2016); A Better Internet is Coming. Here’s How It Will Look (2018)
The World Wide Web is one of the most transformative technologies of the digital era. Today it’s simply “the web,” and its natural, intuitive document and linking capabilities have become the human interface to the digital world.
In fact, it’s easy to forget that the web and the internet are two different things. The internet is a global computer network with wires and switches. The web is a software application on top of the internet. Because it’s an app, the web can be upgraded. And here’s some good news! It is getting an upgrade.
Sir Tim Berners-Lee invented the web in 1989, releasing it as a set of open and free standards and protocols that anyone can use. The Father of the Web also manages the web’s official (and continuously evolving) standards, as Founder and Director of the World Wide Web Consortium (W3C) at MIT.
Berners-Lee has observed the same dysfunction and dystopia on the web that we’ve all witnessed, but, well, he’s actually able to do something about it. Berners-Lee is leading a new W3C specification called Solid. Incubated as a project at MIT CSAIL, it’s essentially Release 2.0 of the original World Wide Web. Solid addresses all of the things that are not working well now, but it also adds a ton of new features that make the web better in just about every other way. Solid is backward-compatible and easy to learn, because it’s a logical and natural evolution over the web we all use today.
The big points about Solid:
- It upgrades the web with true privacy, control, and freedom
- It achieves this by fixing our broken models of identity, data, and programmability
- It leverages decentralized web and semantic web principles to “lock open” the web
Ok, that sounds buzzwordy, but stick around until the end and I’ll come back to it. Darned if it won’t make sense by then.
How it works
Solid starts by addressing the root problem on today’s web, which is that you don’t have any place to store your own data. Just about every bad thing on the web flows from that simple problem; because of it, you’re forced to entrust your data to strangers. And when you look at it that way, yeah, it’s worked out about as well as you’d expect.
With Solid, you get your own “personal online datastore,” or pod. Your pod is a private, secure space in the cloud — you own everything in it, and only you can see its content. Perhaps the best real-life analog to your pod is your house: it’s a personal place to store all your stuff, and a permanent address from which to interact with the rest of the world. You can even “furnish” your pod with the apps you choose to use. The main point is that, unlike the massive centralized databases that store all our data today, everything in your pod is organized around you, and is designed to work for you.
Your pod has two primary but separate parts: a personal repository with integrated management and administration capabilities; and the apps that you choose to use with your data.
The data repository is where apps, by default, store the data you create or generate in your day-to-day web activities. Solid also consolidates all your settings and controls, with tools that let you administer your pod’s data and permissions.
Apps are a core element of Solid, just as on the original web. But Solid has one very intentional difference: it separates data from applications. Today every subset of your personal data is controlled by its associated app, and the data is locked in as a result. With Solid, the data all goes into a bucket you control, so you can pick any app you want to run on top. You can even switch back and forth between them. Your hosting provider (discussed shortly) will likely provide you with a set of core apps for things like communication and sharing, but even these can be easily swapped out for others if you prefer.
Your pod becomes the context you live in day-to-day in the digital realm. It’s a private place of your own, with all the tools you need, that empowers you to do many of the things you’re dependent upon strangers for today. You’re the boss of you.
Now consider where your pod fits in on the new web ecosystem.
Your pod is hosted on a Solid server along with other pods. Anyone can operate a Solid server or even build their own, so long as they support the standards and APIs. Solid servers can host a handful of pods, or millions of them. Hosting business models will surely include free ad-supported and premium paid offerings; however any innovation is possible. For example, Amazon could include a pod with Prime, or Google, Facebook, or Apple could convert your current account to a pod for you. But you can move your pod at any time, so hosts will need to continuously compete for your business.
Your data is private by default and can’t be seen by any third party, including the host. That’s true whether data is just sitting in your pod or if you’re sharing it with someone. The Solid host provides all communication and sharing capabilities, equivalent to what you’d do today in separate messaging, email, scheduling, file storage, and voice/video services. What’s different is that we connect directly with one another, whether we happen to be on the same host, or different hosts altogether. It’s all the same to Solid.
You can seamlessly access data stored in other pods, which can include those hosted on your behalf. For instance, you could access your hosted bank, health, or government information from within your pod. That data can then be used by apps in combination with other data to create entirely new solutions.
In fact, there’s a way to connect via Solid to any service you can access today. To support Solid, all a service needs to do is accept your Solid ID, and present your data using Solid protocols. There are powerful incentives for organizations to do this, which we’ll discuss shortly.
Your pod can also connect directly to computers and devices you control, either through over-the-wire integration or replicating parts of your data set to both places. In this way, you can integrate all your personal data in one place and make it available to apps.
And, lastly… something really important that I left out of the graphics. You see, it’s not just people who can have pods. Groups, organizations, businesses, corporations, government agencies… any entity can have a pod, and participate in the same secure, universal, open ecosystem as we’ll use with our personal pods. For these entities, Solid’s programmability will power a very long tail of custom apps, including many we couldn’t even contemplate today.
Solid Upgrades the Web
Solid works, like the original web, through open standards and protocols. Most of these standards already exist; Solid just uses them in a way that lifts the web to the next generation.
Solid improves the web in three critical dimensions:
- Identity — Solid uses a decentralized identity, a single instance that you own and control.
- Data — Solid gives you a place to keep your personal data, so you’re not just giving it away to strangers.
- Programmability — Solid makes the web radically programmable, unleashing innovation not seen since, well, the original World Wide Web.
Each of these improvements brings transformative benefits on its own, but it’s the combination of capabilities that makes Solid such a powerful upgrade. Let’s go through them.
Human identity has been an object of fascination for millennia, in science and art. Consider your real-world identity. It’s not just your name and appearance, although it’s certainly that. Your identity is the lens through which you experience everything, and it’s how others see you. Your identity is the natural and unique you.
Today’s web works nothing like that. It’s built on the model of one “account” per app or service — it’s a membership. Typically it’s a very basic profile, but some have lots of information, like credit cards and addresses. These instances are bound inextricably to the app or service used to create them.
Because it’s artificial, the web’s current identity model causes you to suffer its shortcomings and annoyances daily. You create and manage numerous login/password pairs, many that get forgotten or disappear over time. You trigger frustrating lockouts and complicated resets, and also face the risk of account takeovers or data breaches. And you’re wholly reliant on strangers to host and manage that identity (and your associated data).
But the fix is well understood, and has been for years. You want a single identity that you own and control. This identity automates all your authentication and access requirements, and you keep the same one for your whole life.
Identity experts have long promoted a simple and powerful system based upon the concepts of sovereign identity, or decentralized identity. It’s powerful because it’s basically the digital instance of your real-world identity.
Technically speaking, your decentralized identity is a globally unique identifier, or GUID. There can be billions like it, but yours will always be distinct and unique. Most recently, the W3C spec for Decentralized Identifiers (DIDs) is designed to support modern web use cases, including Solid.
This simplified approach to identity drives major improvements to the way the web works. Here’s just a partial list:
Universality. Your identity replaces all the logins/passwords out there now. Native Solid apps connect automatically, but any existing identity can be easily mapped to you by its provider with simple coding.
Security. Most types of decentralized identity support digital cryptography, or the use of keys and certificates as trusted credentials. This makes your identity far more secure, while at the same time automating tasks like authentication and encryption. It also supports frictionless content signing; when signed, you can view the author and provenance of any piece of data, and know that it hasn’t been modified by anyone.
Context. Because your identity is consolidated, so is your view across all the apps and services you use. This is much more like your real-world identity. Instead of many separate, siloed identities, you have a unified view of the digital world, in the same self-based context as the real world you.
As stated above, the root problem for the web is that you have no place to store your own data. It seems kind of logical: you’re using someone else’s computers, so the data remains there. But this bug in the web requires you to surrender all privacy, control, and freedom — you give those properties up the moment you give away your data.
Your Solid pod provides a private, secure place to store your personal data, and a mechanism to own and control it. This capability breaks all of today’s data lock-in; when you own the data, you’re no longer the product. Competition is introduced between the apps and services, which have to continuously compete for your usage because they can be freely replaced by any user at any time.
In fact, application independence is one of the primary benefits once you have a place to store your data. People can use any app they choose. You can even use multiple apps and switch between them seamlessly.
Some advantages of Solid from a data perspective:
- Completeness. Today your personal data (as with your identity) is scattered across many separate apps and services, and each data subset is isolated from all the others. With Solid, these disparate data sets operate in the same application space. This dramatically increases its utility for you, because apps can combine data in ways that add value. It gets really interesting when you include your legacy data.
- Legacy data. Let’s face it, Solid could be great in every way but would be useless if you couldn’t access the data you’ve created already. Fortunately Solid solves that problem too, with a standards-based method whereby any data or content on the web can be integrated into a Solid app. Solid doesn’t just use your future data, it brings in all your existing data too.
- Rights. Once you own the data, you don’t need to sign contracts giving away the rights to it. In fact, as the legal and putative owner of that data, you can decide who can access it and on what terms. Apps and services can be contractually prohibited from using your data for any purpose, including a restriction to not store it anywhere except in your pod.
Solid upgrades the web using semantic web principles. The simplest way to understand the semantic web is that it makes the whole web programmable, protected of course by Solid’s privacy and permissions settings. It’s based heavily on the W3C Resource Description Framework (RDF) standard, which is quite widely used today for its development efficiency, but which is most valuable in Solid for its universality. Anything already published in RDF can participate in Solid apps and services with little modification required.
For developers, Solid introduces one massive transformative change, and a bunch of just really cool ones.
The biggest change is in how apps and services are architected. Under Solid, your pod and host provide the network, CPU, and storage, as well as the data, identity, and security services—all the building blocks of a modern web app. In contrast, anyone launching a service today must stand up and maintain a full web-scale services stack of their own. That takes money and people. With Solid, developers and innovators can enter any market and invent anything they can imagine. The next brilliant idea can be realized with a text editor.
But it’s equally important that the current web has a path to Solid. All an existing app or service needs to do to support Solid is A) accept your identity, and B) present data in Solid format. Both are additional but ordinary development tasks. Here you may question why an existing service would want to do this — especially one that’s already successful.
As with hosting and apps, it’s because Solid introduces true competition where little exists today. If an app or service chooses not to support Solid, a more assertive option exists to download that data into your pod, where you could do anything you want with it, including sharing it with a competing app or service that does support the Solid web. It’s not a question of supporting Solid or not supporting Solid. It’s a choice between accepting less market power in a newly competitive market, versus potentially losing market position altogether.
Beyond those foundational improvements, Solid developers have several massive areas of opportunity:
- Personal apps. A lot of things that require a commercial service today will just be part of the web. Remember, Solid users communicate directly with each other. Solid protocols and host services take care of all the transmission and synchronization. New messaging, email, scheduling, sharing, and posting apps will be needed, and anyone can introduce a better one at any time — especially since they can take advantage of data that was previously completely separate.
- Custom Apps. Remember, organizations and other entities can also have pods. The Solid development environment enables a virtually unlimited range of solutions including bespoke and packaged applications. It supports the largest corporate or government presence, but scales down to group or organizational use cases. Think of the Windows-based application that your dentist uses; everyone runs those today, because they bake in the needed domain expertise, content types, and workflows. Solid can do the same thing, arguably better, on an open standard platform. But its openness and radical programmability lets you build packaged apps for literally anything, from a yard sale to a scout troop to a college reunion.
— Rights. Today’s contracts aren’t looking out for your interest, but you click through anyway. With Solid, you own the data. A simplified rights subsystem could automate the contract process. You set your own terms for any entity accessing your data, and if the other party objects to a term, you either choose to accept it or decline to engage.
— Reputation. Communication can be private by default, but metadata is not. Absent efforts to hide it, someone will be able to see who talked to who and when. You could opt in to some trusted third party to log your metadata and score your identity based on the volume and variety of interactions you’ll have associated with your identity. You’ll quickly become un-spoofable.
— Payments. The Solid platform provides a foundation for vastly improving eCommerce and financial services. With globally-available encryption, identity, and data services, it becomes possible to perform many of the current functions of banks and payment apps, along with emerging tools like cryptocurrency and micropayments.
— Client Software. We’ve discussed several times that Solid is just a set of standards, so technically a Solid client is any software that supports the Solid standards. But there’s an opportunity for high-function clients, especially on mobile devices. By default, Solid device apps will use iOS and Android operating systems and app stores, governed by device permissions and settings. An isolated Solid partition could transform this part; Solid could interface with the OS and then manage all the apps itself, with much more richness and granularity, in a truly device-independent way.
Summing it up
I mentioned up top that Solid upgrades the web with true privacy, control, and freedom, primarily through transformative upgrades in the areas identity, data, and programmability. Let’s test that:
Privacy — Solid makes all your data private by default, but lets you share it under your terms.
Control — Solid puts you in complete control of your data, with all the tools you need to manage it.
Freedom— Solid breaks the lock-ins from apps, services, and hosts, letting you make any choice at any time.
Identity — Solid consolidates web accounts to a single identity that you own and control.
Data — Solid provides a place to store your own data, so you don’t have to give it away to strangers.
Programmability —Solid makes everything on the web programmable, enabling a nearly infinite range of new apps and services.
So maybe those buzzwords aren’t quite so buzzy, once you understand the solution design.
I’ll end by noting that Solid is just part of Berners-Lee’s efforts to fix his creation. As he writes about Solid:
I’ve always believed the web is for everyone. That’s why I and others fight fiercely to protect it. The changes we’ve managed to bring have created a better and more connected world. But for all the good we’ve achieved, the web has evolved into an engine of inequity and division; swayed by powerful forces who use it for their own agendas.
Today, I believe we’ve reached a critical tipping point, and that powerful change for the better is possible — and necessary.
Solid is the mechanism that enables (and enforces) people to do the right thing. It removes all of the perverse incentives that have made the exploitation of personal data the economic engine of the web. With Solid, that’s no longer even possible. Fortunes can still be made, but the market will be won by delivering better products and value, not through monetizing your personal data.
All of this makes Solid a worthy upgrade to the World Wide Web of 1989. If you’re ready to explore the future, jump right in!