AFFiNEはあまりメジャーではないと思うが、Notion + Miroに相当する機能を持ったナレッジツールである。Notion代替を謳うものとしては他にAppFlowyなんかもあるが(これもあまり有名ではない)、Miroの機能まであるのが珍しく、また面白いと思う。
で、なんといっても面白いのは「セルフホスティングできる」ところだ。特にライセンス費用などもなく、コストを抑えつつ面倒くさいデータプライバシー問題にも対応できる。個人ならほとんどのSaaSで御法度となっているR18なデータの管理だってできよう。
ということで、これは良いと思ってしばらく試していたのだが、やってみるとまぁまぁつらく、またキャッチアップもたいへんそうで、結論としては「現時点では様子見」になった。
ChatGPTにまとめさせた記事の要旨
このブログ記事は、ナレッジ管理ツール「AFFiNE」の評価とセルフホスティング体験についてまとめた内容です。以下に主なポイントを記載します。
- AFFiNEの特徴:
- NotionやMiroに似た機能を持ち、ナレッジ管理やドキュメント作成、タスク管理ができる。
- 特徴的なのはセルフホスティング対応であり、データプライバシーを保ちつつ、無料で使用できる点。
- 使用感と利便性:
- 初期の操作感は良好で、画面描画もスムーズ。
- ドキュメント管理はフラットで階層構造を後から追加でき、ドラフト作成がしやすい。
- カンバン機能でタスク管理ができ、日記機能も備えている。
- 課題と限界:
- Miro代替として期待していた「Edgeless」機能に開発向けの用途には限界がある。
- Mermaid記法に非対応である点が大きな欠点。
- データベース機能が未実装で、カンバンも簡易的。
- アカウント管理がGraphQLでの手動操作を要するなど、セルフホスティングの管理が煩雑。
- セルフホスティングへの疑念:
- 「AFFiNE Cloud」との関連が不明瞭で、セルフホスティングに制限がある点に不安を感じる。
- ドキュメントが不足しており、仕様変更の頻度が高いため、追従が難しい。
- 結論:
- 現時点では、クリティカルな機能不足やセルフホスティングの継続性に不安があるため、本格的な使用は見送るべきと判断。
- ただし、個人利用やサブツールとしては十分に価値があるため、軽い用途には適している。
全体的に、AFFiNEは一人用のナレッジツールとしては面白いが、複数人での利用や管理面では改善が必要とされています。
操作感は良い
AFFiNEの第一印象はポジティブだった。最初の画面からしてインパクトがあったが、「おお、マジでMiroやん」と思ったな。
もちろん普通のドキュメントも作れる(当たり前)。これがなかなか良く考えられており、ドキュメント自体はフラットに作られていくのだが、それをWikiのように階層的に管理する感じだ。何が良いかというと、ベースがフラットに積み上げていく形なので「ドラフト」を作りやすい。最初に「このドキュメントはどこに置こう」と考えなくて良い。ドラフトのまま放置してもいいし、ある程度書き上げてから階層構造の中に組み込んでもいい。これは実際やってみると、なかなか良い体験だった。
無理矢理Notion的に言うと、グローバルなデータベースが最初からあって、そこから任意のドキュメントを階層的に管理したり、またタグでまとめたりできるような感じだろうか。
また、自動で作られるその日の日記ドキュメントも、けっこう勝手がいい。もちろんNotionでも似たようなことは実現できるが、最初から備わっているだけでだいぶ気楽なものだなと思った。
機能的にも、タスク管理でカンバンが使えるなど、必要そうなことは一通り揃っている感じだった。Notionほど多機能ではないけれど、その分わかりやすいと思ったし、必要十分じゃないかこれは、と思ったな。
そしてなんといっても、パフォーマンスが非常によかった。とにかく画面の描画が早い。うちのクソ雑魚ネット上り回線でもそうだから、ローカルストレージをうまく利用しているのだと思われる。
また、セルフホスティングもけっこう簡単で、docker compose一発でサーバがたったし、さらに最初の管理画面で「サインアップ機能の無効化」などもあったのが素晴らしかった。これはちょっと前にAppFlowyを試した時、サインアップの無効化があまり推奨されておらず、そうするとWeb画面に到達するもっと前のところでアクセス制御が必要ということになり、それは正しいっちゃ正しいんだが「めんどくせぇ」と思わされたところだったので、本当によかった。
で、僕は非常に気を良くして、友人とやっているプロジェクトの管理でナレッジツールはGrowi(OSSでセルフホスティングできるWikiツール)よりこれを使おうぜと持ちかけたくらいだ。
実際に運用するとつらみがあった
しかしいざしばらく使って見ると、「む……」と思うことが多く、最終的に「ちょっと現時点では使えないなぁ」という結論になってしまった。具体的に何があったのかを書いていく。
Miro代替としては機能が不足している
まず期待のMiroの機能であるEdgelessだが、これは使って見るとちょっと機能が不足していると思われた。特に僕らは開発系なのだけれど、その向きではかなりつらい。マインドマップと簡単なシステム図くらいしか作れそうにない。
クラス図ならば頑張ればそれっぽいのは書けるかもしれないが、ER図のあの変な矢印みたいなのは到底できそうにない。友人はMiroでそういったドキュメントを作るので「ちょっとこれじゃ使えないなぁ」と評価されてしまった。
Mermaid記法が使えない
そこで「Mermaid記法で書けばいいじゃないか」と言えればよかったのだが(納得するかどうかは別として)、残念なことにMermaid記法に対応していない。これは僕にとって大きなマイナスだ。グラフについてはEdgelessがあるじゃないかということなのだろうが、機能が足りないうえに、僕からすると「ページの中に図をしれっと挿入したいんだよ」と思うことも多々ある。Mermaid記法の非対応は僕にとって「がーんだな」であった。
カンバン、というかデータベースが貧弱(というよりない)
カンバンでタスク管理ができるぞ、というのはすごいことだと思ったが、実際に使って見ると、「表をカンバンっぽくしたもの」という感じだった。機能としてはかなりプアである。Notionのような使い勝手を想像してはいけない。
まぁこれはつまり、データベース機能がない、という風に言えばよいかもしれない。なんかこれは開発者の人が「今注力してる」みたいなことを言っていたので(TwitterでAFFiNEについて呟いていたらなんか補足されて話しかけられた)、そのうち実装されるのかもしれないのだが、少なくとも今のKanbanはかなりプアだと認識すべき。
まぁ要件次第では使えないことはないと思うし、むしろ人によっては「こういうのでいいんだよ」と思うかもしれない。機能がプアとは、裏を返せばそれだけシンプルだということでもある。
管理がつらい、いちいちGraphQLやDB操作を求められる
管理面では、セルフホスティング向けの管理機能がほぼほぼ不足しているのがつらい。アカウントを増やすだけでGraphQLを叩かないといけなかった。これはかなりつらい。
しかも実際に使って見るとAuthエラーが出たりなんだりするうえ、それについてドキュメントがあるわけでもなく、いったいどうすればいいんだろうとGraphQLのスキーマを見て悩む。仕様も頻繁に変わっているようで、GitHubのIssueには戸惑っている人も多くいた。
たとえば以前はsignUpとして「How to create a new account on self-hosted affine · Issue #5957 · toeverything/AFFiNE」のIssueが解決策となっていたが、これがいつのまにか使えなくなり、「Can't create users via GraphQL requests · Issue #7105 · toeverything/AFFiNE」「[urgent] GraphQL command for signUp is removed in current version stable · Issue #7106 · toeverything/AFFiNE」など複数のIssueで「signUpできないんだけど」とイシューがたった。これについては「その機能は消した。GraphQLのスキーマを見てね」とのみ。(ちなみに僕もGraphQLのスキーマを見てやってみたんだが401エラーになってしまった。認証が必要なのはわかるがどうやればいいのかわからず、もういいやとなった……)
この分だと、頑張って対応してもまたすぐ仕様が変わってキャッチアップ大変そう。
また、せっかくのセルフホスティングだというのに、なぜか「アカウント数」「ワークスペースの容量」に制限がかかっている。これについては、DBを直接操作することで解除できるらしい(「Self-hosted not unrestricted · Issue #6641 · toeverything/AFFiNE」)のだが、「え?」という感じだ。
セルフホスティングをどうしたいのかよくわからない
全体として、「セルフホスティングをどうしたいのかわからない」という不安がある。実際セルフホスティングであるにも関わらずAFFiNE Cloudという名前が使われており、これについて「おいCloudってなんだ、まさかAFFiNE社のサーバを経由するのか?そうじゃないならAFFiNE Cloudなんて言わないでくれよ」と不安を訴えるユーザもいる。「Self-hosted shouldn't say "Affine Cloud" · Issue #7097 · toeverything/AFFiNE」がそのイシューだが、最終的に「Outline(セルフホスティングできるWikiツール)」を試してみようで終わっていた。
Discussionsにもスレッドがあるのだが「toeverything/AFFiNE · Discussions · GitHub」どうもあまり活発ではなさそうだ。
このサービスはOSSでセルフホスティングできることがウリの一つなのだけれど、サービスのビジネスモデルとしてはSaaSモデルで、セルフホスティングユーザはサービス側からすると1円にもならない。なのでまぁ塩対応なのは仕方ないとは思うし、セルフホスティングしようという人にそこまで懇切丁寧にサポートする必要もないのだけれど、それにしてもドキュメントなさすぎやろと思うし、また機能面で不足しているところが多く、「いったいどこまで本気なんだ」と思ってしまう。
結論:様子見
以上より、「いくつかのクリティカルな機能不足とセルフホスティングへの姿勢に対する不安」から、「現状ではちょっと真面目に使いづらい。様子見」という結論になった。
しかしながら操作感自体はかなり良く、また一人でおうちナレッジツールとして使う分にはけっこう良いのではなかろうか。ただセルフホスティングの継続性についてはちょっと色々疑問符もあるので、あくまでお遊びないしサブとしての利用に留めるのがよさそう、というのが正直な感想だ。
次はOutline使ってみるかなぁ。
コメント