Solid scope and ecosystem

I agree and think so too, plus hypes are never good. But unfortunately the tech world as a whole decides what will be a hype or not (and it is very hype-sensitive… we’ve just left the AI hype and now its waiting what will be next). Then we should be prepared to deal with that.

I think the read/write web motto is very important but somewhat underestimated. I see quite a few efforts to introduce immutability and other append-only content-addressed storage technologies, which most certainly have uses (such as storing the vocabularies, or videos, or anything that demanded a lot of work before being published) but it will not suit all social interactions because everyone makes mistakes, and correcting or removing the data will always lead to better understanding of each other than piling up more data on top of the incorrect data.

1 Like

@aschrijver wrote

assigning meaning, as a precondition to Solid, but it is not one that needs an entire semantic web… I could apply Solid in any bounded context where you have that.

Please give an example of accomplishing this goal without the semantic web.

I can imagine a situation in which we all had control of our data and identities (1&3) but in which a limited number of centralized servers provided the only interface and processing mechanisms (4&5). That would not be much improved over the current situation. So I believe they are not simply nice-to-haves.

Your point about apps strikes me as very off base. First you quote something which says that a pod can be on a remote host or a local device. Then you claim that talk of apps obscures that point. What has one got to do with the other? The first has to do with where servers are located and relates entirely to data storage and and has nothing to do with apps which relate to interface and processing.

You suggest a different terminology than “Apps”. Please explain how Solid can accomplish the five points in my scope statement without using the term “apps”. And especially, please explain it in a way that a developer can get the idea that designing for Solid needs a reorientation away from the currently standard server-based approach to processing - the most important thing for new Solid developers to recognize.

Yes, you rightly point this out. It can be confusing. Where I say ‘semantic web’ I mean the effort to migrate the entire web to linked data standards.

I am not saying that in general they are nice-to-haves, but to me in the current use that is interesting to me they are. Given that the scope of Solid may be much larger than what is in plain sight, this may mean that for my current use case I better look elsewhere, until Solid gets a more complete and stable state.

Yes, that could well be… I am still on the quest to untangle the scope of solid. Hence this thread.

Ah, this is interesting. Here I think you refer to Apps in the same understanding as I have of this concept: Any apps / applications and probably even services that any developer creates.

But if you say Solid Apps, then you create a confusion. Is that different than Android Apps, or Apple Apps, or Atlassian Apps, or whatever else kind of apps there are?

If however, I do not have the same understanding of apps you just referred to, and there indeed is something solid-specific to these apps (other than integrating, say, a library to achieve solid-standards-compliance), then talking about Solid Apps is still confusing. That android developer when hearing about Solid will say “Solid Apps? Nah, I create Android Apps”.

What imho in both cases would be much better is to make it crystal-clear that this is about Solid-compliant apps, i.e. apps that implement solid standard in some way. So that android developer will say “Solid? Sure I make my app solid-compliant after hearing these benefits”.

PS. All I’ve just said would be invalid if Solid does not have the ambition to be a universal standard, and is content to be just for a subset of devs that see merit in that and happen to also like the accompanying techstack. This is imho likeliest interpretation an outsider will get when they casually bump into solidproject.org.

I do see your point about “Solid compliant app” instead of “Solid app”. I would prefer to think of it as “an app operating in the Solid ecosystem”. Maybe this picture will explain why we keep referring to apps as a key part of the architecture

.

1 Like

Yes, I see what you mean, and that is a clear diagram. Someone reading it will infer that “app” could also include their app if they implement / integrate solid standards support. It could also say “compliant app”, but not “solid app” or the confusion returns.

Note that I am nit-picking on this, because I think it is crucial to Solid’s widespread adoption. Most times I’ve seen Solid discussed outside of solid community e.g. on Hacker News (not unimportant), it was with a lot of confusion and misunderstandings.

In that light I think “an app operating in the Solid ecosystem” should also be avoided, because now I have the impression that I have to integrate with an entire ecosystem, and build my app around that.


I find the terminology in Encrypted Data Vaults to be much more intuitive.

  • Encrypted Data Vault vs. Personal Online Data Storage (“Ah, you mean like Google Drive, ‘Free Cloud Storage for Personal Use’…”). The first is much more descriptive. If you use POD’s then it must be followed with an explanation of the acronym.
  • Uses familiar Client + Server terminology and avoids Services and the overloaded term Apps altogether
  • Having a Vault it is clear that I could host it on either a Client or a Server
  • Storage server vs. POD Provider. A storage server is a universal concept. Is a POD provider a specialized storage server?

I also really like the Core Use Cases section. It is written so that most non-techies can understand

  • It also avoids words that can be confusing, like ‘privacy’ and 'encryption. It just says e.g. “only I can see and use the data”. Instead “Prioritize Privacy” is a Design Goal.
  • It avoids even ‘personal data’ saying just ‘data’. What is personal data? When does it go from being data to personal data or back? Why would I not store more than personal data in my vault? The word data is sufficient. ‘Personal data’ is open to interpretation and there is much discussion on what is an is not personal (e.g. see GDPR-related discussions).

In my opinion, that impression would be correct and is a key point that needs to be gotten across to developers - Solid apps are meant to work in the Solid ecosystem and can not operate entirely outside of that ecosystem.

As far as using Solid as an adjective on the word “app”, let’s look at other adjectival uses:

  • Javascript App - an app specific to a given language
  • Social Media App - an app specific to a given function
  • Android App - an app specific to a given operating system
  • Web App, Desktop App - apps specific to given environments

When I use the phrase “Solid app”, I mean it in that fourth sense, an app specific to a given environment. Nothing you’ve said has convinced me that is an improper usage.

That is great information. As an early adopter one should clearly know - be able to glean quick insight to - exactly what other parts of the ecosystem or requirements are needed.

Using the term ‘Solid App’ makes it a subset of the world of apps. It is a new term that newcomers have never heard of, and now they have to determine how that slices with all the examples of app categorizations (and there are more) that you just mentioned.

I was preparing another response when you posted, so I just copy that below:


@jeffz regarding confusion… We had the same understanding on what “apps” mean, previously. But the Solid Project website is telling an entirely different tale.

Developer drill-down:

Landingpage ➜ For Developers ➜ Build Solid Web Apps ➜ Build your first Solid Web App:

“This tutorial assumes you are familiar with modern JavaScript and its ecosystem […] and are interested in building one that reads and writes data to a Solid Pod.” The entire code walkthrough gives no clarity how a Solid (Web) App is related to the common understanding of “apps”.

  • Impression: Solid Web Apps are NodeJS apps that use the Solid web framework…

Landingpage ➜ For Developers ➜ Build Solid Web Apps ➜ Check out the existing Solid apps:

This time apps is not capitalized. On the ‘Use Solid Apps’ page there is a hopeful start: " You wrote a Solid-compatible app that’s not listed? Feel free to add it to the list."

But then the list, as far as I can see, only contains apps that were built from the ground up with Solid in mind. There are no integration libraries, plugins, addons, extensions to existing projects / products out in the wild.

  • Impression: Yes indeed, this is an alternative framework than what I am using now.

Landingpage ➜ For Developers ➜ Tools and libraries overview:

Here you find Solid specific tools and Solid specific libraries, but once again none of the tools and libraries that people are familiar with. No integrations with existing systems.

  • Impression: Wow, I have to learn an entire new ecosystem to stick a full-blown app together.

Landingpage ➜ Implement Solid

Implement Solid sounds interesting, BUT: “Contact us on our email to state your need”. Full stop.

  • Impression: Ah, this is probably a .org site driven by a business that develops the flagship products for this framework.

User drilldown

Costs me too much time to expand now, but the perception is the same developers will get.

FAQ

Here there is an entirely new set of confusions to address. It makes everything Solid.

  • Solid users ➜ Is that different than just “users”?
  • When using Solid… ➜ I am not really using Solid, I just use a solid-compliant app

And more things that do not really make it easier.

If you have specific suggestions for rewriting that part of the documentation, please submit some PRs on the github repo.

There are no integration libraries, plugins,

Those are found in a different part of the documentation, one that I happen to be writing. So I’d value if you gave me a similar critique of the Solid tools and libraries page and I can directly take your input into account as I rewrite.

2 Likes
  • Encrypted Data Vault vs. Personal Online Data Storage

To me, the word “personal” is much more indicative than “encrypted” - Amazon can provide me with an encrypted data vault , there’s nothing in that phrase that indicates who owns or controls the data

Having a Vault it is clear that I could host it on either a Client or a Server

A pod is a location within a server. If it is located on my home computer, it is still functioning as a server, not a client.

Is a POD provider a specialized storage server?

A pod provider is a new role that does not currently exist. It is somewhat like a webhost provider and a cloud storage provider but not exactly like either one. Pod providers have a Solid server installed and make space on it for others to house their pods.

2 Likes

Impression: Wow, I have to learn an entire new ecosystem to stick a full-blown app together.

And again, that would be a correct impression. No, you can not just take something written for some other context and wave a wand over it and it becomes a Solid app. You need to build the app specifically for the Solid ecosystem. Do you imagine there is some other way to proceed? If so, where did you get that impression?

once again none of the tools and libraries that people are familiar with

Among other things listed on the tools page - angular, vue, react, dropbox, python, java … can you give me an example of what you feel is missing?

Maybe I will eventually, but I already spent way more time on all of this than I can actually afford. I think it is up to the community members or ‘core team’ to pick up the feedback for those points they find valuable.

I will finish my discussion on this topic. All I am saying is that Solid is giving all kinds of impressions, depending on your entrypoint, skill level, expertise and background. And that is not a good thing. I am both a tech guy and a product owner, and I could deep-dive the tech until all of this felt natural and not think about it anymore. But all the feedback in this thread I gave from product owner perspective.

In a way I feel real bad to be nit-picking so much about terminology and perceptions of the Solid project, but on the other hand I think most people that are deeply involved here realize too little how the project is perceived by the outside world.

There is so much complex technical work to do, that this has led to a kind of inward gaze, where there is only little outreach to other initiatives. I see that very clearly in e.g. the ActivityPub vs. Solid outreach where the fediverse people are trying to coordinate work and evolve more closely aligned & together.

Imho Solid Project should grab these opportunities, each and every one of them and give maximum follow-up. They are very important to bring the Solid vision across to a broader audience. Now in the fediverse some developers already ditched the JSON-LD compliance of the AP spec and are proponents to go with plain JSON for the entire future fediverse. That would be really bad.

I gave a quick peek at the activity stats of the forum in the last month. About 55 users commented, from whom plus-minus 20-30 can be considered frequent visitors. That is not much for a project with such grand vision (if I take the bigger variant I read about in some Solid articles). Grow this community, folks :blush:

Thanks for all your feedback :pray:

1 Like

The most frequent complain I see on Mastodon is its lack for proper support of so-called Content Warnings (which are, simply put, metadata, but as plain text). The people find that the content warnings are both sometimes too specific and sometimes too vague. Does that ring a bell? What could possibly be the solution? ^^

The fact is that the fediverse does not understand what linked data is, and what it could be used for.

Thanks @divoplade, I responded here: Discussion: Solid vs. ActivityPub

Solid requires a universal identity with a unique address that can be dereferenced to a linked data document and securely authenticated. WebID and DID are two identity systems that can support this (in concert with complementary authentication protocols). Others could arise and would also be welcome. Main point is that Solid needs an identity scheme to work with, but Solid isn’t an identity scheme in itself.

The ability to make your data interoperable and usable by different people, applications, and/or services, subject to your authorization, allows Solid to create new kinds of application and data ecosystems where the user (data controller) gets to put their data to work on their own behalf.

2 Likes

Regarding “apps” as well as data ownership by means of access (“encryption”) and comparison to other projects and marketing:

Textile:

How they describe end to end encryption for sharing photos you own and control in 5 steps:

Their tag line:

Write, deploy, and scale apps on IPFS

Textile is a set of open source tools that provide a decentralized database, IPFS-based storage, content hosting, and more over Libp2p, IPFS, and Filecoin.

One thing I wonder with Solid that seems naive regarding Web3 is prioritizing actual physical ownership and control of hardware (can I install Solid Pod server on my raspberry pi and home computer?) and data (is the data only in my pod and replicated to my friends?).

I’m intrigued by Blockstack’s usage of “storage drivers” and “profiles” (abstracting away from the app where a user chooses to store/host their data).

See also ➜   Solid: A Return to KISS

1 Like