Erlend Sogge Heggen
Mar 11, 2017 • 6 min read
以下はMartin Eriksson @meriksson によるゲスト投稿です。
更新情報:残念ながら、FacebookのAPIの変更により、移行のためにFacebookデータを抽出することができなくなりました。Facebookグループをプラットフォームとして使用することをご検討中の方は、Facebookグループを使用することのメリット・デメリットおよび代替手段に関する記事をご覧ください。
2017年1月4日、ニュースアグリゲーションサイトcor.axは、非公開FacebookグループからプライベートDiscourseコミュニティへの移行を完了しました。
なぜ移行したのか?
私たちはかつて、オルタナティブメディアプロジェクトのネットワークに関わる人々のために、約20のFacebookグループを運営していました。一部のグループは編集上の議論に特化しており、一部は有料会員向けの一般的な議論グループ、また一部は財務問題、ゲーム、文化的なトピックなどに関するインタレストグループでした。
Facebookを使い始めたのは非常に簡単だったからですが、私たちは常に居心地の悪さを感じていました。ネットワークが成長し、グループの数が増えて活動が活発になるにつれ、インフラの重要な部分が第三者の管理下に置かれていることへの懸念が強まりました。グループへのアクセスを失えば、収益の減少を含む深刻な問題を引き起こしかねませんでした。
特に懸念していたのは、Facebookが公開ページだけでなく非公開グループも閉鎖するケースが増えているという点でした——少なくとも、そのような話を聞いていました。私たちのプロジェクトは非主流の政治や活動に関係していたため、体制を揺るがすアイデアを広めると見なされたグループが将来的に一斉削除される可能性について、リスクを冒したくありませんでした。
もう一つの繰り返し生じていた問題は、Facebookユーザーでないことを理由に、新しい参加者をプロジェクトに迎え入れられないことでした。典型的なケースとして、ボランティア編集者になることに興味を持っている人が、編集者向けのFacebookグループで重要な編集上の議論をフォローできないという理由で断られるケースがありました。また、ますますコストのかかる問題として、コミュニティフォーラムが自分たちの使いたくないプラットフォームに基づいていることを理由に、有料会員として登録することをためらう人々が増えていました。
移行後、実際に新たな編集者と有料会員の流入が見られました。そして何より、以前はプロジェクトを財政的に支援しつつもコミュニティのソーシャルな部分には参加できていなかった人々が、今では議論に質の高い貢献をするようになっています。数十人の方々が、私たちのグループにアクセスするためだけにFacebookアカウントを作成したり、以前に閉鎖したアカウントを再開したりしていました。これは個人的にとても恥ずかしく思っていたことです。嬉しいことに、そのような方々や他の方々の多くが、今ではアカウントを削除したり、Facebook上での活動を大幅に減らしたりしています。
実現するまでの経緯
移行プロジェクトを開始した際、まずFacebookからのエクスポートとDiscourseへのインポートに対応した既製スクリプトを探しました。一つ見つけましたが、かなり基礎的または実験的なものでした。そのため、自分たちでソリューションを開発しなければならないと判断しました。幸いにも私はRubyプログラマーとしての経歴を持っていたため、ある意味では楽しく刺激的なプロジェクトでもありました。また、既存の基本スクリプトを出発点として使用することで、非常にスムーズに着手することができました。
主な障壁の一つは、Facebook APIのドキュメント化されていない側面との格闘でした——その数は非常に多いことが判明しました。例えば、特定のオブジェクトに何の説明もなくアクセスできないことが頻繁にありました。仕組みを理解するために、試行錯誤で作業しなければならない部分もありました。また、多くの一貫性のない点があり、そのほとんどはインポーターの説明文に記載されています。
純粋に技術的な問題の他に、既存の20のグループをDiscourseのモデルにどのようにマッピングするかを慎重に検討する必要がありました。Discourseインスタンスを一つにすべきか、複数にすべきか?会員間で日常的に使用される言語ごと(2言語あります)にDiscourseインスタンスを一つ設けることや、コアプロジェクトを運営する編集者向けと有料会員(読者、ポッドキャストリスナーなど)のコミュニティ向けに別々のインスタンスを設けることも検討しました。
最終的には、すべてのグループに対して単一のDiscourseを使用することにし、代わりに複雑なカテゴリシステムを作成しました。その理由の一つは、ユーザーが複数のサイトを横断して検索することを強いられるのではなく、すべての素材を横断して検索できるようにするためです。振り返ってみると、これは確かに良い判断でしたが、Discourseのモデルが——私個人の印象では——厳密にセグメント化されたフォーラムよりも比較的オープンなフォーラム向けに設計されているため、いくつかの問題が生じました。
各Facebookグループは最初は単一のカテゴリにインポートされましたが、DiscourseはFacebookよりもはるかに柔軟性があるため、すぐに構造の再編成を開始することができました。数週間後には約40のカテゴリと、それらへのアクセスを管理するための10以上のグループが揃いました。主要なグループの一つは、カテゴリの約半分へのアクセスを提供します。これは有料会員向けのグループであり、多数のディスカッショングループへのアクセスが得られます——以前はFacebookグループとしてこれを維持することが非常に複雑でした。新しいメンバーを各グループに個別に追加する必要があり、どのグループに興味があるかも把握できなかったからです。DiscourseのカテゴリとグループをDiscoで使用することで、これがはるかに容易になっています。
新しいカテゴリにおけるインポート済みトピックすべての再編成はまだ完了していません。少数のモデレーターが作業中ですが、まだ2,000以上のトピックが汎用カテゴリに残っています。より多くのトピックが整理されるにつれ、フォーラムは次第に良くなっています。ただし、Discourseはこのような使い方(つまり、過去のコンテンツの複雑な操作)を本来の目的として設計されていないため、現在も解決中の不具合がいくつかあります。私たちはmeta.discourse.orgコミュニティと積極的に関わりながら、新規および既存のトピックで私たちの問題について議論しています。
Discourseコミュニティのメリット
- コミュニティで活動するためにFacebookアカウントを持つ必要がありません。
- Discourseの検索機能は非常に優れています(クエリあたりの結果が50件に制限されている点を除いて)。Facebookグループの検索機能はひどく制限されています。Facebookはユーザーが古いスレッドを発見することを避けさせ、代わりに新しいスレッドを始めるように誘導しているようです。これはアイデアの交換にとって非常に不都合な形で興味深い議論を分断し、できるだけ多くのユーザーを巻き込んだ、長期にわたる議論を妨げます。言うまでもなく、複数のFacebookグループがある場合、それらすべてを対象に一つの検索クエリを実行する方法はありません。Discourseへの移行により、質の高いコンテンツを持ちながらもFacebookによって事実上隠されていた数千のスレッドが新たな命を吹き込まれました。
- スレッド、返信、引用などに関するDiscourseのモデルは、会話を構造化するはるかに優れた方法です。これはDiscourseが非常に優れた考え抜かれたモデルを持っているのに対して、Facebookは真剣な議論とはまったく異なるものに最適化していることに帰着します。引用に慣れるまで少し時間がかかりましたが、今では議論がはるかに追いやすくなっています。
- DiscourseのグループとカテゴリによるアクセManager管理は、Facebookグループのメンバーシップを管理するよりもはるかに便利です。また、SSO統合により、グループへのメンバーの追加・削除が不要になります。会員が会費を支払ってサイトのアカウントを取得すれば、誰かがグループに追加したり、どのグループへのアクセスを希望するかを把握したりする必要なく、フォーラムにアクセスできます。
- Discourseのカテゴリシステムにより、カスタマイズされた構造を作成することがはるかに容易になり、考えが変わった場合でも後から簡単に変更できます。実際のところ、フォーラムがはるかに「自分たちのもの」という感覚が強まり、親しみと信頼の雰囲気が生まれています。同じ観点から、詳細なカスタマイズオプションの数々が、誰かから借りたスペースではなく、プロジェクトの真の拠点という印象をより強く与えてくれます。
- メール通知はフォロー・ウォッチのカスタマイズ可能なレベルからサマリーメールまで、はるかに優れています。これに関連して、タグ付けも非常にうまく機能し、たとえばグループ全体にメンションを飛ばすこともできます(通常、各メンバーにメール通知が送信されます)。Facebookではタグ付けを多用していましたが、非常に手間がかかり時間を消費する上に、いくつかの制限がありました(投稿・コメントにつき50ユーザーまでしかタグ付けできず、特定のユーザーが1日に作成できるタグ数にも追加制限があります——もちろんDiscourseにも同様の制限がありますが、自分たちでカスタマイズできます)。
- アクティビティ統計は、管理者が把握するためにも、ユーザーが自分のエンゲージメントを他のユーザーと比較するためにも、コミュニティを管理する上で非常に優れています。Facebookにはこれに類するものが何もありません。Gryticaというツールが同様のことができますが、使いづらく、いずれにせよDiscourseに組み込まれたツールには及びません。過去のFacebookデータをすべてDiscourseにインポートした後、受け取った「いいね」の総数などのユーザーごとの集計統計を確認できることは驚きでした。
移行の経験を共有してくださっただけでなく、その実現に使用したコードをGitHubで無償公開してくださったMartin Eriksson @meriksson に心より感謝申し上げます。
原文はこちら:
Good Loopでは、Discourseのセルフホスティングを安価で提供しています。開発元であるCDCK社の協力のもと、公式ブログ記事の翻訳・公開など、日本での普及にも努めています。

