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

  • 973