Solid vs ATProto

I’ve been working for the past few years in RDF land, after getting @doriantaylor.com to get me over the steep af learning curve.

I share a lot of my thinking with @thisismissem.social and @erlend.sh, and @kjetil.kjernsmo.net is not the only original author disillusioned with Solid. Even some of the most active developers in the Solid space are feeling depressed by it – not seeing a way to bring it forward and sustain development.

I still believe that it’s a space worth building in, and I’m continuing to do so! SolidState is a wrapper over PouchDB that syncs to a Solid server. Octothorpes is built on a RDF graph, and uses RDF to shape its data in an out and map its relationships. Pushbroom is web analytics built with RDF triples. RDF-KV.js is an implementation of Dorian’s RDF-KV that turns FormData into SPARQL queries.

That said, I’m absolutely not a technology partisan. I find working with Solid in particular baroque and frustrating. But the core of it – bring your ID and store your data on that ID server – is the future of the web. ATProto shares that same idea, but like @pfrazee.com says covers a different expression and use case: public data, massive public graphs, and RPC workflows. Solid covers HTTP and web resources with permissions - small and discretely permissioned graphs.

I see a world where they can work together – one ID that can speak both protocols.

One of the things that brought me to RDF (via JSON-LD) is exactly that idea of the jungle of lexicons, vocabularies, and ontologies. I think that this is a STRENGTH of these systems.

Beyond the (largely bad) DX, I think one of the things that killed the semantic web was the insistence of a single vocabulary, something I’ve written on.

The main strength of JSON-LD, beyond how nice triple stores are to use for data storage, is the ability to bridge content between these different vocabularies. Something else I’ve written about.

This idea of plurality is what excites me about working in these ways. The idea that we can have data that can express itself as any tree we need, in any shape we need, is exciting to me. D&G’s rhizome is instrumental in thinking about data in this way, and RDF gives us the tools to build it, without shutting the door to any particular implementation, Solid or ATProto.

My goal is to make the DX of solid as good and as free as ATProto so we can use the appropriate tool for the app at hand. My goal is that end users don’t have to care what the tech is, it just works. My goal is to make running a community data store simple, easy, and effective. My goal is to have a real ecosystem of apps that don’t seek rent on their users data.

6 Likes