概要
Mastodon WebアプリのElkについて調査中に、Searchtodonという分散SNSの検索サービスの実験開始・終了の話題を見つけたので紹介します。
「Ex-Searchtodon: Private Timeline Search for Mastodon」がサービスのサイトでした。
タイムラインで見かけた内容を記憶を頼りに後で見つけることを目的とした、Mastodon用のプライバシーを意識した個人のタイムラインの検索サービス構築の実験目的のサービスでした。サービスのUIとしてElkを採用していたようです。
以下の3の仮説の検証が目的でした。
- UX: OK
- 運用実現性: OK
- コミュニティー (最重要): NG
類似のサービスにnotestockがあります。Searchtodonはタイムラインのフォロイーの投稿を検索できるところが大きな違いに思います。
投稿
2023-01-12の以下の告知で実験サービスの開始が告知されました。
Jan Lehnardt ?️|janl@chaos.social|2023-01-12T16:19:19.370ZHi everybody, I’m ready to unveil my year-end-holiday-hack project:
Meet Searchtodon: ***Private*** Timeline Search for Mastodon
It fills a gap that I have been missing over on Twitter as well: “I remember seeing this THING, where was that again?”
It is built with privacy and consent in mind (pls see the FAQ), but is also *an experiment* to see if something like this is accepted by the larger Mastodon community.
Here goes: https://searchtodon.social
Jan Lehnardt ?️|janl@chaos.social|2023-01-12T16:22:16.354Zreplying to Jan Lehnardt ?️|janl@chaos.socialI want to be very upfront: if this is something the community rather not have, I’ll shut it down.
But, I think there are three hypotheses worth exploring:
1. User experience: can this be done in a way that users want?
2. Operational feasibility: how much extra burden would this be on instance operators?
3. Community: is this something Mastodon folks at large are comfortable with.
Jan Lehnardt ?️|janl@chaos.social|2023-01-12T16:23:59.862Zreplying to Jan Lehnardt ?️|janl@chaos.socialAnd just to spell it out: this is not harvesting the Fediverse. There is no AI, there is no VC and very likely no monetisation strategy at all.
Jan Lehnardt ?️|janl@chaos.social|2023-01-12T16:24:39.012Zreplying to Jan Lehnardt ?️|janl@chaos.socialFinally, big big big thanks to @elk and everybody who contributed so far, without y’all, this wouldn’t have been possible. <3
Jan Lehnardt ?️|janl@chaos.social|2023-01-12T16:36:19.538Zreplying to Jan Lehnardt ?️|janl@chaos.socialOh, and also also thanks to @timbray for doing the hard work of guiding my choices around community consent: https://www.tbray.org/ongoing/When/202x/2022/12/30/Mastodon-Privacy-and-Search as well as @darius who helped privately.
サービス内容や実験で検証したい3の仮説について事前説明がなされていました。
その後、開始わずか2日後の2023-01-14に閉鎖されました。
Jan Lehnardt ?️|janl@chaos.social|2023-01-14T15:05:18.867Zreplying to Jan Lehnardt ?️|janl@chaos.socialAs promised, here’s an update on Searchtodon.
I have shut it down & deleted all data (as of 14:06 CET today).
As implemented, it does not gel *with* the Mastodon community, although the functionality did prove useful to a lot of people.
I’m working on a retrospective that hopefully can inform future experimenters.
Thanks everybody for giving it a try and for all your constructive feedback!
Searchtodon|searchtodon@toot.berlin|2023-01-14T14:17:33.240ZAs of 14:06 CET today, Searchton has been shut down and all data has been deleted. ✌️
Jan Lehnardt ?️|janl@chaos.social|2023-01-14T07:20:47.192Zreplying to Jan Lehnardt ?️|janl@chaos.socialHey all, thanks for the mostly constructive feedback. I’m afk until the afternoon, but there will be substantial changes to Searchtodon by end of day today ✌️
閉鎖の2日後の2023-01-16に実験の成果をレポートとして追記しました。
Jan Lehnardt ?️|janl@chaos.social|2023-01-16T11:16:06.338Zreplying to Jan Lehnardt ?️|janl@chaos.socialAnd finally, the big Searchtodon Retrospective: https://searchtodon.social/Adventures-in-Mastoland.html
I erred on the side of including more rather than less and take you through:
– My background and the motivation for creating Searchtodon.
– The initial design and research.
– Recap of *the experiment*, including results and commentary.
– tl;dr: 2 our of 3 hypotheses came back positive.
– Recap of the feedback received (the juicy bits).
– A (somewhat hopeful) look at the way forward.
今回の実験について以下の投稿で、言及されていなかった著作権については、法的に完全に混乱の元なので、触れないほうがいいと指摘がありました。
Magister Endomain|endomain@hackers.town|2023-01-16T16:45:01.278ZOn Searchtodon, I think it’s good the author of it tried. I think its good that the community rejected it. Both things happening are important and meaningful and need to happen as Mastodon grows.
But please, don’t utter the word “copyright.” The legal status of toots is a complete mess, a total nightmare. Even if we pretend for a moment that copyright is not an evil and harmful institution optimized for protecting wealthy content brokers while making normal creators fight one another, the only way Mastodon works is if you implicitly give SOME of your distribution rights to someone else.
But at the same time, copyright is rubbish and this is our community, so we should make our feelings about things that change that community clear. Folks will probably mass-defederate from instances that run centralized search or history functions. And the twitter expats and folks “making a living in social media” will be baffled why the very notion of creating legibility in the space is terrifying to many people on Mastodon.
内容
2023-01-16に公開された後記・成果レポート「https://searchtodon.social/Adventures-in-Mastoland.html」にかなり詳しい内容が記載されていたので、概要を紹介します。
背景
元々、2017年のMastodonブームのときにも似たような実験を行っていて、その際はタイムラインの表示をカスタマイズ (返信非表示、再投稿非表示など) などというようなものでした。例えば、投稿頻度やタイムゾーンでユーザーのリストを自動で分けたりなど、UXの面でまだまだ課題があると考えていた。
2022年に再開した際に、Ivoryのタイムラインフィルタリングは過去に行っていたカスタマイズをカバーしていたので、他のことを検討。特に、以前タイムラインのどこかで見たことを見つける方法が重要だと考えた。後で見返すための機能に、お気に入りとブックマークがあるが、事前にある投稿が重要だとわかるわけではない。だから、検索機能が必要。
Mastodonには投稿のエクスポート機能があるので、これで投稿を一括出力してローカルで検索するようなイメージの検索機能を作っていた。
誤解
実装にあたって、当初期待していたものの、実際には誤解していたことが3点あった。
1点目は検索除外フラグ (noindexフラグ)。Mastodonには検索除外 (noindexフラグ) があり、これでユーザーがGoogleの検索インデックスへの登録可否を選べた。当初はこれが素晴らしいと思った。しかし、あまり知っている人はいない。それに、このフラグは連合していない。
2点目はフラグの効果。当初、noindex、#nobot、#nosearchフラグを使えば、検索回避希望者をうまく考慮できると期待した。「Thread Reader App(@threadreaderapp)さん / Twitter」のような、Twitterで短文の一連の返信をまとめてくれる (unroll) サービスがあった。スレッドの投稿者がこういう案ロールアカウントをブロックすれば機能しなくなる機能が追加された。ただ、実際には悪意ある人物が本気を出せば、誰にも知られることなく、全てを保存して検索できてしまう。
3点目は既存クローラーと十分性質が違う点。以下のような事前のポリシーで実装して、既存のクローラーとは十分性質が違うため、クローラーとはみなされないと思っていた。しかし、クローラーとみなされてしまった。
- noindexフラグは十分確立
- 追加の脅威は導入されない
- インデックスは人間が見たものに限定
- 検索は個人のみ
- フィードバックと提案は重要
- 十分の否定的なシグナルで終了も約束
仮説1. UX→OK
実験の本題となる仮説とその結果となります。
仮説1 UX。Mastodonの個人検索を実行できるか。また、人々は便利だと思うか。→確認。
まずはこのサービスの発表後の反応。
- Comments: 129
- Boosts: 700
- Favs: 938
- 実験終了時の登録者数。304
まず、再投稿が十分にあったので、こういう検索機能の需要があることは定量的には証明された。
定性的には、機能に興味のある人からは肯定的だが、一部からは否定的だった。今回の検索機能とMastodonの現状機能の違いを理解していない人も多数いた。また、そもそも検索に興味がない人もいた。
ただ、元々万人向けじゃないので、別にこれはよかった。十分の数の人が気に入ればそれでOK。
ここまでで、仮設1は確認された。
仮説2. 運用実現性→OK
仮説2.運用実現性。運用のための追加リソースが現実的なものか。→問題ない。
CouchDBで保存していた実際のデータ消費量は「24時間100ユーザーあたり、1 GBのJSONとインデックスストレージ」となった。
実装では、投稿のJSONデータを全てDBに格納していた。ただし、かなりの量のデータを重複していた。アカウントの削除を簡単にするために二重に保存していた。データの重複を省けばより改善できた。だいたい50-80 %程度削減できただろう。
このことから仮説2は運用可能と確認できた。ただ、拡大するストレージのコストを考えると、ずっと無料のサービスとして継続するのは無理だろう。
仮説3. コミュニティー (最重要)→NG
仮説3 コミュニティ (最重要)。マストドンの個人検索は受け入れられるか?いいえ。受け入れられなかった。
支持者の中には、アイデアはよいが、個人のサービスに登録したくないなど、検索のために保存されるデータの管理者への信頼という問題があった。その他、Mastodonで検索と聞くと反射的に否定する人もいる。
Mastodonのシステムには、投稿データの検索と保存に関する仕組みが欠落している。
教訓
今回の実験で得られた教訓は以下となる。
- 分散SNSで、参加型の実験を望む人が十分にいる。
- 管理者の信頼関係を大切にしているので、確認なしで移譲するようなアプリは嫌われる。
- アプリがデータをキャッシュするだけでなく、データを永続的に保存してバックアップする場合、別に信頼関係がなくても、Googleやappleのようなクラウドバックアップは受け入れられている。
- 見たデータを全て保存するクライアントは、いくつかのサーバーの利用規約に違反するだろうが、今のところ問題ない。ただ、今後防衛策が必要になるだろうと予測。
十分に大きな悪役 (tumblrなど) が参加した場合、ユーザーのコンテンツの行き先を制限したい人とは無関係に検索が実現されるだろう。
Mastodonは「このようなことが起こらないことを望んでいた」で済ませるのではなく、対処のためのツールや規約を用意して用意しおいてほしい。今のところ、対応するには、コミュニティー同士でさらに分断するしかない。が、これは避けたい。 今後分散SNSはますます人気になって主流になるだろう。新しい人々へのニーズへの対応も必要になる。これらの人々にも対応できるような安全に実験できるシステムの整備を望む。
結論
Searchtodonの実験開始・終了でした。Elkについて調査している最中にUIとして採用していることから目に入った内容でしたが、手の込んだ実験で一部で大きな話題でした。
タイムラインで眺めた内容を記憶を頼りに探すという、SNSでありがちなケースを解決するためのサービスでした。Mastodonで検索について問題があることを分かったうえで慎重に取り扱ったうえでの実験でしたが、やはりコミュニティーに受け入れらないという結果でした。
この検索の問題については、今のところMastodonでだけ議論されている関心ごとです。今後tumblrなど他のサービスがどんどん入ってきて、そちらで検索が拡充されると、検索回避はどのみち破綻します。Mastodon固有の主義主張を他の分散SNS実装に押し付けることはできません。
「ActivitiyPubの動作確認・匿名一時購読サービスのMastinator | GNU social JP」でも同様の議論がありました通り、検索は単にソフトウェアの機能なので、どうしても嫌ならば非公開アカウントにするなどして対策する必要があり、そもそも分散SNSには向いていません。Discordなどのような閉鎖サーバーで身内とだけ利用するような形が向いています。
分散SNSでの検索サービス依然として根強い需要のある分野なので、今後も今回のような新規サービスの検討がなされると思います。動向に注目します。
詳細プロフィール。SNS: Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
コメント