Feeds and the AppView

This commit is contained in:
Éibhear Ó hAnluain 2024-05-20 15:53:31 +01:00
parent 4a82d2e841
commit a08c1ed001
Signed by: eibhear
GPG key ID: D124FE9CF2177106
2 changed files with 318 additions and 79 deletions

View file

@ -27,19 +27,21 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#/slide-org4f8ae77">Introduction</a></li>
<li><a href="#/slide-orgd38ec38">General social media architectures</a></li>
<li><a href="#/slide-orge44ce74">Federated social media services</a></li>
<li><a href="#/slide-org230375d">Bluesky</a></li>
<li><a href="#/slide-org9a49751">Bluesky &#x2013; Identities</a></li>
<li><a href="#/slide-org93a8805">Introduction</a></li>
<li><a href="#/slide-org26c71e1">General social media architectures</a></li>
<li><a href="#/slide-orgad41de2">Federated social media services</a></li>
<li><a href="#/slide-org3bda0cb">Bluesky</a></li>
<li><a href="#/slide-org6396db6">Bluesky &#x2013; Identities</a></li>
<li><a href="#/slide-org0c5cce8">Bluesky &#x2013; Feeds</a></li>
<li><a href="#/slide-org79115e8">Bluesky &#x2013; The AppView</a></li>
</ul>
</div>
</div>
</section>
<section>
<section id="slide-org4f8ae77" data-background="./bCardBackground.png">
<h2 id="org4f8ae77">Introduction</h2>
<section id="slide-org93a8805" data-background="./bCardBackground.png">
<h2 id="org93a8805">Introduction</h2>
<div class="e-frame">
<p>
Boo!
@ -48,28 +50,28 @@ Boo!
</section>
</section>
<section>
<section id="slide-orgd38ec38" data-background="./bCardBackground.png">
<h2 id="orgd38ec38">General social media architectures</h2>
<div class="outline-text-2" id="text-orgd38ec38">
<section id="slide-org26c71e1" data-background="./bCardBackground.png">
<h2 id="org26c71e1">General social media architectures</h2>
<div class="outline-text-2" id="text-org26c71e1">
</div>
</section>
<section id="slide-org28f44a5" data-background="./bCardBackground.png">
<h3 id="org28f44a5">Simplistic view 1/2 &#x2013; overview</h3>
<section id="slide-org47f6f38" data-background="./bCardBackground.png">
<h3 id="org47f6f38">Simplistic view 1/2 &#x2013; overview</h3>
<div class="e-frame">
<div id="orgecdb1a0" class="figure">
<div id="org54aa8e9" class="figure">
<p><img src="structurizr-1-001-GenericSocial-01.png" alt="structurizr-1-001-GenericSocial-01.png" width="90%" />
</p>
</div>
</div>
</section>
<section id="slide-org399a495" data-background="./bCardBackground.png">
<h3 id="org399a495">Simplistic view 2/2 &#x2013; services</h3>
<section id="slide-org4adbb43" data-background="./bCardBackground.png">
<h3 id="org4adbb43">Simplistic view 2/2 &#x2013; services</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns">
<div id="orgeb3935b" class="figure">
<div id="org4b7cca7" class="figure">
<p><img src="structurizr-1-002-GenericSocial-02.png" alt="structurizr-1-002-GenericSocial-02.png" width="40%" />
</p>
</div>
@ -85,23 +87,23 @@ Boo!
</div>
</div>
</section>
<section id="slide-org3782a70" data-background="./bCardBackground.png">
<h3 id="org3782a70">More realistic view 1/4 &#x2013; overview</h3>
<section id="slide-org2595986" data-background="./bCardBackground.png">
<h3 id="org2595986">More realistic view 1/4 &#x2013; overview</h3>
<div class="e-frame">
<div id="org33a7cb3" class="figure">
<div id="orgc4ff576" class="figure">
<p><img src="structurizr-1-003-RealisticSocial-01.png" alt="structurizr-1-003-RealisticSocial-01.png" width="90%" />
</p>
</div>
</div>
</section>
<section id="slide-org6e7c56b" data-background="./bCardBackground.png">
<h3 id="org6e7c56b">More realistic view 2/4 &#x2013; basic services</h3>
<section id="slide-orga2df08a" data-background="./bCardBackground.png">
<h3 id="orga2df08a">More realistic view 2/4 &#x2013; basic services</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns">
<div id="orgcc7daf2" class="figure">
<div id="orgd65630e" class="figure">
<p><img src="structurizr-1-004-RealisticSocial-02.png" alt="structurizr-1-004-RealisticSocial-02.png" width="70%" />
</p>
</div>
@ -119,13 +121,13 @@ Boo!
</div>
</div>
</section>
<section id="slide-org38114eb" data-background="./bCardBackground.png">
<h3 id="org38114eb">More realistic view 3/4 &#x2013; the algorithm</h3>
<section id="slide-orgaee48ac" data-background="./bCardBackground.png">
<h3 id="orgaee48ac">More realistic view 3/4 &#x2013; the algorithm</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns">
<div id="org09bb742" class="figure">
<div id="org69ec8e9" class="figure">
<p><img src="structurizr-1-005-RealisticSocial-03.png" alt="structurizr-1-005-RealisticSocial-03.png" width="70%" />
</p>
</div>
@ -144,13 +146,13 @@ Boo!
</div>
</div>
</section>
<section id="slide-org9bdf383" data-background="./bCardBackground.png">
<h3 id="org9bdf383">More realistic view 4/4 &#x2013; content moderation</h3>
<section id="slide-orga8647d5" data-background="./bCardBackground.png">
<h3 id="orga8647d5">More realistic view 4/4 &#x2013; content moderation</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns">
<div id="org1cb03f2" class="figure">
<div id="org3b0659e" class="figure">
<p><img src="structurizr-1-006-RealisticSocial-04.png" alt="structurizr-1-006-RealisticSocial-04.png" width="100%" />
</p>
</div>
@ -172,28 +174,28 @@ Boo!
</section>
</section>
<section>
<section id="slide-orge44ce74" data-background="./bCardBackground.png">
<h2 id="orge44ce74">Federated social media services</h2>
<div class="outline-text-2" id="text-orge44ce74">
<section id="slide-orgad41de2" data-background="./bCardBackground.png">
<h2 id="orgad41de2">Federated social media services</h2>
<div class="outline-text-2" id="text-orgad41de2">
</div>
</section>
<section id="slide-org9a577a7" data-background="./bCardBackground.png">
<h3 id="org9a577a7">Federated services 1/8 &#x2013; overview</h3>
<section id="slide-org38b1172" data-background="./bCardBackground.png">
<h3 id="org38b1172">Federated services 1/8 &#x2013; overview</h3>
<div class="e-frame">
<div id="org5e45ba4" class="figure">
<div id="orga57c504" class="figure">
<p><img src="structurizr-1-007-FederatedSocial-01.png" alt="structurizr-1-007-FederatedSocial-01.png" width="75%" />
</p>
</div>
</div>
</section>
<section id="slide-orgb69e512" data-background="./bCardBackground.png">
<h3 id="orgb69e512">Federated services 2/8 &#x2013; internal, administration and content moderation services</h3>
<section id="slide-org220840e" data-background="./bCardBackground.png">
<h3 id="org220840e">Federated services 2/8 &#x2013; internal, administration and content moderation services</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns">
<div id="orga88c98c" class="figure">
<div id="org28dffa4" class="figure">
<p><img src="structurizr-1-008-FederatedSocial-02.png" alt="structurizr-1-008-FederatedSocial-02.png" width="70%" />
</p>
</div>
@ -214,13 +216,13 @@ Boo!
</div>
</div>
</section>
<section id="slide-org15b2c44" data-background="./bCardBackground.png">
<h3 id="org15b2c44">Federated services 3/8 &#x2013; federation 1</h3>
<section id="slide-org263cd7c" data-background="./bCardBackground.png">
<h3 id="org263cd7c">Federated services 3/8 &#x2013; federation 1</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 60%">
<div id="org311f8aa" class="figure">
<div id="org05f7137" class="figure">
<p><img src="structurizr-1-009-FederatedSocial-03.png" alt="structurizr-1-009-FederatedSocial-03.png" width="100%" />
</p>
</div>
@ -245,51 +247,51 @@ Boo!
</div>
</div>
</section>
<section id="slide-orgad94bf1" data-background="./bCardBackground.png">
<h3 id="orgad94bf1">Federated services 4/8 &#x2013; federation 2</h3>
<section id="slide-orgc7306f8" data-background="./bCardBackground.png">
<h3 id="orgc7306f8">Federated services 4/8 &#x2013; federation 2</h3>
<div class="e-frame">
<div id="org8d27a22" class="figure">
<div id="org9df0f59" class="figure">
<p><img src="structurizr-1-010-FederatedSocial-04.png" alt="structurizr-1-010-FederatedSocial-04.png" width="75%" />
</p>
</div>
</div>
</section>
<section id="slide-org8221162" data-background="./bCardBackground.png">
<h3 id="org8221162">Federated services 5/8 &#x2013; federation 3</h3>
<section id="slide-org075c52b" data-background="./bCardBackground.png">
<h3 id="org075c52b">Federated services 5/8 &#x2013; federation 3</h3>
<div class="e-frame">
<div id="org239cb08" class="figure">
<div id="org678c821" class="figure">
<p><img src="structurizr-1-011-FederatedSocial-05.png" alt="structurizr-1-011-FederatedSocial-05.png" width="75%" />
</p>
</div>
</div>
</section>
<section id="slide-org8005eff" data-background="./bCardBackground.png">
<h3 id="org8005eff">Federated services 6/8 &#x2013; federation 4</h3>
<section id="slide-org049d4e6" data-background="./bCardBackground.png">
<h3 id="org049d4e6">Federated services 6/8 &#x2013; federation 4</h3>
<div class="e-frame">
<div id="org8080e39" class="figure">
<div id="org0f1f5c2" class="figure">
<p><img src="structurizr-1-012-FederatedSocial-06.png" alt="structurizr-1-012-FederatedSocial-06.png" width="75%" />
</p>
</div>
</div>
</section>
<section id="slide-org44a52d8" data-background="./bCardBackground.png">
<h3 id="org44a52d8">Federated services 7/8 &#x2013; federation 5</h3>
<section id="slide-orge0823d2" data-background="./bCardBackground.png">
<h3 id="orge0823d2">Federated services 7/8 &#x2013; federation 5</h3>
<div class="e-frame">
<div id="org4d8eff7" class="figure">
<div id="org9439a7c" class="figure">
<p><img src="structurizr-1-013-FederatedSocial-07.png" alt="structurizr-1-013-FederatedSocial-07.png" width="75%" />
</p>
</div>
</div>
</section>
<section id="slide-orgee80194" data-background="./bCardBackground.png">
<h3 id="orgee80194">Federated services 8/8 &#x2013; federation 6</h3>
<section id="slide-org3f86b37" data-background="./bCardBackground.png">
<h3 id="org3f86b37">Federated services 8/8 &#x2013; federation 6</h3>
<div class="e-frame">
<div id="org667e94a" class="figure">
<div id="org6733f9f" class="figure">
<p><img src="structurizr-1-014-FederatedSocial-08.png" alt="structurizr-1-014-FederatedSocial-08.png" width="75%" />
</p>
</div>
@ -297,28 +299,28 @@ Boo!
</section>
</section>
<section>
<section id="slide-org230375d" data-background="./bCardBackground.png">
<h2 id="org230375d">Bluesky</h2>
<div class="outline-text-2" id="text-org230375d">
<section id="slide-org3bda0cb" data-background="./bCardBackground.png">
<h2 id="org3bda0cb">Bluesky</h2>
<div class="outline-text-2" id="text-org3bda0cb">
</div>
</section>
<section id="slide-orga5a9952" data-background="./bCardBackground.png">
<h3 id="orga5a9952">Basic Bluesky 1/2</h3>
<section id="slide-org1a96ca1" data-background="./bCardBackground.png">
<h3 id="org1a96ca1">Basic Bluesky 1/2</h3>
<div class="e-frame">
<div id="org98d6475" class="figure">
<div id="orge9ee9f3" class="figure">
<p><img src="structurizr-1-015-BlueskyBasic-01.png" alt="structurizr-1-015-BlueskyBasic-01.png" width="100%" />
</p>
</div>
</div>
</section>
<section id="slide-orgb7864f1" data-background="./bCardBackground.png">
<h3 id="orgb7864f1">Basic Bluesky 2/2</h3>
<section id="slide-org7ffed55" data-background="./bCardBackground.png">
<h3 id="org7ffed55">Basic Bluesky 2/2</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 70%">
<div id="orgccd97e0" class="figure">
<div id="orgba60da0" class="figure">
<p><img src="structurizr-1-016-BlueskyBasic-02.png" alt="structurizr-1-016-BlueskyBasic-02.png" width="100%" />
</p>
</div>
@ -339,18 +341,18 @@ Boo!
</section>
</section>
<section>
<section id="slide-org9a49751" data-background="./bCardBackground.png">
<h2 id="org9a49751">Bluesky &#x2013; Identities</h2>
<div class="outline-text-2" id="text-org9a49751">
<section id="slide-org6396db6" data-background="./bCardBackground.png">
<h2 id="org6396db6">Bluesky &#x2013; Identities</h2>
<div class="outline-text-2" id="text-org6396db6">
</div>
</section>
<section id="slide-orgf33e1e3" data-background="./bCardBackground.png">
<h3 id="orgf33e1e3">Bluesky Identities 1/4</h3>
<section id="slide-org1b31b9a" data-background="./bCardBackground.png">
<h3 id="org1b31b9a">Bluesky Identities 1/4</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 35%">
<div id="orgb4e3b8a" class="figure">
<div id="org73f4b15" class="figure">
<p><img src="structurizr-1-017-BlueskyIdentity-01.png" alt="structurizr-1-017-BlueskyIdentity-01.png" width="100%" />
</p>
</div>
@ -390,37 +392,190 @@ did:plc:avzdf5esd7xpbgsgh7lx4kzq
</div>
</div>
</section>
<section id="slide-orgd207d91" data-background="./bCardBackground.png">
<h3 id="orgd207d91">Bluesky Identities 2/4</h3>
<section id="slide-org1baca60" data-background="./bCardBackground.png">
<h3 id="org1baca60">Bluesky Identities 2/4</h3>
<div class="e-frame">
<div id="orga95c836" class="figure">
<div id="org7d8d5a4" class="figure">
<p><img src="structurizr-1-018-BlueskyIdentity-02.png" alt="structurizr-1-018-BlueskyIdentity-02.png" width="100%" />
</p>
</div>
</div>
</section>
<section id="slide-org5e49a33" data-background="./bCardBackground.png">
<h3 id="org5e49a33">Bluesky Identities 3/4</h3>
<section id="slide-orgebce57a" data-background="./bCardBackground.png">
<h3 id="orgebce57a">Bluesky Identities 3/4</h3>
<div class="e-frame">
<div id="orgb2410fb" class="figure">
<div id="org24dd312" class="figure">
<p><img src="structurizr-1-019-BlueskyIdentity-03.png" alt="structurizr-1-019-BlueskyIdentity-03.png" width="100%" />
</p>
</div>
</div>
</section>
<section id="slide-org649da93" data-background="./bCardBackground.png">
<h3 id="org649da93">Bluesky Identities 3/4</h3>
<section id="slide-org56cbb88" data-background="./bCardBackground.png">
<h3 id="org56cbb88">Bluesky Identities 3/4</h3>
<div class="e-frame">
<div id="org97e4d09" class="figure">
<div id="org5a7b5d8" class="figure">
<p><img src="structurizr-1-020-BlueskyIdentity-04.png" alt="structurizr-1-020-BlueskyIdentity-04.png" width="100%" />
</p>
</div>
</div>
</section>
</section>
<section>
<section id="slide-org0c5cce8" data-background="./bCardBackground.png">
<h2 id="org0c5cce8">Bluesky &#x2013; Feeds</h2>
<div class="outline-text-2" id="text-org0c5cce8">
</div>
</section>
<section id="slide-orga4e19d3" data-background="./bCardBackground.png">
<h3 id="orga4e19d3">Bluesky Feeds 1/3</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 70%">
<div id="org041552a" class="figure">
<p><img src="structurizr-1-021-BlueskyFeeds-01.png" alt="structurizr-1-021-BlueskyFeeds-01.png" width="100%" />
</p>
</div>
</div>
<div class="one_of_2_columns" style="width: 30%">
<ul>
<li class="fragment appear">Algorithmic feeds use an API</li>
<li class="fragment appear">Allows for independent feeds to be created by 3rd parties</li>
<li class="fragment appear">Users' default feed is <i>Following</i>:
<ul>
<li>A chronological feed of posts from those you follow</li>
</ul></li>
<li class="fragment appear">Users subscribe to other feeds. Examples:
<ul>
<li><i>Discover</i> &#x2013; posts that you may be interested in</li>
<li><i>Astronomy</i> &#x2013; Posts relating to astronomy</li>
<li><i>Quiet Posters</i> &#x2013; those you follow but who don't post very often</li>
</ul></li>
<li class="fragment appear">The <i>AppView</i> will read data from the independent feeds</li>
<li class="fragment appear">The feeds get relevant posts from the PDS</li>
</ul>
</div>
</div>
</section>
<section id="slide-orgbb3d261" data-background="./bCardBackground.png">
<h3 id="orgbb3d261">Bluesky Feeds 2/3 &#x2013; feeds as a separate application type</h3>
<div class="e-frame">
<div id="orgeb73970" class="figure">
<p><img src="structurizr-1-023-BlueskyFeeds-03.png" alt="structurizr-1-023-BlueskyFeeds-03.png" width="100%" />
</p>
</div>
</div>
</section>
<section id="slide-org2348787" data-background="./bCardBackground.png">
<h3 id="org2348787">Bluesky Feeds 3/3 &#x2013; Generic feeds</h3>
<div class="e-frame">
<div id="org486bb3e" class="figure">
<p><img src="structurizr-1-024-BlueskyFeeds-04.png" alt="structurizr-1-024-BlueskyFeeds-04.png" width="100%" />
</p>
</div>
</div>
</section>
</section>
<section>
<section id="slide-org79115e8" data-background="./bCardBackground.png">
<h2 id="org79115e8">Bluesky &#x2013; The AppView</h2>
<div class="outline-text-2" id="text-org79115e8">
</div>
</section>
<section id="slide-org70c253d" data-background="./bCardBackground.png">
<h3 id="org70c253d">Bluesky AppView 1/3</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 60%">
<div id="orgd349f8e" class="figure">
<p><img src="structurizr-1-025-BlueskyAppView-01.png" alt="structurizr-1-025-BlueskyAppView-01.png" width="100%" />
</p>
</div>
</div>
<div class="one_of_2_columns" style="width: 40%">
<ul>
<li class="fragment appear">The main application users interact with the <i>AppView</i>.</li>
<li class="fragment appear">The <i>AppView</i> consists of the application (web, mobile, etc.) and the API
<ul>
<li>3rd-party applications (web, mobile, bots) can be created</li>
</ul></li>
<li class="fragment appear">The application is only a part of the <i>AppView</i></li>
<li class="fragment appear">Implements the <i>lexicon</i> of the service
<ul>
<li>Converts the <i>data</i> in the PDS into the social media <i>information</i></li>
</ul></li>
<li class="fragment appear">Now implemented by Bluesky as a separate application</li>
<li class="fragment appear"><i>AppView</i> reads from the Feeds services, the Moderation services and the PDS itelf</li>
<li class="fragment appear"><i>AppView</i> writes new posts, reposts, likes, replies, etc. to the PDS</li>
</ul>
</div>
</div>
</section>
<section id="slide-org1294eab" data-background="./bCardBackground.png">
<h3 id="org1294eab">Bluesky AppView 2/3 &#x2013; A 3rd-party independent AppView</h3>
<div class="gridded_frame_with_columns e-frame">
<div class="one_of_2_columns" style="width: 60%">
<div id="org60af8ea" class="figure">
<p><img src="structurizr-1-027-BlueskyAppView-03.png" alt="structurizr-1-027-BlueskyAppView-03.png" width="100%" />
</p>
</div>
</div>
<div class="one_of_2_columns" style="width: 40%">
<ul>
<li>The main application users interact with the <i>AppView</i>.</li>
<li>The <i>AppView</i> consists of the application (web, mobile, etc.) and the API
<ul>
<li>3rd-party applications (web, mobile, bots) can be created</li>
</ul></li>
<li>The application is only a part of the <i>AppView</i></li>
<li>Implements the <i>lexicon</i> of the service
<ul>
<li>Converts the <i>data</i> in the PDS into the social media <i>information</i></li>
</ul></li>
<li>Now implemented by Bluesky as a separate application</li>
<li><i>AppView</i> reads from the Feeds services, the Moderation services and the PDS itelf</li>
<li class="fragment appear"><i>AppView</i> writes new posts, reposts, likes, replies, etc. to the PDS</li>
<li class="fragment appear">Third parties can also develop separate <i>AppViews</i> (the application and APIs) &#x2026;
<ul>
<li>Alternatives to Bluesky's own <i>AppView</i></li>
<li>Implement a new <i>lexicon</i> for, say, video sharing, long-form posts, etc.</li>
</ul></li>
</ul>
</div>
</div>
</section>
<section id="slide-orga1d1aae" data-background="./bCardBackground.png">
<h3 id="orga1d1aae">Bluesky AppView 3/3 &#x2013; Generic AppView</h3>
<div class="e-frame">
<div id="org59a3109" class="figure">
<p><img src="structurizr-1-028-BlueskyAppView-04.png" alt="structurizr-1-028-BlueskyAppView-04.png" width="70%" />
</p>
</div>
</div>
</section>
</section>
</div>
</div>
<script src="./reveal.js/dist/reveal.js"></script>

View file

@ -250,3 +250,87 @@
#+ATTR_HTML: :width 100%
file:structurizr-1-020-BlueskyIdentity-04.png
#+REVEAL_HTML: </div>
* Bluesky -- Feeds
** Bluesky Feeds 1/3
#+REVEAL_HTML: <div class="gridded_frame_with_columns e-frame">
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 70%">
#+ATTR_HTML: :width 100%
file:structurizr-1-021-BlueskyFeeds-01.png
#+REVEAL_HTML: </div>
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 30%">
#+ATTR_REVEAL: :frag (appear)
- Algorithmic feeds use an API
- Allows for independent feeds to be created by 3rd parties
- Users' default feed is /Following/:
+ A chronological feed of posts from those you follow
- Users subscribe to other feeds. Examples:
+ /Discover/ -- posts that you may be interested in
+ /Astronomy/ -- Posts relating to astronomy
+ /Quiet Posters/ -- those you follow but who don't post very often
- The /AppView/ will read data from the independent feeds
- The feeds get relevant posts from the PDS
#+REVEAL_HTML: </div>
#+REVEAL_HTML: </div>
** Bluesky Feeds 2/3 -- feeds as a separate application type
#+REVEAL_HTML: <div class="e-frame">
#+ATTR_HTML: :width 100%
file:structurizr-1-023-BlueskyFeeds-03.png
#+REVEAL_HTML: </div>
** Bluesky Feeds 3/3 -- Generic feeds
#+REVEAL_HTML: <div class="e-frame">
#+ATTR_HTML: :width 100%
file:structurizr-1-024-BlueskyFeeds-04.png
#+REVEAL_HTML: </div>
* Bluesky -- The AppView
** Bluesky AppView 1/3
#+REVEAL_HTML: <div class="gridded_frame_with_columns e-frame">
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 60%">
#+ATTR_HTML: :width 100%
file:structurizr-1-025-BlueskyAppView-01.png
#+REVEAL_HTML: </div>
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 40%">
#+ATTR_REVEAL: :frag (appear)
- The main application users interact with the /AppView/.
- The /AppView/ consists of the application (web, mobile, etc.) and the API
+ 3rd-party applications (web, mobile, bots) can be created
- The application is only a part of the /AppView/
- Implements the /lexicon/ of the service
+ Converts the /data/ in the PDS into the social media /information/
- Now implemented by Bluesky as a separate application
- /AppView/ reads from the Feeds services, the Moderation services and the PDS itelf
- /AppView/ writes new posts, reposts, likes, replies, etc. to the PDS
#+REVEAL_HTML: </div>
#+REVEAL_HTML: </div>
** Bluesky AppView 2/3 -- A 3rd-party independent AppView
#+REVEAL_HTML: <div class="gridded_frame_with_columns e-frame">
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 60%">
#+ATTR_HTML: :width 100%
file:structurizr-1-027-BlueskyAppView-03.png
#+REVEAL_HTML: </div>
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 40%">
#+ATTR_REVEAL: :frag (none none none none none none appear)
- The main application users interact with the /AppView/.
- The /AppView/ consists of the application (web, mobile, etc.) and the API
+ 3rd-party applications (web, mobile, bots) can be created
- The application is only a part of the /AppView/
- Implements the /lexicon/ of the service
+ Converts the /data/ in the PDS into the social media /information/
- Now implemented by Bluesky as a separate application
- /AppView/ reads from the Feeds services, the Moderation services and the PDS itelf
- /AppView/ writes new posts, reposts, likes, replies, etc. to the PDS
- Third parties can also develop separate /AppViews/ (the application and APIs) ...
+ Alternatives to Bluesky's own /AppView/
+ Implement a new /lexicon/ for, say, video sharing, long-form posts, etc.
#+REVEAL_HTML: </div>
#+REVEAL_HTML: </div>
** Bluesky AppView 3/3 -- Generic AppView
#+REVEAL_HTML: <div class="e-frame">
#+ATTR_HTML: :width 70%
file:structurizr-1-028-BlueskyAppView-04.png
#+REVEAL_HTML: </div>