This year marks 35 years since Tim Berners-Lee invented the web.
While the web started decentralized, Berners-Lee hasn’t been happy with the web’s recent concentration of power, and is a reason why he launched Solid Project.
Solid Project is a “specification that lets people store their data securely in decentralized data stores.”
It is a generalized solution to data interoperability on the web, but its generality is paid for by complexity. This has challenged adoption and lead to confusion even as the project is now six years old.
We’re extremely excited by the opportunities interoperability unlocks
We want to make data interoperability go mainstream, and to do it, we are simplifying everything in sight.
Opinionated design
Our goal is to make
- Safely bringing data to your favorite apps
- Activating user data in your apps
as effortless as possible.
In contrast to Solid, to start this means three things
- OAuth sign-in
- Centrally managed context syncing and storage
- Opinionated data representation
A16Z’s Andrew Chen is right: Every time you ask a user to click you lose half. User interfaces like logins must be effortless. The marginal user (to Midjourney’s Ivan Vendrov, “Marl”)
has the attention span of a goldfish on acid. Once Marl opens your app, you have about 1.3 seconds to catch his attention with a shiny image or triggering headline, otherwise he’ll swipe back to TikTok and never open your app again. Marl’s tolerance for user interface complexity is zero.
This means that when a user links data to another application, the data must be available instantly for the least amount of work, both for the user and the developer.
Given this, we choose centrally managed data syncing and storage to make linking data across apps as cheap and fast as possible. Right to Access laws are less elegant than protocols, but they’re also effective. Increasingly, users can lean on these laws to make data portable – we certainly are. We take Right To Access as a candidate antidote to forces of centralization.
Finally, to make data easy to activate, we choose a simple data representation following canonical web tracking Action-Object framework (which itself is a simplification of the Semantic Web). That is, all data a user syncs is transformed into this unified representation. From a historical and first principles basis, this feels reasonable and not especially controversial: there are only so many candidate representations of
- you “liked” a photo on Instagram
- you “liked” a song on Spotify
And luckily with AI, a chosen representation doesn’t need to be Correct, it just needs to be well documented.
AI enables the Semantic Web
Crosshatch makes Solid “pretty” by opinionated design and AI.
Solid stands for Social Linked Data. Linked Data is at the core of Solid (and the Semantic Web).
But no one talks about the Semantic Web anymore.
Two years ago, HackerNews was abuzz: The Semantic Web is Dead. Working with Linked Data was high friction and complex
Solid even acknowledges this in Solid FAQ: Linked Data never took off. They defend the choice
The Semantic Web and Linked Data technologies are centered on the question of interoperability. ... The Semantic Web and Linked Data principles and technologies seemed to be the fittest for this purpose.
But with AI, this is clearly no longer true.
You don’t need a special data structure or vocabularies to enable the interoperability. Text is the universal interface. AI makes data interoperable – AI just needs to know its semantics and provenance. No need for universally agreed standards, just open documentation. Add in some context and tell AI how you might like to attempt to interpret it.
As an extra perk, it also enables data minimization in a way the semantic web did not. Using AI as an interoperability “universal translation” layer, users can readily share only the information that’s needed for the experience at hand. This isn’t obviously possible with Linked Data.
Simplicity maxing
To allow users to bring data to their favorite apps, you have to make it as simple as possible.
This means, familiar log in flows and data linking in as few taps as possible. SDKs and APIs should be responsive in syncing and activation. And it should be easy for developers (and AI services!) to integrate.
Doing this could unlock the personalized internet we’ve long been promised. One that’s available wherever we are, not just on certain devices, apps, operating systems, AI models, or browsers. We can edit the vastness of options to ones that are made just for us – at scale and on our terms.
For apps, it means that optimizing for speed, quality and cost are no longer mutually exclusive: Crosshatch unlocks personalization that’s more contextual and lower cost to ship.
These all come with tradeoffs. Crosshatch starts out as a centralized service with an opinionated data representation and support for select language models. We're starting simple, and adding complexity as opportune.
Solid is generalized. Crosshatch is simplicity-maxing.
"Pretty Solid."