Andrei Sambra & Nicola Greco

MIT

Solid

Data ownership in the age of silos

State of the art (cloud)

Multiple silos...

Problems

Different APIs everywhere

No interoperability

Zero control over data

What the heck is identity?

(identity is tightly coupled with each application)

Principles

Standard API

Interoperability!

Control over data

Self-managed online identity

Solid approach

What is different?

Apps no longer "run" on dedicated servers

Apps no longer require authentication

Generic, REST API for managing data (LDP)

No application logic in the server!

Main principles/goals:

Modular design - decouple everything

Build generic platforms & tools

Reshare data between applications

Build upon open Web standards

How does it work?

Solid offers decentralized:

Identity

Authentication

Access control

Generic (and RESTful) data API

Everything revolves around URIs

 

(especially for identity)

Load the application

Multiple data sources

App fetches data from individual sources

App providers are kept out of the loop!

API example for writing data

curl -H"Content-Type: text/turtle" \
     -H"Slug: redecentralize-2015" \
     -X POST \
     --data ' @prefix as: <http://www.w3.org/ns/...#>. 
                <> a as:Note; 
                as:content "Going somewhere".' \
     https://alice.example.org/notes/

API example for updating data

curl -H"Content-Type: application/sparql-update" \
     -X PATCH \
     --data 'DELETE DATA 
        {<> 
            <...activitystreams#content> "Going somewhere" .
        };
            INSERT DATA 
        {<> 
            <...activitystreams#content> "Going elsewhere" .
        } ' \
     https://alice.example.org/notes/redecentralize-2015

API example for deleting data

curl -X DELETE \
    https://alice.example.org/notes/redecentralize-2015

What do we stand to gain?

Source:  https://moz.com

Keep your social graph

Source: https://www.atlassian.com

Ability to add new features

Better

Governance & Democracy

New business models

HTTP 402

Now what?

Demos!

Examples

Node.js

https://github.com/linkeddata/ldnode

 

Golang

https://github.com/linkeddata/gold

You are the next contributor

Learn about Solid - bit.ly/solid-tutorial

Source: http://helpwiththetoughquestions.com/

https://github.com/solid/

</Presentation>

Andrei Sambra - @therealdeiu

Nicola Greco - @nicolagreco
MIT

https://solid.mit.edu/

Made with Slides.com