この記事はFediverse Advent Calendar 第2会場、12/15分の記事です。

ご挨拶に代えて

はじめまして、ぷーざ(pooza)です。Fediverse Advent Calendarには今年で初参戦です。
普段は以下のMastodonインスタンスの管理人をしています。

また、以下のツールの開発者をしています。

自分のFediとの関わりは、2017年4月にFreeBSDで、個人インスタンス美食丼を建てたところから始まりました。
この美食丼を足がかりに、終の住み処として活動の幅を徐々に広げながら、現在に至っています。

自分の活動のモットーは 身の丈に合ったアウトプット です。
技術的にパッとしない自分は、Fedi全体のことを考えられる器ではないけれども、臆さずに自分を表現しアウトプットし続ければ、ごく少数の身の回りの方たちには拠り所や楽しみを提供することが出来る。
「正義よりは身近な隣人を守る」のがプリキュアのヒロイズムですが、それと良く似ているかも知れません。身の丈に合ったアウトプットを愚直に続けることで、自分は最終的にはFediに貢献していけるのだと考えています。

2023年は活動の枠をもうひとつ広げていきます。量的な拡大はこれが最後で、それ以降は活動の質を高めてゆくことになると思います。
かような目標を踏まえて、この記事では活動の振り返りや抱負について、盛大に自分語りをしていきます。他人の自分語りが嫌いな諸兄は回れ右で。そこんとこ夜露死苦です。

キュアスタ!

キュアスタ!はプリキュアシリーズのファンの為のMastodonインスタンスです。デフォルトハッシュタグは #precure_fun
このインスタンスもMastodonブームの2017年4月に作られ、美食丼同様、5年以上の歴史があります。2019年6月に2代目管理人として、鴉河雛さんから管理を引き継ぎました。

活動は実況中心。ニチアサの本放送だけでなく、各種ネット配信やDVD/BD発売記念の上映会とか、プリキュア声優さんの生誕祭なども実況で。
概ね毎日、何かしらの実況をしています。

また、「キュアソード本人を自称するニセモノ」という設定の、MAKOTOという拙作チャットボットがいます。通称は「真琴さん」。
先日正式に、キュアスタ!の公式マスコットになりました。キュアスタ!外部のフォロワーのほうが既に多くなっていて、特に学タブ勢に楽しんでもらえている様です。

デルムリン丼

デルムリン丼は、「ドラゴンクエスト ダイの大冒険」のファン向けのMasotodonインスタンスです。デフォルトハッシュタグは #delmulin 、通称「デル丼」。2021年3月に私が作成した、まだ2年経ってない新しめのインスタンスです。 (設立時の挨拶
このインスタンスは、 原作既読勢がネタバレ投稿出来る場所を という目的で作られました。実況中心のキュアスタ!よりは「語る」傾向の強いインスタンスで、私もデル丼への発表を目的に、各話1,000文字前後の感想を書いていました。

2年間の放送が終わり、ネタバレ投稿の受け皿という役目は終えましたが、ダイ大好きが集まるコミュニティとしてはまだまだ働いてもらうつもりであり、今もゆるく存続しています。
ダイ大には「魔界編」という、続編の噂もありますからね。その時が来ることを信じて、また働いてもらいます。

mulukhiya-toot-proxy

ここから本題です。

モロヘイヤ?

キュアスタ!デルムリン丼を機能面で支えているのが、拙作mulukhiya-toot-proxy(通称モロヘイヤ)です。
これは何かというと、Mastodonインスタンスに様々な機能を、原則的には無改造で加えるツールです。追加できる機能は多岐に渡っていますが(概要)、とりわけ、投稿に各種のハッシュタグを加える機能を最重要のミッションと位置づけています。
また、最初はMastodonインスタンスのみを対象にしていましたが、MisskeyPleromaめいすきー(Misskey v10のフォーク)と、対応プラットフォームを順に拡大していきました。

プロキシ?

モロヘイヤの大きな特徴は、このツールがプロキシサーバの一種であること。
ユーザーからの投稿(トゥート、ノート等)をMastodonやMisskey等のサーバに届く前に一旦預かり、ハッシュタグの追加等の加工を加えてから、目的のサーバに投稿し直すのがモロヘイヤの基本的な動作です。
サーバから見れば、モロヘイヤはスマホアプリの一種であるかのような振る舞いをします。この様な、ユーザーからの投稿を代理して行う機能をプロキシ(代理)と呼んでいるわけです。

正直なところ、こうしたプロキシの形態をとったのは、実現したい機能を実現する設計上のセオリーを知らなかったり、Mastodonの本体改造を行うことに技術的なハードルを感じていたり等です。
つまり、当初はあまり前向きな理由ではなかった気がします。

コンフリクト?

このプロキシという形態は、運用の観点から優れた特徴を持っていたことが、後から図らずもわかってきました。
Mastodon等への機能追加は、多くの場合はそのプログラムを直接修正することによって行いますが、この方法だとMastodon等のアップデートが発生した時に、改造部分と新機能の共存を行う為に追加の作業を行わなければならないことになります。それだけでなく、共存自体が困難なケースも多々あります。

この様に、ひとつのプログラムに複数の開発者が修正を加えた為にプログラムの矛盾が起きることをコンフリクトと呼んでいます。
プロキシは本体への修正ではない為に、コンフリクトを起こしません。

私はMastodonの運用を5年以上続けていますが、Mastodonの新バージョンの適用を、リリース一両日の間に終わらせられなかったことは一度もありません。Mastodonの新機能を、キュアスタ!デルムリン丼のメンバーたちにオンスケで届け続けています。
しかし、これは大したことではなくて、プロキシの恩恵によるところが多いはずです。

モロヘイヤの機能、自動タグづけ

当初は特に目標を持たず、無軌道に機能追加していたと思います。
しかし、キュアスタ!を対象とした機能追加を続けるうちに、「このツールは主に、アニメのテーマインスタンスに共通する問題を解決しているのではないか?」と思う様になりました。
また、そう気付いてからは、アニメのテーマインスタンスに特化した機能に特化した実装を積極的に行う様になりました。

上で述べたように、モロヘイヤの最重要の機能と位置づけられているのはハッシュタグの操作です。
実現している機能のひとつデフォルトハッシュタグは、Mastodonの文化として元々存在した既存の概念であり、私はそれに乗っからせて頂いただけだから説明を省くとして。キーワードから本文末尾にタグを追加する自動タグづけ機能は、設計実装の全てを私が行った独自機能です。(もっとも、似た機能を持ったインスタンスが存在していたことを後から知りましたが)

これは、劇中の用語が本文中に含まれていたら本文末尾にそのハッシュタグを追加する機能で、必要に応じて複数追加することもできます。
例えば、本文中に キュアブラック というワードがあったら、 #キュアブラック はもちろん、キュアブラックの本名 #美墨なぎさ のタグと、担当声優である #本名陽子 さんのタグも加えられます。

また、辞書はサーバサイドプログラミングの経験者であれば容易に作ることが出来る簡単なJSON形式のもので、モロヘイヤはこうした外部のJSON形式の辞書を複数マージして、そのインスタンスに必要な変換ルールを自在に定義することが出来ます。
辞書の構造が単純なので、ユーザー参加で辞書登録を行う仕組みをつくることも容易です。(私はGoogleスプレッドシートから辞書を作っていますが)

アニメ作品の世界観を語る時に、固有名詞・用語の類いを軽視するファンは居ないはず。
そう考えれば、 この自動タグづけ機能は、オタクの本能そのものの様な機能なのではないか? と気付いて、その時は我ながら、目から大量のうろこが落ちました。

アニメ圏?

また、プリキュアとダイ大の両方に出演する声優さん(例えば早見沙織さんとか、小原好美とか、小松未可子さんとか)のタグが、それぞれの作品の話題がブレンドされた興味深いタイムラインになるという発見もありました。
キュアスタ!デルムリン丼以外のテーマインスタンスにも自動タグづけ機能が普及すれば、作品間を横断してアニメの情報を追うことができる「アニメ圏」とでも言うべき空間が、Fediverseに実現するのではないでしょうか。 それが今の私の「身の丈に合った」夢です。

そして、capsicum

少し前から、Mastodonクライアントを書き始めました。
少し話は逸れますが、キュアスタ!には実況支援の機能があります。(実況中番組の各種タグを投稿に追加)
ユーザー共通の悩みとして、この機能に対応したスマホクライアントが世にない為に、実況を行う環境がPCに限定されがちという問題がありました。

実況対応だけでなく、モロヘイヤの独自機能にフル対応したスマホクライアントが望まれていたという背景は元々あったのです。そのクライアントに、私はcapsicumという名前をつけました。
2023はcapsicamをリリースする年としたい。そしてゆくゆくは、「アニメ圏」を実現したい。

そんな来年の抱負と、未来への展望でこの記事を締めくくらせて頂きます。ご静聴ありがとうございました。

なんか色々
!iroiro
Create a post

分類に縛られないなんでもネタを。

  • 0 users online
  • 1 user / day
  • 1 user / week
  • 2 users / month
  • 6 users / 6 months
  • 19 subscribers
  • 125 Posts
  • 107 Comments
  • Modlog