可変感情可変予定制御

街歩きブログになりつつあるなにか

Blueskyのススメ

イーロン・マスクによる買収後、改悪と荒廃が進むTwitter→X。先日はドメインtwitter.comからx.comに移行し、表面上Twitterの名残はなくなってしまった。Xの何が不満かなど、もはや説明するまでもないだろう。そんななかで最近住み着いているのがBlueskyである。ただし、肌感覚としては思っていたより移住者が少なく定着しない。Blueskyの真価が理解されれば定着率も上がるのかなと思い、半年間触って得た知見を書き綴ってみることにした。

無関係の青空

AT Protocol

BlueskyはAuthenticated Transfer Protocol(AT Protocol, atproto)を使用した分散型SNSである。分散型SNSといってもActivityPubを使用したSNS(Mastodon, Misskey)とは少し毛色が異なる。プロトコルに関してはまだまだ知識不足な点が多いので間違い等あるかもしれないが、自分の認識を軽く解説しておく。

ActivityPub

ActivityPubでは独立したインスタンス(サーバー)が相互に通信を行って連合を形成する。(上記画像はFediverseのイメージ図でActivityPub以外のプロトコルも含まれている) 
プロトコルの仕組み上、自分の所属するインスタンスに関係のない情報が取得できないという欠点がある。たとえば、投稿に対する反応の数が不正確だったり、各インスタンスを横断した検索はできない(そういうサービスが作られれば別だが)といったことが挙げられる。また、一度決めたIDやドメインは変更できないといった問題もある。

AT Protocol

シンプルなActivityPubと比較するとAT Protocolは複雑な仕組みをしている。語弊を恐れずいえば、SNSを構成する部品が分散しているといった感じだろうか。各PDS(Personal Data Store)に投稿されたデータはリレーによって集約されるため、単一のSNSのような使い勝手を実現している。Bluesky公式が運営するリレーを使用することが前提となっているが、もちろん別に立てることも可能とのことだ。


「!jazbot whereami」と投稿するか、TOKIMEKIで「開発者向け情報を表示」をオンにすると所属するPDSが確認できる。どうやら初期はbsky.socialだったらしいが、きのこの名前をサブドメインにしたPDS群(***.us-east.host.bsky.network)に分散されたらしい(未確認情報) ちなみにpuffballはホコリタケを指す(ホコリタケってなんだ?)

AT Protocolでは、DID(Decentralized Identifier, 分散型識別子)を採用しているのも特徴だ。内部的な永続的なIDが使用されるので、ハンドルを自由に変更することが可能となった。また、おもしろいことにハンドル(ID)には自由にドメインを指定できる。つまり自分のドメインを指定すれば、それが本人の証明となるわけだ。認証マークが課金マークに成り下がったSNSとはエラい違いだ。

カスタムフィード

Blueskyではいわゆるタイムライン(TL)をフィードと呼ぶ。フォロー中(Following)の他にも、Xでのおすすめに当たるDiscoverや、条件抽出された投稿を集めたカスタムフィードなどが多数存在する。

SkyFeedを使用すれば、自分で簡単にカスタムフィードを作成することもできる。

作成したカスタムフィードの一部。

アルゴリズムの一部。
3日分の全投稿を収集→日本語以外の投稿を除外→正規表現で抽出→正規表現で除外→モデレーションリストのユーザーを除外
という流れで作成している。

サードパーティークライアント

BlueskyはAPIが公開されており、サードパーティークライアントの開発も盛んだ。Twitterの悪いところを真似したのか公式のものは使いづらいので、おすすめのクライアントを紹介する。

現状OAuthが実装されておらず、パスワードによるログインとなるため、サードパーティークライアントにログインする際はアプリパスワードを発行して使用することが推奨される。

PC(ブラウザ)

どちらもTweetDeckライクなクライアント。気に入ったほうを使うべし。
deck.blueは最初の読み込みがちょっと遅い...。

Android

公式と比べてカスタマイズ性や操作性に優れたクライアント。

Mastodonユーザー向け

Mastodonクライアントを使用するためのプロキシ。Twidere、Elkで動作確認済み。TwidereではMastodonとのクロスポストが可能。カスタムフィードは未対応なほか不具合もある。

Bridgy Fed

分散型の仕組みを利用してなんとActivityPubに対応させたのがBridgy Fedだ。

Blueskyからは@ap.brid.gyを、Fediverseからは@bsky.brid.gy@bsky.brid.gyをフォローすることによって、BlueskyとActivityPubに対応したSNSがActivityPubで接続できるようになった。

逆に言えばアカウントの持ち主が許可をしなければ、投稿が配送されることはない。Fediverseに参加するかどうかを選択できるのはよい仕組みだと思っている。


Bluesky内のボットをMastodonから見るとこんな感じ。
まだベータ版とのことなので課題点も見られる。