Decentralizing the Social Web with ActivityPub and JSON-LD
@switzerly

About me
- civicunrest.com
- healthcare tech, IOT, APIs
- long time restfester
The Question

What does it take from a technical perspective to pack up and leave the most closed platform, Facebook, and take your social graph somewhere else?
Process
- Figure out how to get data from Facebook
- Export that data and its context
- Transform that data into a standard format
- Import that data into another social platform or product
MVP: https://github.com/programmableweb/salvager/
1. Get your data from FB
"Download your data" or API?
FB Graph API
- No documented structure
- No links or documented relationships
- Most valuable or interesting data is hard or impossible to get
- Passing app review for a project like this....
2. We have some data, now what?
Data storage
Maybe we can just put the data somewhere to hold onto for later?
- Personal computer
- Personal "data cloud" like Cozy
- SOLID Pod?
Alternative social networks?
What if we want to actually use the data in a new social network?
- Private companies like Ello
- Non-standard open source projects like Diaspora
- Decentralized & standardized projects like Mastadon and PeerTube
Let's decentralize all the things.
Some terms
Decentralization
Semantic Web
RDF
ActivityPub
ActivityStreams

Challenges
- Not a one-to-one mapping between real social data and ActivityStreams models
- Privacy and visibility are not defined by ActivityPub
- Data store products/projects aren't ready for social data
- Alternative social networks aren't product alternatives to Facebook. More product challenges....
Q's?
Decentralizing the Social Web with ActivityPub and JSON-LD
By Shelby Switzer
Decentralizing the Social Web with ActivityPub and JSON-LD
- 1,234