Solid scope and ecosystem

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:

https://medium.com/textileio/the-5-steps-to-end-to-end-encrypted-photo-storage-and-sharing-45ad4aad6b14

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

Do you know of any similar open source projects to SAFE?

For what its worth (as a casual observer) the distinction between terms “Solid-apps” and “Solid-compliant-apps” is actually HUGE for my own realization disambiguation.

Using “Solid-apps” is confusing AF…
with Solid, almost solely because @aschrijver just made the distinction for me.

Maybe y’all would consider deprecating/migrating your use of the term “Solid apps”. It would very likely eliminate some confusion for casual onlookers.

PS: I am learning a lot more from this conversation than any other on the site, thanks everyone

2 Likes

I’m not aware of any that have the ambition or potential of Safe Network, just of similar sounding projects. But on inspection other projects I’ve looked at fall short in ambition or implementation.

1 Like

If you’re talking peer-to-peer then DAT Foundation (their DAT protocol) is getting more traction. Very differently positioned to SAFE (which has a very good completeness-of-vision), the recently revamped protocol gets some nice application (I am not really following them, so do not have many pointers… they can be hard to find). Recently I came upon CoBox, a cool DAT-based project providing “an encrypted p2p file system and distributed back-up tool”.

You also have Secure Scuttlebutt Foundation and the aforementioned IPFS suite of protocols. I am very interested in Fediverse (ActivityPub), which right now is federated-only, but there’s increasing amount of research into peer-to-peer usage. ActivityPub itself is just a messaging protocol and mostly agnostic to this. A wonderful development for Fediverse is Spritely Project.

2 Likes

Could Solid POD services be replicated and distributed on DAT?

Phew, that’s a one-sentence question with a lotta possible answers, and I am not well-equipped enough on both technologies to answer. It would require a true deep-dive. They both come with NodeJS implementations, at least :slight_smile:

1 Like

I believe so, at least up to a point, in just the same way I’ve demonstrated doing this on Safe Network by implementing part of the Solid protocol in the browser, eliminating the need for a server.

There are other ways to do this I think, but I’m not familiar with the details of DAT, just the basics.

1 Like

Hi all, I have read through many of the posts on this forum particularly those from @aschrijver and @jeffz and I think there are some gaps with what the big picture is for Solid but I also realized that Holochain can fill some of those gaps, especially for hosting of pods.
If you have a few moments I have written an article about this.
https://bit.ly/32NpVCf

Regards
Michael

3 Likes