HN 日本語サマリー

← 一覧へ戻る
Web開発

ATProto 上での開発

Building on ATProto (lukekanies.com)

158 pointsby speckx80 コメント

要約

著者はBlueskyのATProtoプロトコルが分散型アプリケーションの基盤となる可能性を秘めていると評価する一方、現状の開発方向性に失望を表明しています。ローカルファーストなデータ管理と、公開・非公開を柔軟に選択できるレビューアプリ群の構築を目指していますが、ATProtoの現在の「公開限定」設計ではこの目標達成が困難であると指摘しています。プライベートデータの扱いに関するプロトコルの設計見直しを求めています。

全文翻訳

私の執筆した記事はすべて受信トレイに届くようにしたい場合は、こちらから購読できます。火曜日の朝に週1回の公開を目指しています。 メールアドレス 購読する ATProto 上での開発 執筆 アドバイザリー について ATProto 上での開発 投稿日: 2026/7/20 BlueskyのAtmosphere Protocolは、次世代のアプリケーション群の基盤となる可能性を秘めています。しかし、その開発は驚くべき、そして残念な形で進んでいます。 先週、ベルリンで開催されたLocal First Conferenceに参加しました。AIコーディングが皆の関心事であることに驚きはありませんでした。それよりも予想外だったのは、ATProtoがどれほど浸透していたかということです。 数ヶ月前からATProtoでの開発を試してみようかと考えていたので、開発者や実際に開発に携わっている人々(Blueskyの主要人物が複数参加していました)から多くの質問をする絶好の機会でした。 私はATProtoに私の望む答えを見出したいです。アプリケーション開発者が公開されたコミュニティ主導の標準を利用して、共通のデータ標準を持つ相互運用可能なアプリケーションを作成する世界に再び生きたいのです。それは可能だと信じていますが、残念ながら現状ではその軌道に乗っていないと考えています。 この記事では、私が何を構築したいのか、そしてATProtoの現在および提案されている設計がそれにどのように、あるいはどのように機能しないのかを説明します。また、私を驚かせたことについてもいくつかコメントを付け加えます。 おそらく私はここでやりすぎているのでしょう。しかし、私の主な目標は提案されている設計にフィードバックを提供することであり、何を構築したいのか、そしてなぜそうしたいのかを明確にしなければ、それを実行するのは困難です。 レビューから始める 私が構築したいものの最小バージョンは、レビューを記録するためのアプリケーションスイートです。理想的な世界では、これらのアプリケーションは、レビュー対象となるほぼすべてのものに対して、Yelp、GoodReads、Letterboxd、および類似のアプリケーションを置き換えるでしょう。(はい、すでにATProto上でこれらのアプリケーションのバージョンを構築している人々がいることは承知しています。彼らと協力したいと考えています。) これらのアプリケーションを置き換えたいのは、その機能のためではなく、そのビジネスモデルのためです。妻も私も、それらが意図された方法では使用しません。そして、ほとんどの人は私たちの一方または両方に似ていると思います。 ローカルファーストなデータ 私にとって、これらの企業に私のデータを所有してほしくありません。Yelpには千件以上のブックマークがありますが…それらはYelpに閉じ込められています。それらを他に有用なことに使うことはできません。公開する、共有する、それらを使ってスクリプトを書く、バージョン管理するなどです。それらは私のものではなく、Yelpのものです。そして率直に言って、ブックマークのリストを管理するための彼らが提供する体験はひどいものです。 これは典型的なローカルファーストのユースケースです。レビューを書くのに優れたツールを1つ採用し、同じデータを使用するが、友人向けのベストリストを公開するのに優れた別のツール、そしてウェブサイトで「最高のビジネス書」リストを共有するのに簡単な別のツールを採用できます。単一のアプリがこれらすべてを行うわけではありませんが、共有された公開データモデルにより、誰もが望むものを手に入れることができます。 大企業に自分のデータの使用方法を永久に管理する権利を与える意欲を失いました。(だからこそ、私はプレーンテキストでこれを書き、Hugo経由で公開しています。)アプリは時間とともに悪化するだけです。そして、レビューを記録するためにそれほど多くの時間を投資するつもりなら、Yelpに任せるのではなく、その使用を自分で管理したいのです。 公開と非公開 妻に関しては、彼女は決してオンラインに何も公開しません。決して。もし私が彼女に本やレストラン、レシピのレビューをしてほしいなら、それは私、そしておそらく私たちの家族が見ることができる場所でなければなりませんが、他の誰も見ることができない場所でなければなりません。 個人的には、公開レビューを投稿しても構いません。特に、創業者として役立つ本を共有するなど、意図的にそうしたい場合もあります。しかし、それを実行するのは複雑です。レストランについて自分で記録する情報は、世界に知ってほしい情報とは大きく異なります。しかし…ほとんどのアプリでは、この区別を付けることができません。レビューは公開されます。あなたが意図していなくても、あなたの意見はその対象の評判に影響します。(私はベジタリアンで自閉症なので、私にとってうまくいく場所が必ずしも他の人にとって関連性があるとは限りません。) 根本的に、これらのアプリケーションのほとんどはインフルエンサーを可能にするために構築されています。オンラインでレビューのフォロワーを増やしたい人々です。「わあ、彼女は最高のブックレビューをしている!」「彼がそのレストランを気に入ったなら、私も気に入るはずだ!」 しかし、私たちのほとんどはインフルエンサーになりたいわけではありません。むしろ、私たちはオンラインで大勢の人々からフォローされるのが嫌だという教訓を学んだと言えます。私は自分のものをプライベートに保ちたいのです。私の意見が他の誰かに影響を与えることを望みません。 確かに、誰かが町に来たとき、彼らに訪れるべきレストランややるべきアクティビティのリストを提供できればと思います。しかし、それは世界全体ではなく、彼らに送りたいのです。 私たちは世界を3種類の人物に分けることができます。 他の人が読む場合にのみレビューを記録する人々。これらはインフルエンサー志望者です。 私のような、状況に応じて公開レビューと非公開レビューを使い分ける人々。 私の妻のような、友人グループのみ、あるいは自分自身のみに非公開にできると確信できる場合にのみレビューを記録する人々。 現在のアプリケーション群は、最初のグループにはうまく機能します。しかし、後の2つのグループは置き去りにされています。 そして、私は確信していますが、その他の2つのグループははるかに大きいでしょう。 したがって、私たちが求めているのは、アプリケーション開発者がユーザーに、公開するか非公開にするか、完全に公開するか、完全に非公開にするか、個々のグループと断片的に共有するかを簡単に選択できるようにするシステムです。 これはATProtoとどう関係があるのでしょうか? ATProtoの素晴らしい点から始めましょう。これは、あらゆるアプリケーションが認証、フォロワーやフォローの追跡、そしてほぼすべてのアプリケーションが必要とするその他の関連機能のためにATProto IDを組み込めるように、アイデンティティを大規模に解決するために設計された最初のプロトコルであるように思われます。 そのアイデンティティシステムは完璧ではありません(特に、もっと人間が読めるものであればよかったのですが)。しかし、今年のLocal Firstのほぼすべてのスピーカーが言及したほど、今日では十分に機能しているようです。すべてのアプリ開発者が独自のソーシャルグラフ、独自のアイデンティティと認証システム、独自の友人検索手段を作成する必要はもうありません。 残念ながら、少なくとも今のところ、プロトコルの残りの部分は私の目標には限定的な用途しかありません。 今日、ATProtoは公開専用です。あなたがするすべてがオンラインで世界中に公開されることを前提としています。その設計上の決定は、ストレージシステムから公開サービスの構造に至るまで、すべてに組み込まれています。 コミュニティは現在、「パーミッションドデータ」(私はこれは愚かな名前だと思います。「プライベートデータ」と呼ぶべきです。「プライベート」は実際の単語であり、ユーザーの行動を技術的な実装ではなく記述しているため、はるかに優れた命名慣習です)と呼ばれるものを設計しています。 残念ながら、設計を推進するほとんどの仮定は合理的であるように見えますが、結果として得られる設計は構築が非常に困難に見えます。私が間違っていると思う多くの点は、上記のリンクされた投稿で完璧に捉えられています。 それに入る前に、これらすべての一貫したテーマは、公開ブロードキャストデータとパーミッションドデータは本質的に異なっているということです。 私は根本的にこれに同意しません。(私だけではありません。) プライベートデータと公開データは基本的に同じです。レストランのレビューは、私だけが見る場合でも、屋根の上で叫ばれる場合でも、レストランのレビューは同じです。私のブッククラブと共有する本のレビューは、妻と共有する本のレビューや、ウェブサイトに公開する本のレビューと同じです。 世界に公開するデータは特別なケースにすぎません。パーミッションはワールドリードです。公開しないデータも特別なケースです。自分以外のリーダーがいません。 残念ながら、ATProtoはすでにBlueskyで広く使用されており、アクセス制御、限定的な配布、およびプライベートデータに必要なその他の機能をサポートするように変更するのは困難です。そのため、代わりに、コミュニティは、