
Solid – A set of conventions and tools for decentralized social applications - edwinjm
https://solid.mit.edu/
======
cocktailpeanuts
I think these "open web" movement people are mistaken about what made the web
successful.

The web succeeded because it let people connect more easily by removing
friction.

Of course the "openness" part was important in gaining initial adoption, but
today "adoption" is not a problem anymore. Most of these open web movement
people just want to make things open without any immediate, clear, and
tangible benefit to end-users. Even if they did, these always come with
caveats--inconvenience.

Introducing inconvenience for the sake of making things more open is going
backwards, and that's why it never gets any traction.

I'm not saying being open is stupid, I'm just saying it's not gonna happen if
all these guys think about is "how are we going to make the web more open?",
they will keep building the same shit that no mainstream user cares about.

If you want to make the web more open, build something that provides a unique
unprecedented benefit, important enough that people will use it no matter how
inconvenient it is, like Bitcoin, or Bittorrent.

~~~
justrossthings
>build something that provides a unique unprecedented benefit, important
enough that people will use it no matter how inconvenient it is

As much as I like Tim I have to agree. My mom doesn't give a shit about
controlling her data, much less know who has it or how it's being used.

HN, What would be a killer user-experience that Solid could facilitate with
it's data-silo'ing?

=> Enable 3rd party apps that use Solid's login to offer hyper-targeted
onboarding and pre-fill more account creation inputs

=> Enable background cross-app communication to app's you've given permission
to in order to facilitate great user-experiences? Eg. Spotify tells your
Ticketmaster app what musicians you listen to, Ticketmaster gives you
notifications when said musicians are coming to your town

=> ???

~~~
lewisl9029
For me, interoperability is the killer feature of being in control of your own
data as opposed to having it locked up in some private silo.

If you are in control of your profile, contact list and message history data,
for instance, you can switch between any chat app that has access to this data
at any time and continue conversations without missing a beat. Everyone can
use their own favorite chat apps to communicate without having to worry about
what everyone else is using.

Lock-in is suddenly no longer a thing.

I think this is the only way to achieve a truly robust marketplace of apps and
services that can compete on the strength of their value proposition to users,
rather than relying on the strength of their network effects to lock out new
players.

Of course, most profit driven corporations aren't going to be eager to adopt
this open ecosystem, at least until it gains enough traction that they no
longer have a choice. So the burden is on independent and open-source
developers to first create experiences on top of this open ecosystem that
could be compelling enough to draw users away from the proprietary silos.

I'd love to see this happen, and do plan to build apps that leverage open data
systems like Solid myself, but it's definitely going to be an uphill battle,
unfortunately.

P.S. replikativ [1] is another lesser known project that has similar
ambitions, though it only provides the decentralized data piece of the puzzle
at the moment.

[1]
[https://github.com/replikativ/replikativ](https://github.com/replikativ/replikativ)

------
sdegutis
Some relevant things:

Solid on Github: [https://github.com/solid/](https://github.com/solid/)

Solid server on top of the file-system in NodeJS:
[https://github.com/solid/node-solid-server](https://github.com/solid/node-
solid-server)

Plume[1]: [https://github.com/deiu/solid-plume](https://github.com/deiu/solid-
plume)

[1] _Plume is a 100% client-side blogging platform, built using Solid
standards, in which data is decoupled from the application itself. This means
that you can host the application on any Web server, without having to install
anything -- no database, no messing around with Node.js, it has 0
dependencies! It also means that other similar applications will be able to
reuse the data resulting from your posts, without having to go through a
complicated API._

------
wodenokoto
I feel like the description of this is either so high-level that it doesn't
make sense, or too close to the ground to really get an idea about what it is.

Is it an alternative to HTML? To http? Is it a set of guidelines for data
handling? Is it a web-framework like Django or a framework like react?

~~~
pfooti
Ah, from their github repo:

Specifically, Solid is:

A tech stack -- a set of complementary standards and data formats/vocabularies
that together provide capabilities that are currently available only through
centralized social media services (think Facebook/Twitter/LinkedIn/many
others), such as identity, authentication and login, authorization and
permission lists, contact management, messaging and notifications, feed
aggregation and subscription, comments and discussions, and more.

A Specifications document that describes a REST API that extends those
existing standards, contains design notes on the individual components used,
and is intended as a guide for developers who plan to build servers or
applications.

A set of servers that implement this specification.

A test suite for testing and validating Solid implementations.

An ecosystem of social apps, identity providers and helper libraries (such as
solid.js) that run on the Solid platform.

A community providing documentation, discussion (see the solid gitter
channel), tutorials and talks/presentations.

\-- [https://github.com/solid/solid](https://github.com/solid/solid)

------
jms18
> Solid is modular and extensible and it relies as much as possible on
> existing W3C standards and protocols.

That's great! A good place to start would be here --
[https://validator.w3.org/nu/?doc=https%3A%2F%2Fsolid.mit.edu...](https://validator.w3.org/nu/?doc=https%3A%2F%2Fsolid.mit.edu%2F).

It's a nitpick, I know. I view source. I always view source. There a lot of
things that made the web a success (the REST principles underlying the
architecture, the "a" tag, the non-draconian "error" handling, right-place-at-
right-time), and one of them was "view source." And I always view source. And
then I pick at nits.

This one advertises "[relying on] existing W3C standards", so I brought it up.
I usually keep my mouth shout.

------
Ciantic
Protocol for data sharing requires also a good product. I wish they get one,
but I'm afraid this could end up like "Semantic Web", there is very little
business incentive to make data sharing between services easy. Data after all
is one of the most important assets for companies.

~~~
Twisell
IMHO thinking of data as assets is what kept many company out of crowdsourcing
opportunities.

Wikipedia and OpenStreetMap for instance are wonderful example of successful
open datasets.

And what are social network if not personals public datasets. Now is maybe
just the right time to make them more open.

~~~
brokenmachine
_> Wikipedia and OpenStreetMap for instance are wonderful example of
successful open datasets._

Wikipedia definitely has a nice dataset, but they don't seem like a successful
_business_.

They always have the ads at the top of the pages asking for donations and
talking about how poor they are.

------
technofiend
I think the issue Solid attempts to address is ownership of your data, but as
people suggest below if the data is readily available via API how much have
you really gained? Facebook will simply write a web crawler that downloads all
your data because it's public anyway.

What seems to be missing is the web-of-trust component that controls who sees
what data and in what context; i.e. your data shouldn't really be public but
protected and limited by roles you control. The wedge will then of course be
Facebook paying Facebook customers to mine data by subverting trust
relationships.

There doesn't seem to be a simple fix for sharing of data once it leaves your
system. You can't tag it and encrypt it so only friends / family / whomever
may read it, and if you could there's no way to prevent the unencrypted data's
use. The only way to retain your privacy is never sharing the data in the
first place.

 _You may substitute_ __Facebook ___with the name of the datamining and
marketing company of your choice._

~~~
thinkcontext
The idea is that with Solid like in Facebook you can define how much each
group of people get to see. Your close friends can see a lot, acquaintances
can see a little, and the general public can see not much or none. So
companies would need your permission to be able to scrape in the manner you
described.

~~~
technofiend
Among other things the reason I quit facebook is because of people who have no
problem trading my information for their gain. I got tired of blocking
requests from an aunt addicted to farmville, for instance. She's exactly who I
had in mind when I said people will subvert controls I put in place for their
own benefit. She'd happily click a button that downloaded all my data shared
to her with Facebook if it meant an extra in game reward. But do I want to
block her from all my updates? Not really. However given the choice of doing
that and sharing my data I quite facebook. I realize not everyone is the same.

------
banach2
I love this idea. Imagine you have a bunch of emails and a bunch of contacts
that you'd like to preserve. You're using Gmail and for some reason they've
put a bad taste in your mouth. If Gmail were built upon these open foundations
then you could simply download your solid archive, and hand it to someone else
to take care of.

Regarding the complaints about trust; that should be the realm of litigation.
We put trust in our licencing of source code. Your data should be licenced in
a similar fashion, and if the handler of your data fails to comply then they
shouldn't be allowed to operate.

~~~
thringsaround
? I did exactly this with an entire Google account the other day:
[https://takeout.google.com/settings/takeout](https://takeout.google.com/settings/takeout)

It's all standard formats. Not sure what else you could want aside from a
literal Gmail clone.

~~~
banach2
You're right, but that doesn't include licencing. There's no guarantee that
Google won't retain any of your data.

Additionally, there aren't many online services which you can just expect to
work after handing them that data.

~~~
thringsaround
Fair point, it's not "the open web" or whatever. But they do, practically
speaking, do everything you need-- and it speaks to other comments about
whether "the open web" is really offering something people _want_. (I
certainly do expect any service I'm likely to use to import .vcf or .mbox
files without much grief.)

------
bluesilver07
How does this prevent developers from still copying your data and storing a
copy on their own servers for faster access?

~~~
chriswarbo
That's a feature of the Web, which allows applications like Google and the
Wayback Machine.

If you don't want it copied all over the world and archived forever, don't put
it online.

~~~
mankash666
Bah. This project was pitched as a alternative to free-for-all data access. So
your answer is silly

~~~
adyus
I don't think that's the point of the project, rather decentralization and
breaking free from proprietary data silos.

The point is that you decide where your data sits and who has access to it,
not that it's free-for-all.

Unless I misunderstood your point completely...

------
linkmotif
Cool. Would like to see more! Also wondering how this might relate to or
complement a project like IPFS ([https://ipfs.io/](https://ipfs.io/))

------
larl
How is this different from sandstorm.io?

~~~
eitland
As I read it this is about data formats, sharing and reusability.

sandstorm.io is about running apps on shared hosts safely.

