Browse Source

Complete the ActivityPub presentation

master
Julio Biason 4 years ago
parent
commit
e5513037d9
  1. BIN
      _images/ActivityPub-tutorial-image.png
  2. 194
      activitypub.html

BIN
_images/ActivityPub-tutorial-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

194
activitypub.html

@ -162,6 +162,16 @@
</section>
<section>
<section>
<img class="stretch" src="_images/socializing.jpeg" alt="">
<aside class="notes">
Apesar dos pesares, humanos são seres sociais e,
apesar dos pesares, a internet é uma forma de
socialização.
</aside>
</section>
<section>
<img class="stretch" src="_images/silo.jpeg" alt="">
@ -213,16 +223,6 @@
</aside>
</section>
<section>
<img class="stretch" src="_images/socializing.jpeg" alt="">
<aside class="notes">
Apesar dos pesares, humanos são seres sociais e,
apesar dos pesares, a internet é uma forma de
socialização.
</aside>
</section>
<section>
<h4>Mas O Que é ActivityPub</h4>
@ -230,7 +230,7 @@
<li class="fragment">Protocolo certificado pela W3C.</li>
<li class="fragment">Baseado em HTTP e JSON.</li>
<li class="fragment">Tem vários conceitos iguais ao email.</li>
<li class="fragment">Composto de outros protolocos (como WebFinger, ActivityStreams, ActivityVocabulary e JSON-LD).</li>
<li class="fragment">Composto de outros protolocos: WebFinger, ActivityStreams, ActivityVocabulary e JSON-LD.</li>
</ul>
<aside class="notes">
@ -257,13 +257,14 @@
<section>
<h4>O Que é ActivityPub</h4>
<h3>Activity Vocabulary</h3>
<ul>
<li class="fragment">Actors <span class="fragment">(Person, Bot, Company)</span></li>
<li class="fragment">Actors <span class="fragment">(Person, Bot, Service)</span></li>
<li class="fragment">Notes</li>
<li class="fragment">Images</li>
<li class="fragment">Links</li>
<li class="fragment">(e mais, definidos no Vocabulary)</li>
<li class="fragment">...</li>
</ul>
<aside class="notes">
@ -277,6 +278,7 @@
<section>
<h4>ActivityPub</h4>
<h3>WebFinger</h3>
<pre><code class="hljs json" data-trim>
{"@context": "https://www.w3.org/ns/activitystreams",
@ -296,38 +298,6 @@
Essa é a estrutura de um ator. Existem algumas
opções importantes/interessantes aqui.
</aside>
</section>
<section>
<h4>ActivityPub</h4>
<pre><code class="hljs json" data-trim>
{"@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?"}}
</code></pre>
<aside class="notes">
E uma atividade -- por exemplo, nosso ator acima
enviando um texto para outro ator.
</aside>
</section>
<section>
<img class="stretch" src="_images/rewind.png" alt="">
<aside class="notes">
Mas vamos voltar um pouquinho para explicar como
ActivityPub é parecido com email.
</aside>
</section>
<section>
@ -384,66 +354,108 @@
<section>
<h4>ActivityPub</h4>
<pre><code class="hljs json" data-trim data-line-numbers="9">
<h3>Activity Stream</h3>
<pre><code class="hljs json" data-trim>
{"@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/"}
"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?"}}
</code></pre>
<aside class="notes">
A lista de seguidores do ator.
E uma atividade -- por exemplo, nosso ator acima
enviando um texto para outro ator.
</aside>
</section>
<section>
<h4>ActivityPub</h4>
<pre><code class="hljs json" data-trim data-line-numbers="10">
{"@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/"}
</code></pre>
<img class="white stretch" src="_images/ActivityPub-tutorial-image.png" alt="">
</section>
<aside class="notes">
Follow com os atores que o ator segue.
</aside>
<section>
<h4>ActivityPub</h4>
<h3>Client to Server Activities</h3>
<p class="fragment">
create, update, delete, follow, add, remove, like,
block, undo
</p>
</section>
<section>
<h4>ActivityPub</h4>
<pre><code class="hljs json" data-trim data-line-numbers="11">
{"@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/"}
</code></pre>
<h3>Server to Server Activity</h3>
<aside class="notes">
E "liked" com o objetos que o ator marcou como
"like".
</aside>
<p class="fragment">
create, update, delete, follow, accept (follow),
reject (to follow), add, remove, like, announce
(reposting/boosting), undo
</p>
</section>
<section>
<h4>ActivityPub</h4>
<h3>Public</h3>
<p class="fragment">https://www.w3.org/ns/activitystreams#Public</p>
</section>
</section>
<section>
<section>
<h4>Suporte ao ActivityPub</h4>
<ul>
<li class="fragment">ForgeFed (Código, Github)</li>
<li class="fragment">PixelFed (Fotos, Instagram)</li>
<li class="fragment">PeerTube (Videos, YouTube)</li>
<li class="fragment">HubZilla/Plume/WordPress ActivityPub Plugin (Blogging, WordPress)</li>
<li class="fragment">DistBin (Snippets, Pastebin/Gist)</li>
<li class="fragment">Diaspora (Social, Facebook)</li>
<li class="fragment">Microblog/Honk/Plemora/Mastodon (Micro-blogging, Twitter)</li>
</ul>
</section>
<section>
<h4>Suporte ao ActivityPub</h4>
<h3>Mastodon</h3>
<ul>
<li class="fragment">2.629 instâncias</li>
<li class="fragment">10.877.412 de contas criadas</li>
<li class="fragment">157.437 usuários ativos (última semana de novembro)</li>
<li class="fragment">1.562.887.737.129.765 toots</li>
</ul>
</section>
<section>
<h4>Suporte ao ActivityPub</h4>
<p>
<a href="https://fediverse.party">Fediverse</a>
</p>
</section>
</section>
<section>
<section>
<h4>Informações Técnicas</h4>
<ul>
<li><a href="https://www.w3.org/TR/activitypub/">ActivityPub, W3C Recommendation 23 January 2018</a></li>
<li><a href="https://nextcloud.com/blog/activitypub-the-new-standard-for-decentralized-networks/">NextCloud: ActivityPub: the new standard for decentralized networks</a></li>
<li><a href="https://hacks.mozilla.org/2018/11/decentralizing-social-interactions-with-activitypub/">Mozilla Hacks: Decentralizing Social Interactions with ActivityPub</a></li>
<li><a href="https://activitypub.rocks/">ActivityPub Rocks!</a></li>
<li><a href="https://flak.tedunangst.com/post/ActivityPub-as-it-has-been-understood">Honk: ActivityPub as it has been understood</a></li>
</ul>
</section>
</section>

Loading…
Cancel
Save