kmyblueとMisskeyの違い

あすかです。
kmyblue一周年ということで、全然関係ないけどなんか書いてみました。


はしがき

最近kmyblueがどこかで話題になってるらしいとのことで、実際にkmyblueでサーバー建てる方もいくらかいらっしゃいます。
kmyblueには2つの意味があって、サーバーとしてのkmyblue(https://kmy.blue/ )、そしてもう1つ、Mastoodnフォークとしてのkmyblueです。こちらのほうは、誰でも自由にサーバーを建てることができるよう整備してあります。この記事は、そういう、kmyblueでサーバーを建てたい人を対象に想定しています。

でもkmyblueって知ってる人そんな多くないですし、実際に使ってみた、使い勝手を知ってる、っていう人はもっと少ないんじゃないでしょうか。そういうのは多くても2~3000人くらいしかいないはず。
それもそのはずで、kmyblueの旗艦となるサーバーってテーマ系で、登録できる人が限定されています(一応それ以外の人も登録はルール上可能です)。

Misskey方面で安易にSharkeyやIceshrimp建てる方散見されますけどね、あれはFirefishやMisskeyをあらかじめ使っていて、使い勝手が分かっているからいいんです。

新しいサーバーを建てるときに、kmyblueをMisskeyに似ているからと安易に選んでしまうのはちょっと単純だというふうに思っています。kmyblueはあくまでMastodonです。本質的には、MisskeyからMastodonへの移行であるという事実が変わることは絶対にありません。

本気でMisskeyとkmyblueを比較するなら、それはもうMisskeyとMastodonの比較になります。この記事はそうではなく、単純に移行考えている人向けの雑な機能紹介にとどめます。

いやあすかこういう話やりだすとネガティブになっちゃうんです、Misskey使ってた人が果たしてkmyblueになじめるか不安なとことが多いです。何でMisskeyから来られる方にこだわってるかというと、実際におられるんですよ、Misskeyにいるのにkmyblueサーバー初見で建てちゃった人。実際の使い勝手はその人に聞くのが一番で、実際に好意的な記事を書かれている方もいらっしゃいます。
実際にそういう人がいらっしゃるのに開発者があえて否定的な見解を述べるのは、自分の作るソフトウェアの方針を見失いたくない、大衆迎合的なプロジェクトになって自己撞着したくない、方針の再確認、というのがあります。簡単に言えば、kmyblueを建てたいと本気で思っているのなら、あすかの言うことは聞かないほうがいいです
そういうこともあって、今回はあまり掘り下げた話はしたくないと思ってます。

この記事は、対象読者の性質上、本家Mastodonには存在しない機能がそこにあって当たり前かのように書いています。ですので、MisskeyとMastodonの比較としては見ないでください。例えばブックマーク分類機能は本家Mastodonにはありません。

絵文字リアクション

kmyblueは、サーバー全体で絵文字リアクションが無効になっている場合があります

kmyblueといえば絵文字リアクションですよね、実はこの機能、kmyblueであれば必ずあるというわけではないです。管理者が設定で無効にできます。
kmyblueの概要画面の下の方にこういうのありますけど、(※バージョン11の表記です。10以前は「絵文字リアクション」が「スタンプ」になってます)、ここで登録する前にこのサーバーで特定の機能が使えるか確認できます。
もっともkmyblue建てる理由に絵文字リアクション挙げる方も多く、現時点で無効にしてるサーバーは確認できてませんが、気になるところは一回見たほうがいいです。

kmyblueは、1つのアカウントが1つの投稿に複数の絵文字リアクションをつけられます

こんな感じで本当に複数つけられます。デフォルトでは1人3つまでです。

kmyblueは、他のサーバーからつけられた絵文字に相乗りできます

Fedibird(多分glitch-soc)も同じ仕様ですと言ったら通じる人もいそうですが、例えばkmyblueにmisskey.ioの方がioのカスタム絵文字使って絵文字リアクションつけます。kmyblueの人は、そのカスタム絵文字で絵文字リアクションつけられます。kmyblue自体にそのカスタム絵文字が登録されていなくても、絵文字リアクション自体ができるんです。

Misskeyで例えると、Misskeyの投稿で他の人がつけた絵文字リアクションをクリックすることで自分も同じ絵文字つけられるんですけど、たまにクリックできない絵文字ありますよね、それです。それがkmyblueやFedibirdでは全部クリックできるようになっています。

kmyblueは、絵文字を拡大表示する設定が存在しません

Misskeyにはありますよね、1つの絵文字に大量の文字を細かく詰めるやつ。あれは絵文字の拡大表示設定できるのが前提になっています。
kmyblue(Webの話であり、サードパーティアプリ経由で可能になったりする)では、この設定を作る予定はないです。

そもそも絵文字は本文を補助する役割でしかなく、絵文字そのものを文章の主人公にすべきではないと思ってます。kmyblueはMastodon同様、文章を主体にするSNSでありたいと思ってます。
絵文字には文字以外にも、フォント、色、絵など様々な情報を詰め込むことができます。通常の文章の一部としてそれが混ざるとノイズになって、ノイズというのはちょっと違うかな、視線移動が増えるんです。普通の文章を読むときには不要な視線移動が発生します。それで疲れを感じます。読みづらくなります。あともう1つ、そういうので画面が騒がしくなるのも、そういうコミュニティがあるのは否定しませんけど、Misskeyよりもプライバシーを気にするkmyblueの肌には合わないと思っています。

Misskeyでは、これをユーザー単位で設定できます。一見ユーザー個人の自由に見えますけども、こういう設定が存在するという事実そのものが、管理者にそういう絵文字を登録させることに繋がります。結局みんな合わせなくちゃいけなくなるんで、この設定の意味自体があまりないんじゃないかというのもあります。

kmyblueは、カスタム絵文字にエイリアス名、ライセンスを設定でき、他サーバーと共有します

本家Mastodonではできませんけど、kmyblueではカスタム絵文字を絵文字ピッカーから検索する時のキーワードを複数登録できます。日本語もOKです。

※画像はバージョン11のものであり、5.x LTSではエイリアス名しか設定できない上に分かりづらいUIになってます

Misskeyと違うところは、この情報、他サーバーに送信します。対応しているサーバー(kmyblue・Fedibird)であれば、このライセンス情報を管理者は任意のタイミングで確認でき、可能であれば自分のサーバーに取り込むこともできます。管理者がわざわざ相手サーバーの絵文字のライセンス確認しに行く必要がないのはメリットですが、現実的には世の中Misskeyの絵文字が大部分なので結局手間はほとんど変わらないというのが難点です。

もっとも、現在ライセンス情報は管理者にしか確認できない状態です。ここはMisskeyと違います。改善するつもりはありますが、当面は管理者自身にライセンスを告知してもらうくらいしかありません。

kmyblueは、カスタム絵文字を一括登録できません

Misskeyの管理画面なんて見たことがないので自分は疎いんですが、他の人から指摘されたことがありまして、手元に画像を持っている場合のカスタム絵文字の一括登録がWebからはできません。一応他のサーバーから一括で取ってくる、tootctlから登録する方法なら可能です。

kmyblueは、投稿に絵文字リアクションをつけられる人をフォロー関係単位で指定します

Misskeyでは、センシティブなカスタム絵文字を用いた絵文字リアクションを自分の投稿につけられないようにする設定が可能です。Misskeyにおいて、悪い絵文字リアクションが存在するとすれば、それはカスタム絵文字に問題があると考えているようです。
kmyblueはそうではなく、絵文字リアクションをつけた人に問題があると思っています。理由は話したらめっちゃ長くなるのですが(去年話題になったやつ)、普段なにげなく使っている絵文字でも使いようでは悪意を持たせることができる、って感じです。

こんな感じで指定できます。

ただし、ActivityPubのややこしいところですが、この設定をしても、他のサーバーから絵文字リアクションをつけることができます。それが設定した人のいるサーバーに届かなくなるだけです。あくまで投稿者の精神的負担を減らすところにしかフォーカスしていません。
ただ現在は『リモートの投稿に実際につけられた絵文字リアクションを全て確認するには、相手サーバーの投稿ページへ飛ぶ必要がある』という状況になっていますので、少しは軽減になりそうな気はします。

この設定はkmyblueであれば連合対応してますので、同じkmyblueサーバーの人や他のkmyblueの人からは「あ、この人には絵文字リアクションつけられないんだな」というのが分かります。画面表示に反映されます。

この設定と、下で書いてる「絵文字リアクション機能を使用する」を組み合わせれば、(絵文字リアクション有効の)kmyblueにいるのに自分の視界には絵文字リアクション機能が存在しない(設定画面にはさすがに残ってるけど許して)、ということも可能です。

その他の絵文字リアクション設定

こういうのもあります。

kmyblueに絵文字デッキ(リアクションデッキ)は存在しますが、デフォルトでは、最近使った絵文字の履歴と混ざって表示されます。純粋に自分のデッキだけ表示したい場合、別途設定する必要があります。

絵文字リアクションに対応していないサーバーから絵文字表示を隠す設定、これわりと評判はいいです。例えばmstdn.jpは絵文字リアクション対応してないサーバーなんですけど、そういうところに絵文字送っても相手には届かないんです。自分の気持ちが相手には届かない。そういうところがひと目で分かるようになります。
(先述した『サーバー全体で絵文字リアクションを無効にしているkmyblue』も識別可能です。ただし、現在無名のMisskeyフォークが大量に出てますけどそれにはさすがに対応できないです。そういうところはNodeInfoの「metadata.features」に「emoji_reaction」を追加すれば自力で対応できます。無名でないところはソフトウェア名で判別するので上記プロパティは見ないですが、見てほしいのならご連絡ください)

タイムライン

kmyblueは、公開タイムラインの引用をデフォルトで表示しません

※引用機能はバージョン7で搭載されたもので、5.x LTSには存在しません

ここでの公開タイムラインとは、ローカルタイムライン、連合タイムラインという、自分がフォローしていないアカウント・興味のないアカウントの投稿が平然と流れる可能性のある場所をさします。

引用って、普通に引用として使う以外にも、例えば晒し上げ、批判などの文脈で使われることがあります。そういうのが嫌いな人はそれをやらない人だけをフォローしてホームに流すことになりますが、公開タイムラインでは引用を過激な使い方する人が混じっているかもしれませんので(隣人は選べません)、それが不意に目に入るようなことを避けたいというのが理由です。

他にも、サーバーによってルールが異なりますよね、画像や文章にNSFW・CWを設定する基準が異なる場合もありますが、自分のサーバーの基準が他のサーバーより厳しいとき、引用はそれを貫通するものと見なされます。自分が好きなアカウントを集めているホームならNSFWのない投稿が引用されてもある程度は大丈夫ですが、そうじゃない公開タイムラインでは大丈夫じゃない投稿が流れてくるかもしれない‥‥という理由もあります。

登録したばかりのユーザーは、デフォルトでこの設定の真ん中のところだけチェック入っていません。公開タイムラインで引用を表示したい場合、手動でチェック入れる必要があります。

kmyblueは、公開タイムラインでブーストを表示しません

引用と大体理由は似ていると思います。Misskeyでは普通に流れるので、例えばRN直後に感想の投稿があっても何に対しての感想か分かりやすいようになっているのですが、kmyblueはそうではありません(kmyblueというよりMastodonの仕様です)。

kmyblueは、ワードミュート(フィルター)が引用の内容にも適用されます

ついでに自分がブロックしている相手の投稿を他の人が引用したものも表示しない機能があります(デフォルトでON)。

フィルターと言えば、最近Misskeyがソフトミュートだけになってしまったという話を聞きますが、kmyblue(というかMastodon全体)は、ハードミュート相当の機能はまだ残っています。

一番下がハードミュート相当です。一番上がMisskeyのソフトミュートに近いですが投稿者のアイコンは表示されます。真ん中は誰が投稿したのかわからない状態になりますが、表示や表示に使われるスペース、要するに表示画面イメージはMisskeyのソフトミュートに最も近いです。

リスト

kmyblueは、フォローしていないアカウントをリストに登録できません(プロキシアカウントは存在しません)

これはkmyblueというよりMastodonの話になります。Mastodonは連合を重視しています。詳しく話すと長くなりますが、とにかくそういう仕様にしなければいけない理由があります。
プロキシアカウントは連合重視という観点からは、感覚に合わないので作っていないです。

kmyblueは、リストに登録したアカウントの投稿をホームに流さない設定があります

「ホームからリスト・アンテナに登録されたアカウントの投稿を非表示にする」をONにすると、このリストに登録したアカウントの投稿はホームに流れません。大量にフォローしている時、アカウントの分類と同時に自分にとって心地よいホーム構築に役立ちます。

アンテナ

kmyblueは、アンテナをリストに関連付けることができます

アンテナは単体でも使えますが、流す先のリストを設定することでそのリストから閲覧できます。
Mastodonのクライアントアプリの中にはリストに対応するものもありますが、アンテナに対応しているものはありません(kmyblue独自機能のため)。リストに関連付けることで、アプリからも見ることができるようになります。
また、1つのリストに複数のアンテナを関連付けることもできます。この場合、複数のアンテナで検出された投稿を、1つのリストでまとめて見ることができます。

現状、アンテナの新着投稿通知機能はありませんが、リストに関連付けることでリストの通知機能を利用できます。

kmyblueは、「アカウント+キーワード」以外の条件を指定してアンテナを作成できます

「アカウント」「ドメイン」「キーワード」「ハッシュタグ」の4種類があり、これらの中から最低1つの条件を設定すればアンテナとして機能します。
ただし「アカウント+ドメイン」/「キーワード+タグ」の組み合わせは意味がないため推奨していません。実質的にはこの中から最低1つ、最大で2つ選んでいただくことになります。(下の画像の場合、threads.netの公開投稿が全部かかります)

また、これとは他に除外条件もサポートします。除外条件も同様に、アカウント、ドメイン、キーワード、タグを設定できます。

サークル

kmyblueは、フォロワーの中でも一部の人だけに見える公開範囲があります

「サークル」といいます。

「ダイレクトメッセージ」と似ていますが、大きな違いは、通常の投稿と同様に普通にホームタイムラインに流れることです。投稿するたびに相手に通知は行きません。
「フォロワーのみ」投稿をより発展させたものです。Twitterに前あったサークル機能と言えば伝わるでしょうか。あらかじめサークルを作成し、好みのフォロワーを登録して、投稿時にそのサークルを指定するだけです。

残念なことに、このサークル投稿は現在、kmyblue・Fedibirdの他には最新バージョンのMastodon、misskey.ioにしか届きません。それでも、コアな話をしたい人には需要があります。

kmyblueは、相互フォロワーにのみ閲覧可能な投稿ができます

相互限定投稿は本来ActivityPubには無い仕様ですが、サークル機能の応用で実現しています。これをするともちろん自分と相互のフォロワーのみに見える投稿をすることができます。
ただし、サークル投稿と同様の技術的制約を受けます。

検索

kmyblueは、全文検索のために別途ElasticSearchのセットアップが必要です

Misskeyでは別途設定がなくても全文検索できるようですが、kmyblueではElasticSearchがないと全文検索できません(Mastodon自体は使用可能ですし、ハッシュタグ検索は可能)。これはkmyblueというかMastodonの制約になります。

ElasticSearchはサーバーのRAMをあるだけ使います。上限は無いです。そのため、ElasticSearchは専用のサーバーに立てて使うことになります。RAM8GBのサーバー1つよりも、RAM4GBのサーバー2つ用意して片方をElasticSearch専用にする、という運用になります。

kmyblueではあらかじめ日本語の検索に特化した設定を入れているため、ElasticSearch+Sudachiのインストールはkmyblueによって指定された手順で行う必要があります。

kmyblueは、自分の投稿の検索を許可する範囲を指定できます

自分の投稿を誰彼構わず不特定多数に検索されたい場合は「誰でも」を指定します。それ以外の場合にも、指定した範囲のユーザーがこの投稿を検索できます。

ただしこの設定は現状、kmyblue・Fedibirdを含む一部実装でしか動作せず、標準Mastodonもこの設定に対応していません。
他の標準Mastodonで検索されたい場合は、次の節で示す設定をあわせて行う必要があります。

kmyblueは、標準Mastodonの検索設定をおこなうことができます

kmyblueには、検索許可範囲設定が2種類あります。Indexableを有効にすると、標準のMastodonでも公開投稿に限って自由検索ができるようになります。

kmyblueは、すべての投稿を自由に検索できるわけではありません

Misskeyでは、あらゆる公開・ホーム(非収載)投稿を自由に検索できます。しかしkmyblueでは、投稿者があらかじめ許可していない限り検索することができません。これは投稿者のプライバシーを考慮したもので、利便性は落ちるものの、安心して投稿できる環境を求めています。

ただし連合の関係で、kmyblueで検索禁止にしている投稿をMisskeyから自由に検索できることも、もちろんありえます。
一部の投稿に関してはMisskeyへの配送制限設定を実装していますが、完全にプライバシーを担保することはできない状態です。

クリップ(ブックマーク)

kmyblueは、ブックマークを公開できません

本家Mastodonの思想が関わっていますが、kmyblueではブックマークに登録した投稿一覧の公開はできませんし、今後もできるようにする予定はありません。
自分がお気に入りした投稿一覧、絵文字リアクションした投稿一覧なども、同様に公開することはできません。

ハイライト(トレンド)

・kmyblueでは、アンケートのトレンドはありません。投稿としてひとまとめで掲載されます
・本家Mastodonと異なり、Misskeyの投稿がトレンドに掲載されます
・本家Mastodonと異なり、絵文字リアクションの多い投稿もトレンドに掲載されます。必然的にMisskey、Fedibird、kmyblueの投稿が大変上がりやすくなる結果になります

kmyblueは、ニュースのトレンドがあります

下記ページを見てほしいのですが、kmyblueというか標準のMastodonでは「ニュース」のトレンドがあります。

https://kmy.blue/explore/links

連合タイムラインを流れるニュースへのリンクをもとに、管理者がトレンドに掲載するニュースを選定します。ただしドメイン単位での選定も可能なので、サーバー建てたばかりの頃しばらくのあいだ管理者向け画面からトレンド候補を監視しておいて、トレンドに掲載したいニュースをサイト単位で指定するのを繰り返せば、案外半自動で回るようになります。

ページ/ゲーム

kmyblueはシンプルなSNSを目指しているので、そうでない機能は作っていません

Misskeyにあるページもゲームも、確かにあれば便利なものですが、そういうのは専用のサービスがいくつもあるはずです。SNSの一部分として開発者が時間をさいて機能を作るよりも、それらに特化したサイトを使ってもらったほうがお互いのためにいいと思います。

kmyblueは、周辺のものを作るよりも、SNSとしての役割に専念したいと考えています。ゲーム専用サイトをゲームに詳しい人が十分な時間をかけて調査開発するのと同じように、kmyblueもSNSとしての機能に関してはそうありたいと考えています。開発者はあくまで同人作家であり、そこまで開発する時間がないのもあります

ただしSNSのおまけとしてゲームで交流できる機能が欲しい、ゲーム性はそこまで求めていないのであればそれはそれですし、Misskeyのほうがよければそちらでもいいんじゃないかと思います。

UI

kmyblueは、シンプルなUIを目指しています

主に以下を意識して作っています。

  • 画面にボタン・情報・エフェクトなどをなるべく増やさない = 画面の情報量をなるべく減らすことで、長時間利用しても脳が疲れないように

  • 文字コンテンツを主体に = MFMやエフェクトなどをなるべくつけず、あっても最小限にして、閲覧者が投稿本文に集中できるように

  • ボタンや操作できる場所をなるべく減らす = 初心者がどれを押せばいいか迷わないように、欲しい機能がすぐ見つかるように

思想として明文化はしていないのですが、開発者は『シンプルで落ち着いたUI』『あまり騒がしくないもの』が好きです。それも少なからずkmyblueのUIには反映されているかもしれませんし、実際のサーバーの雰囲気にも少なからず影響を与えているかもしれません。

kmyblueは騒がしくわいわいしたい人を否定するつもりはありませんでしたが、開発者の好みによってUIの雰囲気がおのずと決まってしまい、実際に利用する人の使い方やサーバー全体の雰囲気もそれに引っ張られるという仮説を積極的に否定しようとも思っていません。Misskeyよりも静かな雰囲気が好きな人には、もしかしたら向いているかもしれません。本家Mastodonはもっと情報量が少なく落ち着いていますが。

投稿

・投稿時、画像は4枚までしか添付できません(他サーバーから来た画像は16まで表示します)
・指定されたフォーマットの画像・動画・音声以外(例えばpdf、exe、zipとか)アップロードできません
・ドライブという概念はありません。ユーザーごとの容量制限はありません。過去の投稿についた画像をもう一度投稿するという概念もなく、新規でアップロードし直して貰う形になります(Twitterと一緒)

・投票項目は8までです
・投票を無制限にする設定はありません

kmyblueは、ローカル限定投稿はありません

kmyblueは本家Mastodonと同様、連合を重視した作りでありたいと考えており、中央集権的になりやすい機能をあまり好みません。ローカル限定投稿は利便性もありますが、他のサーバーから投稿を閲覧できなくなる場合もあります。そのサーバーに登録しないとローカルフォロワー限定投稿が見れない=そのサーバーに登録する導線になってしまい、分散の意味が薄れます。そういったものを実装する予定はありません。

kmyblueにローカル公開という公開範囲はありますが、「ローカルタイムラインに掲載/他のサーバーでは非収載扱い」という挙動をしまして、他のサーバーに投稿を配信する点では変わりませんし非収載ですから拡散される可能性すらあります。そういう点でローカル限定とは無関係の機能として扱っています。
よく他のサーバーの人から混合されますが、開発者的には全く別の機能と考えています。

kmyblueは、チャンネル機能はありません

「グループ」というものを本家Mastodonが今後実装予定で、これはMisskeyの言葉を使って説明すると「連合するチャンネル」になります。kmyblueも以前は独自にグループを実装していた経緯もあるのですが、今は本家のグループ機能の完成待ちになっています。

その他

ソーシャルタイムライン(STL)は、アンテナを経由して利用します。STLを使いたい時はアンテナを作る必要があります

・1人につけられるロールは1つまでですし、設定できる権限もモデレーション・サーバー管理関係のものがほとんどです

・おはぎはおいしいです

kmyblueのリソース

GitHubのkmyblueリポジトリ
https://github.com/kmycode/mastodon/

kmyblueのインストール手順
https://github.com/kmycode/mastodon/wiki/Installation

この記事が気に入ったらサポートをしてみませんか?