1 poin oleh GN⁺ 2026-01-19 | 1 komentar | Bagikan ke WhatsApp
  • Memperluas konsep komputasi personal yang berpusat pada berkas ke komputasi sosial, dengan menjelaskan struktur di mana semua konten yang dibuat pengguna dimiliki oleh pengguna sendiri, bukan oleh aplikasi
  • Berdasarkan protokol AT, artikel ini mengajukan konsep sistem berkas sosial terdistribusi yang memungkinkan interoperabilitas data antar aplikasi
  • Setiap pengguna memiliki ‘everything folder’ atau repositori (repository) sendiri, tempat postingan, suka, dan follow disimpan sebagai berkas (record) berbasis JSON
  • Melalui DID (Decentralized Identifier) dan skema URI at://, sistem ini mempertahankan tautan yang dapat diidentifikasi secara permanen meski hosting atau handle berubah
  • Struktur ini membentuk ekosistem sosial yang berpusat pada data, bukan aplikasi, sehingga siapa pun bisa membuat aplikasi baru yang berjalan di atas data yang sudah ada

Paradigma berkas dan perluasan sosial

  • Berkas pada awalnya berada di ruang yang dikendalikan pengguna, bukan di dalam aplikasi, dan aplikasi hanya berperan sebagai alat untuk membaca dan menulis berkas
    • Format berkas terbuka seperti .svg memungkinkan banyak aplikasi berbagi data yang sama
    • Di bawah prinsip “format berkas adalah API”, interoperabilitas antar aplikasi menjadi mungkin
  • Jika konsep ini diterapkan pada aplikasi sosial, tindakan seperti postingan, follow, dan suka juga dapat diperlakukan seperti berkas
    • Ada ‘everything folder’ yang menampung seluruh aktivitas online pengguna
    • Aplikasi mencerminkan data dalam folder ini, dan folder tersebut berperan sebagai single source of truth

Protokol AT dan sistem berkas sosial

  • Protokol AT adalah teknologi yang benar-benar mewujudkan struktur ini, dan Bluesky, Leaflet, Tangled, Semble, Wisp dan lainnya berjalan di atasnya
  • Aplikasi tidak memiliki data pengguna; melalui penyimpanan data terpisah pada tingkat berkas, aplikasi baru dapat menggunakan kembali data yang sudah ada
  • Folder semua pengguna bersama-sama membentuk sistem berkas sosial terdistribusi

Struktur record dan collection

  • Setiap postingan direpresentasikan sebagai berkas JSON (record), dan tidak menyertakan informasi penulis atau data turunan seperti jumlah suka
    • Contoh: { text: 'no', createdAt: '2008-09-15T17:25:00.000Z' }
  • Nama berkas dibuat menggunakan kunci record berbasis timestamp (record key) untuk mencegah benturan
  • Struktur berkas didefinisikan oleh skema yang disebut lexicon, dan tiap aplikasi dapat merancang lexicon-nya sendiri
    • Contoh: com.twitter.post, fm.last.scrobble, io.letterboxd.review
  • Bahkan untuk konsep yang sama, tiap aplikasi dapat memiliki lexicon yang berbeda, dan benturan dihindari lewat namespace berbasis domain

Validasi dan kepercayaan

  • Lexicon Police tidak ada — tidak ada aplikasi yang bisa memaksakan datanya kepada aplikasi lain
    • Aplikasi memvalidasi data saat dibaca (validate on read), dan mengabaikannya jika tidak valid
  • Saat lexicon berubah, kompatibilitas ke belakang wajib dijaga, dan perubahan yang merusak dipisahkan ke lexicon baru
  • Lexicon dapat dipublikasikan secara terbuka, dan pembuktian kepemilikan domain dilakukan melalui DNS

Tautan dan identitas (Identity)

  • Karena ‘suka’ atau ‘balasan’ yang dibuat pengguna perlu merujuk ke record lain, dibutuhkan sistem tautan permanen
  • Setelah berbagai percobaan, identitas dibangun menggunakan DID (Decentralized Identifier)
    • Pengenal seperti did:plc:6wpkkitfdkgthatfvspcfmjo tidak dapat diubah
    • Setiap DID diinterpretasikan menjadi dokumen yang memuat informasi hosting, handle, dan kunci publik saat ini
  • URI at:// menggabungkan DID, collection, dan record key untuk menyediakan tautan yang tidak rusak meski hosting berubah
    • Contoh: at://did:plc:6wpkkitfdkgthatfvspcfmjo/com.twitter.post/34qye3wows2c5

Hyperlink JSON dan representasi relasi

  • Setiap ‘suka’, ‘repost’, dan ‘balasan’ memiliki struktur JSON bergaya hyperlink yang merujuk ke record lain
    • Contoh: field parent merujuk ke URI at:// milik postingan lain
  • Semua informasi pada UI (penulis, teks, jumlah suka, dll.) dapat dihitung dari keterhubungan antar berkas ini

Repositori (Repository) dan aliran data

  • ‘Everything folder’ milik pengguna disebut repositori (repository) dan diidentifikasi dengan DID
    • Di dalamnya terdapat banyak collection dan record
  • Repositori dapat di-host di mana saja, dan tautan tetap bertahan meski dipindahkan
  • Aplikasi dapat membaca repositori seperti sistem berkas, atau berlangganan melalui stream (WebSocket) untuk sinkronisasi real-time
    • Setiap commit diverifikasi dengan pohon hash bertanda tangan (Merkle tree) untuk mencegah pemalsuan data
    • Server relay hanya meneruskan ulang event, dan kepercayaan diperoleh melalui struktur yang dapat diverifikasi

Menjelajahi Atmosphere dan contoh nyata

  • pdsls.dev bekerja seperti penjelajah sistem berkas sosial dengan memasukkan DID atau handle
    • Tiap collection dan record dapat dilihat langsung
  • Aplikasi contoh Sidetrail mencerminkan perubahan record pengguna secara real-time, memperlihatkan bahwa data berada di repositori, bukan di aplikasi
  • Demo teal.fm Relay memvisualisasikan catatan pemutaran musik (scrobble) dengan mengindeks record fm.teal.alpha.feed.play, bahkan tanpa API nyata
    • Dengan alat lex-gql, pengguna dapat menjalankan kueri GraphQL berbasis Lexicon
  • Di Bluesky, pengguna dapat mendistribusikan algoritme feed kustom yang mereka buat sendiri
    • Contohnya, feed “For You” milik @spacecowboy17.bsky.social berjalan secara independen, memungkinkan pihak ketiga meningkatkan fitur di atas data bersama

Kesimpulan

  • Sistem berkas sosial menawarkan struktur internet yang berpusat pada data, bukan aplikasi
  • Pengguna memiliki repositori data mereka sendiri, dan aplikasi beroperasi secara reaktif di atasnya
  • Tujuannya adalah peralihan dari “aplikasi yang melakukan segalanya” menjadi “ekosistem tempat segala hal dimungkinkan”

1 komentar

 
GN⁺ 2026-01-19
Komentar Hacker News
  • Aplikasi bisa hilang, tetapi file tetap ada
    Tulisan swyx menekankan bahwa pekerjaan yang bertahan lama pada akhirnya hadir dalam bentuk file/data
    Data bisa di-parse tanpa izin dan tetap berguna meski sebagian rusak, tetapi insentif ekonomi masih tetap bergerak di sekitar kode
    Jika standar muncul sehingga kode bisa menerima dan mengeluarkan data, itu akan menciptakan nilai besar bagi seluruh peradaban
    Menurutku, salah satu tuas terkuat yang kita miliki adalah mendorong ekosistem developer agar perusahaan seperti Google, Microsoft, OpenAI, dan Anthropic secara sukarela ikut dalam standardisasi data

    • Aku setuju dengan gagasan bahwa “file adalah sumber kebenaran”
      Tetapi aplikasi saat ini berbentuk situs web yang bergantung pada pendapatan iklan, jadi sama sekali tidak ada insentif bagi mereka untuk bekerja dengan struktur seperti itu
    • Memberi Google, MS, OpenAI, atau Anthropic apa yang mereka inginkan tidak berarti imbalannya pasti kembali
      Lihat saja Apple, sering kali standar tidak cukup untuk mengubah dunia
    • Senang melihat ini :) Ini pertama kalinya aku mendengar “hukum indirection”, dan konsepnya cukup menarik
  • Jika field createdAt adalah nilai arbitrer, bukankah aku juga bisa merevisi catatan secara retroaktif sesukaku?
    Aku penasaran apakah ada cara untuk memverifikasi waktu pembuatan dan apakah ada perubahan setelahnya melalui penandatanganan (signing)

  • POSSE dan AT Protocol bisa dipahami sebagai marketplace yang interoperabel
    Seperti Reddit atau Instagram, konten pengguna adalah produknya, perhatian adalah mata uangnya, dan platform menghasilkan uang lewat iklan atau data perilaku
    Tetapi struktur seperti ini tidaklah tak terelakkan.
    Jika pengguna memiliki kepemilikan atas data sosial mereka sendiri, aplikasi akan berubah menjadi antarmuka yang membaca data
    Aku juga sedang menerapkan model serupa pada commerce — penjual meng-host sendiri logika pesanan dan pembayaran mereka, dan marketplace terintegrasi langsung dengan API milik penjual
    Dengan begitu, biaya platform bisa ditekan dan kepemilikan dikembalikan kepada pihak yang menciptakan nilai

    • Aku melihat openship di profilmu dan jadi penasaran, akan kucek sendiri
  • Tulisan ini terasa terlalu detail sehingga agak berlebihan untuk menyampaikan inti
    Meski begitu, analogi yang dipakai sangat bagus. Kalau ada file browser untuk PDS, sepertinya orang bisa langsung merasakannya sendiri
    PDS milik Bluesky pada dasarnya adalah filesystem publik, dan seperti Git, replikasi sudah masuk dalam desainnya
    Replikasi tidak bisa dikendalikan, tetapi juga punya keuntungan berupa backup otomatis
    Pada akhirnya, apa pun yang diunggah ke PDS akan tertinggal seperti catatan permanen, jadi harus hati-hati

    • Saat menulis, tujuanku adalah memindahkan struktur yang ada di kepalaku apa adanya
      Kalau itu berguna tetapi terlalu panjang, orang lain bisa mengambil bagian yang mereka perlukan
      Di bagian demo pada akhir tulisan, ada contoh file manager yang nyata
      Ungkapan “dunia di mana semua orang menjadi scraper” itulah intinya
    • Dengan pdsfs, PDS bisa di-mount secara lokal sebagai read-only lewat FUSE
    • pdsls.dev melakukan peran itu dengan baik. Ini aplikasi full client-side dan open source
    • Aku penasaran bagaimana status enkripsi atproto. Apakah cukup hanya mem-post data yang dienkripsi dengan sha256?
    • ATProto belum menjadi protokol yang sepenuhnya selesai, dan dukungan untuk data privat juga akan segera ditambahkan
  • Menurutku konsep “file” sendiri sudah ketinggalan zaman
    Jika semuanya diperlakukan sebagai data blob berbasis hash, banyak masalah akan hilang
    Yang diinginkan pengguna bukanlah aplikasi, melainkan kapabilitas
    Misalnya “kemampuan menonton video yoga” atau “kemampuan membagikan kabar terbaru kepada kenalan”, bukan YouTube atau Bluesky itu sendiri
    Aplikasi hanyalah bentuk yang menggabungkan kapabilitas-kapabilitas itu
    Kita butuh workflow yang disesuaikan seperti bisa mencari kata di aplikasi pesan lalu langsung membagikan hasilnya di dalam jendela percakapan
    Terinspirasi dari PerKeep

    • Filesystem di sini adalah ungkapan metaforis
      Ini dipakai sebagai metafora untuk menjelaskan “relasi many-to-many antara aplikasi dan format file”
      Jika melihat penjelasan struktur repository di ATProto, bentuknya adalah struktur beralamat-konten berbasis Merkle-tree
      Karena Lexicon bukan relasi 1:1 dengan aplikasi, AT sebenarnya sudah bergerak menuju era post-app
  • Aku menganggap walled garden adalah hasil dari preferensi konsumen
    Ketika internet membuka semuanya, orang justru menginginkan ruang kecil yang berpusat pada budaya atau ide tertentu
    IG atau Snap adalah semacam grup chat yang lebih tersegmentasi seperti itu
    Aku malah senang postingan IG-ku tidak otomatis dibagikan ke HN atau Truth Social
    Aku tidak terlalu merasakan nilai portabilitas data. Menurutku silang antarplatform dengan konteks berbeda tidak terlalu bermakna

    • Aplikasi ATProto pada dasarnya tidak otomatis membagikan semua “file”
      Anisota yang kubuat dirancang untuk mendukung file Bluesky dan Leaflet sekaligus
      Sebagai contoh, posting yang sama bisa dilihat masing-masing di Bluesky dan Anisota
      Ada juga proyek bernama Aturi yang menyediakan tautan umum untuk konten berbasis ATProto
    • Saat Twitter diakuisisi, akan menyenangkan jika aku bisa memindahkan identitas, postingan, likes, dan graph sosialku apa adanya
      Di ATProto, jika aplikasinya memakai Lexicon yang sama, identitas dan data bisa dipindahkan sepenuhnya
    • Aku juga kurang paham perlunya portabilitas data
      Gambar asli ada di lokal milikku, dan tiap platform hanyalah representasi yang berbeda
      Aku tidak menginginkan integrasi yang tidak bermakna antarplatform
    • Jika Truth Social tidak menghapus federation code, postingan yang ditulis di Mastodon dan lain-lain akan muncul apa adanya
    • Baik jika aplikasi yang berbeda mempertahankan “nuansa” masing-masing
      AT hanya memungkinkan interoperabilitas, bukan menyatukan semuanya
      Misalnya, Leaflet mengambil postingan Bluesky untuk pelacakan kutipan lalu menampilkannya
      Berkat struktur ini, produk bisa di-fork tetapi tetap sepenuhnya kompatibel dengan jaringannya, sehingga persaingan jadi lebih hidup
      Contoh nyatanya, Blacksky adalah fork dari Bluesky dengan kebijakan moderasi yang berbeda
  • Tulisan Dan selalu menarik. Saat membacanya, pada akhirnya kita sadar bahwa dia memang penulisnya

    • Terima kasih :)
  • Aku skeptis terhadap model data yang mendeskripsikan dirinya sendiri (self-describing data model)
    Klaim ATProto bahwa “cukup tambah Lexicon lalu klien akan muncul” terasa dilebih-lebihkan
    Pada praktiknya, untuk membuat UI, kita tetap harus memahami makna data itu, dan Lexicon saja tidak cukup
    Pada akhirnya tidak jauh berbeda dengan melihat dokumentasi lalu mengimplementasikannya sendiri
    Standardisasi itu bagus, tetapi ini tidak sampai menjadi masalah setingkat DB yang direplikasi ke seluruh dunia
    Meski begitu, aku tetap menghargai upaya untuk mengurangi lock-in
    Hanya saja, masalah nyata yang dialami Twitter adalah faktor sosial seperti konten politik atau spam

    • Contoh yang kamu berikan hanyalah kasus tidak adanya klien karena orang memang tidak tertarik
      Tetapi jika layanan yang dicintai seperti Bento menghilang, seseorang pasti akan mencoba memulihkan datanya
      Misalnya Blento adalah layanan pengganti Bento berbasis ATProto, dan siapa pun bisa menjalankannya kembali karena open source
      Struktur seperti ini adalah kemajuan yang bermakna untuk menjamin keberlangsungan konten pengguna
  • Saat membaca “The Unix Programming Environment”, aku sadar bahwa dengan alat sederhana dan file teks saja, kita bisa melakukan banyak hal
    Aku jadi membayangkan bagaimana kalau Slack dibuat dengan gaya UNIX yang berpusat pada file
    Aku ingin kembali ke sistem yang sederhana dan bisa dikombinasikan

    • Unix memberi banyak ide arsitektur yang hebat, tetapi memperlakukan semua data sebagai teks polos adalah keterbatasannya
      Serialisasi yang mudah dibaca manusia itu bagus, tetapi harus parse dan memformat ulang setiap saat itu menyakitkan
  • Konsep platform sosial baru yang berbagi protokol umum dan format data dalam lingkungan terdistribusi/federatif itu menarik
    Tetapi sepertinya akan sulit meyakinkan platform komersial yang sudah ada
    Jika standar seperti ini mapan, alat social marketing akan lebih mudah mengelola banyak network secara terpadu
    Namun kenyataannya, ekosistem tertutup seperti Facebook, Instagram, dan TikTok masih tetap mendominasi