Motivation of Solid

Here’s my personal view on your thoughts (“-” meaning no comment from me):

I. Main Motivation: Empowering Users to Fully and Securely Control Their Personal Data:

Not sure if this is the main motivation, but for sure a big part. Imo, allowing new apps to reuse existing data (instead of every app harvesting from 0) could be the main motivation too.

  • To shift towards integrating social features into apps.

I personally see Solid as more general, not only for “social data” (even though the name itself says so). You can use it for personal data, but you could also put research data, encyclopedias, etc on Solid pods. However, you’re right, social tends more towards social agents rather than abstract entities (see eg the Solid WebID Profile).

  • To reduce the dominance of major tech companies like Facebook, TikTok, and Google, which offer free services in exchange for vast amounts of user data.

… or to allow new companies to be competitive without having to harvest data themselves. It’s probably the same result, but I prefer to look at it from this side.

The list of questions I’ve developed for this motivation includes:

  1. How can we prevent apps from copying data? What if a company deliberately creates multiple different apps to gain extensive access to user data? Will companies collaborate to aggregate large amounts of user data?

For the first part, see this thread: Can I restrict where user's data can go?

One thing to keep in mind is, that with less vendor-locking, it is easier to choose companies that you trust your data with, which have a good reputation. If they behave badly, it is easier to change to another company, so the incentive is much higher to have a good reputation.

  1. Will there no longer be any free services available?

On the one hand, it will be easier to host applications, as many of them won’t need a backend server (eg put them on github.io and it’s deployed without you paying any money).

On the other hand, the ad-selling business would at least be different in Solid. So I’m not sure if this would still be a viable option to finance the developing process.

  1. How should the management and storage of vast amounts of data, particularly data not associated with specific individuals, be handled? For example, how should data collected by Google from user searches be managed?

From my point of view, the naiive Solid-style answer is: The search is a piece of data by the user who searched it, so it is stored in their pod. But if the user agrees, Google could use a copy of the data to improve their services. The question would be, how different this would be to the Google of today? Not sure where there is / or has been a discussion on this.

  1. How does this differ from a data server that provides a user interface for data management and permissions?

I think the main differences are, that Solid pods are standardized and intended to be filled with Linked Data.

  1. Will Pod servers become “social big tech” platforms?

  1. If users manage and grant data permissions through a data management app, does this mean that compromising the app would grant control over the data?

Yes. I’ve written a small document on Security in Solid if you’re interested: GitHub - Otto-AA/solid-security-basics: Basic security considerations for solid applications

  1. Is the current trend of integrating social elements into the web and apps going in the wrong direction when everyone can create multiple WebIDs, fake WebIDs, and impersonate others to claim a WebID segment?

When I see a YouTube channel called “Elon Musk” I don’t necessarily believe it to be made by him. I think the same would apply to WebIDs: You believe it when you learned about this WebID from a source you trusted (directly from this person, or someone/something you trust shared this WebID with you).

II. Interoperability: All Apps Can Share Data and Work Together.

  1. What is the workflow for this cooperation?

The user gives app A and app B access to their pod. App A stores data in your pod in an interoperable way. Then app B can use and modify this data (based on the permissions you gave). They could also use Notifications to subscribe to changes of this data.

  1. How can we ensure that every member in the ecosystem works honestly? How can we be sure that an app with the right to update data does so correctly?

We can’t ensure it, we can only create an ecosystem where there are incentives to do so (incentives being that you can simply switch apps, policies and laws, social norms, etc). And we can observe it a bit better, because we have more transparency who accesses which of our data.

  1. Is my general, basic knowledge about Solid correct? Am I on the right path in terms of learning about it?

Yes, pretty good questions :slight_smile:

  1. Can you help me answer any of the above questions or recommend resources that I can refer to for self-study?
  2. Share your own questions about Solid specifications.
  3. Let me know if there are any unresolved questions about Solid up to now.

I like Ruben Verborgh’s blog: Linked Research Articles | Ruben Verborgh
There are also some discussions you can find here concerning these articles and more. Particularly interesting and open is the question, on how this “App A stores data in your pod in an interoperable way.” would work in practice, eg here: [Post deleted]

Have a nice day :slight_smile:

1 Like