solidproject.org: vague entrypoint to the ecosystem
https://solidproject.org/ is supposed to be the website that introduces developers and users to the Solid ecosystem. However, it does a bad job of explaining the core Solid concepts from a developer POV.
The developer tutorial:
- First links to quick-start resources for setting up a pod, which are opaque: after doing this, a developer doesn’t know what Solid is or how it works on a high level.
- Then it dumps code using specific Inrupt APIs, which have their own abstractions over Solid functionality (a “Thing”, and a “SolidDataset”). The developer got introduced to a whole list of Inrupt libraries, but still doesn’t know the underlying Solid concepts.
This tutorial does not:
- Explain core concepts of Solid: how resources are structured on a Solid pod:
- how it is intended to contain both RDF and non-RDF files
- what a container is, what kind of access control exists, file structure analogies
- This is explained nicely in the Inrupt JS library documention: https://docs.inrupt.com/developer-tools/javascript/client-libraries/structured-data (a weird location for this explanation!)
- What the difference is between a Pod (storage) URL, Identity Provider URL, and Web ID URL. They can all be different, as is the case when using Inrupt PodSpaces. Understanding this decentralization is also key to Solid.
- Take a developer through the basics of RDF (https://www.w3.org/TR/rdf11-primer/), which is a reasonable prerequisite to work with a system where “everything is RDF”
The solidproject.org site could be improved by inspiring itself on the Inrupt JS library documentation, and the imec tutorial for Solid. It should be self-contained and minimal (not using extra abstractions).
Ecosystem concepts & tools: not so easy
All the Solid URLs a user needs to keep track of
Solid pods are supposed to be an easier and more private all-in-one replacement for cloud storage & identification providers like Google, but it’s really not easy!
Making an account on a remote pod gives a user 3 important URLs: