ATProtoの上で構築する:パーミッション付きデータとローカルファーストの課題に関するフィードバック
ATProtoの上で構築する:パーミッション付きデータとローカルファーストの課題に関するフィードバック
はじめに
Luke Kanies氏はベルリンで開催されたLocal First Conferenceに参加し、ATProtoの普及を感じましたが、現在の方向性は、ユーザーが公開または非公開の共有を選択できるアプリケーションを構築するという彼の目標と矛盾していると考えています。
Lukeが構築したいもの
Luke氏は、Yelp、GoodReads、Letterboxd、および同様のサービスに取って代わる可能性のある一連のレビューアプリケーションの構築を目指しています。これにより、ユーザーはレビューを「公開」、「非公開」、または「特定のグループと共有」のいずれかに記録できるようになります。
ATProtoの強み
ATProtoはスケーラブルなアイデンティティシステムを提供しており、アプリケーションが認証、フォロワー、ソーシャルグラフをゼロから構築することなく扱えるようにします。これは、カンファレンスの複数のスピーカーによって指摘された特徴です。
公開限定という制限
現在のATProtoは公開限定です。ユーザーが行うすべてのことは世界中に公開されることを前提としており、その設計はストレージシステムとパブリッシングサービスに組み込まれています。
パーミッション付きデータの設計上の問題
コミュニティの「permissioned data(パーミッション付きデータ)」の提案は、プライベートデータのための別個のシステムを作成するものであり、開発者は2つの並行するデータストアとプロトコルを維持することを余儀なくされます。
"本題に入る前に、これらすべての共通点は、公開放送データはパーミッション付きデータとは本質的に異なるということです。" — Luke Kanies Luke氏はこれに反対しており、レビューは誰が読めるかに関わらず同じデータであり、唯一の違いは権限セット(世界中から読み取り可能か、限定的な読み取りか)であると主張しています。 提案では公開データと非公開データを別物として扱っているため、レコードをそれらの間で移動させるには、削除して再作成する必要があり、いいね、リポスト、リンクが失われてしまいます。 また、開発者は「レストランのレビュー」のような単一の概念を見るユーザーに対して、二重システムの複雑さを隠さなければなりません。
ローカルファーストとオフラインサポート
Personal Data Server (PDS) が Git リポジトリのように動作するというLuke氏の想定は誤っていました。PDSはプロトコルを介してアクセスされるリモートサーバーであり、pushやpullを行うローカルコピーではありません。 ATProtoはローカルファーストの原則のいくつかを満たしているに過ぎません。データが手元にあること(data-at-your-fingertips)や、ネットワーク使用のオプション化が欠けており、開発者はカスタムのオフラインストレージと同期システムを構築する必要があります。 オフラインサポートとパーミッション付きデータの分割を組み合わせると、以下のようになります:
- オフラインデータ用のカスタムローカルストレージ
- 公開データと非公開データに異なるプロトコルを使用しなければならないカスタム同期システム
- 各データタイプに対して個別の読み取り/書き込みパスを必要とするオンラインアプリの使用
コミュニティのフィードバック(抜粋)
"パーミッション付きデータの提案に関するLuke氏のフィードバックは非常に興味深いです。現在の提案には権限に場所の要素があり、レコードのURIがアクセス制御を反映しています..." — @pfraze "このような記事を読むと、人々は四角い杭(自分のアプリケーション)を丸い穴(ATProto)に通そうとしているのだと感じます。ATProtoはすべてのデータが公開されることを前提に設計されています..." — @ekosz "少し立ち止まって考えると、パーミッション付きデータが現実世界のユースケース(BlueskyはDMを必要とし、Tangledはプライベートリポジトリを必要とする、など)によって推進されているのは明らかです。しかし、もう一つの暗号化されたスペース仕様を開発する価値があるほど、既存のatprotoとの相乗効果はかなり大きくなければならないと思います。" — @sbt "この著者は私の気持ちを代弁してくれている!...単に「プライベートデータ」と呼べばいいんだ...権限は世界読み取り(world-read)だ" — @verdverm
結論
Luke氏はATProtoのアイデンティティ基盤には引き続き期待していますが、現在提案されているパーミッション付きデータの設計は、ローカルファーストな、公開/非公開が混在するアプリケーションの構築に逆行していると考えています。彼は、プロトコルの核心的な前提と戦うことなく、開発者が構想するアプリケーションを構築できるように、データは同一でアクセス権のみが異なる統一されたモデルへとプロトコルが進化することを望んでいます。