ActivityPub

Me

Mas O Que é ActivityPub

  • Protocolo certificado pela W3C.
  • Baseado em HTTP e JSON.
  • Tem vários conceitos iguais ao email.
  • Composto de outros protolocos: WebFinger, ActivityStreams, ActivityVocabulary e JSON-LD.

O Que é ActivityPub

Activity Vocabulary

  • Actors (Person, Bot, Service)
  • Notes
  • Images
  • Links
  • ...

ActivityPub

WebFinger


{"@context": "https://www.w3.org/ns/activitystreams",
 "type": "Person",
 "id": "https://social.example/alyssa/",
 "name": "Alyssa P. Hacker",
 "preferredUsername": "alyssa",
 "summary": "Lisp enthusiast hailing from MIT",
 "inbox": "https://social.example/alyssa/inbox/",
 "outbox": "https://social.example/alyssa/outbox/",
 "followers": "https://social.example/alyssa/followers/",
 "following": "https://social.example/alyssa/following/",
 "liked": "https://social.example/alyssa/liked/"}
                    

ActivityPub


{"@context": "https://www.w3.org/ns/activitystreams",
 "type": "Person",
 "id": "https://social.example/alyssa/",
 "name": "Alyssa P. Hacker",
 "preferredUsername": "alyssa",
 "summary": "Lisp enthusiast hailing from MIT",
 "inbox": "https://social.example/alyssa/inbox/",
 "outbox": "https://social.example/alyssa/outbox/",
 "followers": "https://social.example/alyssa/followers/",
 "following": "https://social.example/alyssa/following/",
 "liked": "https://social.example/alyssa/liked/"}
                    

ActivityPub


{"@context": "https://www.w3.org/ns/activitystreams",
 "type": "Person",
 "id": "https://social.example/alyssa/",
 "name": "Alyssa P. Hacker",
 "preferredUsername": "alyssa",
 "summary": "Lisp enthusiast hailing from MIT",
 "inbox": "https://social.example/alyssa/inbox/",
 "outbox": "https://social.example/alyssa/outbox/",
 "followers": "https://social.example/alyssa/followers/",
 "following": "https://social.example/alyssa/following/",
 "liked": "https://social.example/alyssa/liked/"}
                    

ActivityPub

Activity Stream


{"@context": "https://www.w3.org/ns/activitystreams",
 "type": "Create",
 "id": "https://social.example/alyssa/posts/a29a6843",
 "to": ["https://chatty.example/ben/"],
 "actor": "https://social.example/alyssa/",
 "object": {"type": "Note",
            "id": "https://social.example/alyssa/posts/49e2d03d",
            "attributedTo": "https://social.example/alyssa/",
            "to": ["https://chatty.example/ben/"],
            "content": "Did you finish reading that book?"}}
                    

ActivityPub

ActivityPub

Client to Server Activities

create, update, delete, follow, add, remove, like, block, undo

ActivityPub

Server to Server Activity

create, update, delete, follow, accept (follow), reject (to follow), add, remove, like, announce (reposting/boosting), undo

ActivityPub

Public

https://www.w3.org/ns/activitystreams#Public

Suporte ao ActivityPub

  • ForgeFed (Código, Github)
  • PixelFed (Fotos, Instagram)
  • PeerTube (Videos, YouTube)
  • HubZilla/Plume/WordPress ActivityPub Plugin (Blogging, WordPress)
  • DistBin (Snippets, Pastebin/Gist)
  • Diaspora (Social, Facebook)
  • Microblog/Honk/Plemora/Mastodon (Micro-blogging, Twitter)

Suporte ao ActivityPub

Mastodon

  • 2.629 instâncias
  • 10.877.412 de contas criadas
  • 157.437 usuários ativos (última semana de novembro)
  • 1.562.887.737.129.765 toots

Suporte ao ActivityPub

Fediverse

Informações Técnicas