Budae Jjigae - ActivityPub Message Rejection Facility in Rust
『ActivityPub』
Hollo
『ActivityPubとその周辺技術についてざっくりと知る』
Fedify
あれ
脳内の何かが「ITエンジニアならActivityPub対応ソフトウェアぐらい自作したらどうだ」って私に言ってくる
Deliverse
ActivityPubでつながるデライトサーバー群というアイデア・憧憬。
セルフホスティングされた複数のデライトサーバーがActivityPubでつながる。
プロトコルがAcitivityPubである必然性は無く、独自プロトコルでも良い。
あれ
『t_wの輪郭』をActivityPubに対応させたらフォロワー増えてブワーって拡散しねぇかなぁ。しねぇだろうなぁ。
最近Mastodonが投稿の編集(Update Activity)に対応したので、自動で配信すると書いてる途中で保存したものが配信されてしまって不格好になる
という問題は解決できそうな気がしている。
と思ったけど、ほかの実装(Misskeyなど)もこれに対応していないといけないのか。ちょっと微妙だな。
MisskeyのUpdate Activity対応について調べてみると『Editing notes』というIssueが立っているが優先度が低く設定されている。RemoteのUpdate Activityには対応しそうな雰囲気はある。
デライトのActivityPub対応
Update Activity
Fediverse
Misskey紹介文
なぜMisskeyを使うのか WHY
デジタル化社会といえど、感情が0と1である必要はありません。いいね押し込まれ、画一化したリアクションは、すれ違いを生み出しがちです。
断裂し、すれ違い続けるデジタル空間の中で、多様な絵文字によるリアクションが、コミュニケーションが、Misskeyが今あなたに必要なSNSです。
Misskeyの始め方 HOW
Misskeyはインスタンスと呼ばれる空間に分かれています。まずは join.misskey.page から、インスタンス一覧を見て、どのインスタンスに行きたいかを決めましょう。
どのインスタンスに行きたいか決まりましたでしょうか。それでは登録に進みましょう。
登録に必要なのはID、パスワード、インスタンスによってはメールアドレスも必要です。それらを入力して送信すれば登録は完了です。Misskeyへようこそ。
登録できたら他の人の投稿を見てみましょう。画面上のボタンからタイムラインを切り替えることができます。
左から、「ホーム」「ローカル」「ソーシャル」「グローバル」となっています。
「ホーム」はフォローしている人の投稿だけが見られます。「ローカル」はインスタンス内の人の投稿だけが見られ、「ソーシャル」はフォローしている人とインスタンス内の人の両方が見られます。「グローバル」は他のインスタンスを含めた投稿が表示されます。
あなたも投稿をしてみましょう。まず書き込みボタンを押して入力欄を開きます。顔のアイコンのボタンを押して絵文字を選択すれば、それを入力することができます。あとは送信すればみんなに届きます。もちろん絵文字だけではなく文字も送ることができます。
他の人の投稿にリアクションをしてみましょう。投稿のプラスボタンを押して絵文字を選べば、リアクションができます。リアクションをすれば相手にそのリアクションが通知として伝わります。
Misskeyについて WHAT
Misskeyは分散マイクロブログSNSと呼ばれています。
分散はインスタンスが分かれていても相互に投稿が見られ、リアクションやリプライなどのやり取りができることを表しています。インスタンス同士がやり取りする方法を、「ActivityPub」と言います。
マイクロブログSNSというのは短文の投稿でやり取りすることを表していますが、数千字の投稿をすることもできます。
Misskeyに似たソフトウェアとしてMastodonやPleromaがあります。これらもMisskeyのインスタンスとActivityPubを通してやり取りができます。Mastdon・Misskey・PleromaなどのインスタンスがActivityPubを通してつながるエコシステムを、Fediverseと呼びます。
Misskeyの開発はしゅいろ氏が主要な開発者としてオープンソースで進められています。あなたにソフトウェア開発の能力が十分にあれば、開発に参加することもできるでしょう。
『t_wの輪郭』をActivityPubに対応させる
あれ
デライトのActivityPub対応にはまた別の問題もあって,デライトは投稿内容=輪郭を自由に更新できるけど,ActivityPubによるSNS実装の多くは投稿内容の編集ができない場合がかなり多い,というかSNSを銘打ってる実装で投稿内容を弄れるのを知らない。実質的に「削除して再投稿」するしか方法がないのが現状。
ActivityPub規格自体には「更新」「編集」に相当する操作を連合宇宙で遣り取りする "Update Activity" というのは実在するんだけど,これと既存のSNSの枠組みの相性が悪い(なぜなら,繰り返すけど既存のAP対応SNS実装にそういう機能が存在しない為)。
編集内容を更新ごとに別のURLで参照できるようにして,言及 (投稿に対する@付きtoot/noot) やboost/renoteの対象をその時点のもの(利用者がそのtoot/note/...を閲覧したその時刻におけるtoot/note/...)にしたりするような配慮も必要になってくる。
変更されないことを期待してるrepostとかlikeとかのリアクションが変更後にも残ることを危惧する考えがあるので現行のSNSっぽいやつには投稿のUpdateは期待できないかもしれない。change logが要る
https://pl.kpherox.dev/objects/af6606d3-16b1-4079-ad0b-960fce7a9bea
CreateとUpdateを全部残してAnnounceやLikeの時間と突き合わせてAPIでそのNoteのrevisionを取得できるようにしてようやく安心?
https://pl.kpherox.dev/objects/705ff8f8-9673-40cb-8c7b-cbe47acfa0ff
YouTubeのeditedの表示ぐらいでいいならflagつけるだけでいいけど変更前どうなってたのってなる
https://pl.kpherox.dev/objects/87b41e09-5475-406a-b0d2-3a8fb42e65e5
ツイストの連合宇宙版みたいなことをやればよさそう(?)(検討中)
- コピペだと手間がかかる
- 引き入れや輪結などが継承されないのがもったいない。
- 自動化して全輪郭をActivityPubに流し込むとノイズになってしまう。
- 連合宇宙で可能な表現とデライトで可能な表現が重なっていることしか書けなくなってしまう。(気持ちの面で)。
- マストドンに投稿を投げるブックマークレットやブラウザアドオンは簡単に作れそう
■連合宇宙→デライト:
- 連合宇宙で可能な表現⊂デライトで可能な表現 なので、連合宇宙で書いたことをデライトに転送すればよさそう。
- デライト側にいい感じの書き込みAPIがない
「PeerTubeはW3Cの新しいウェブ標準であるActivityPubプロトコルを使用して、Hubzilla、マストドン、diaspora*(英語版)などの他のサービスとの分散化と互換性を可能にしている。」
「https://ja.wikipedia.org/wiki/PeerTube」