evilfactorylabs

Rizaldy
Rizaldy

Posted on

Karena protokol adalah yang terpenting

Topik "federated" dan "decentralized" untuk sosial media sedang hangat-hangatnya khususnya ketika platform Bluesky sedang naik daun yang diikuti dari kebijakan terbaru yang diterapkan di platform X (sebelumnya Twitter) terkait fitur blokir dan penggunaan data untuk Grok.

Argumennya adalah, singkatnya, Bluesky tidak berbeda jauh dengan X.

Dari segi pengguna awam, tentu itu bisa dianggap sebagai kabar baik. Pengguna merasa "seperti di rumah" alias merasa familiar tanpa perlu banyak beradaptasi lagi.

Dari segi pengguna tingkat lanjut, ini bisa dianggap sebagai kabar buruk. Setidaknya bila tidak memiliki waktu yang cukup untuk memahami Bluesky, AT Protocol, hubungan antar keduanya dan perbedaan antar keduanya. Jujur saja, tidak sedikit waktu yang akan dihabiskan untuk memulai: membuat akun, memilih foto profile, menulis deskripsi, mencari "teman", dsb. Belum lagi, usaha untuk "mengembangkan" jaringan di sosial media tersebut.

Yang maksudnya, kemungkinan "jatuh ke lubang yang sama" bukanlah nol, setidaknya sampai paragraf ini. Maksud dari tulisan ini bukanlah menggambarkan mana yang lebih baik antara Mastodon, Bluesky dan bahkan X. Namun lebih ke mungkin hal teknis (protokol) dengan bahasa se-umum mungkin.

Sebagai catatan, saya menjalankan server Mastodon saya sendiri dan juga memiliki "akun" di Bluesky (AT Protocol) juga. Meskipun tidak terlalu aktif disana, justru, itu yang menjadi keinginan utama saya.

Yang menjadi salah satu alasan mengapa tulisan ini diterbitkan.

Perkenalan

Setiap "sosial media" di internet saya selalu menganggapnya sebagai forum.

Sebelum saya menggunakan internet untuk mencari nafkah, saya lebih familiar dengan forum (bulletin board?) daripada yang lain.

Forum biasanya tempat berkumpul orang-orang yang memiliki ketertarikan yang sama. Entah itu forum heking (i really miss devilzc0de), jual beli (remember kaskus fjb?), sampai ke.. forum diskusi untuk berbagai topik dan cerita bersambung™ (iykyk).

Forum, selalu dimulai dengan topik. Dari topik menjadi pembahasan, dan tidak jarang mendapatkan "hadiah" seperti poin. Poin terkadang berguna sebagai "vanity metrics", atau spesifiknya sebagai keren-kerenan. Ada untuk kepentingan eksistensi di "leaderboard" ada juga untuk menggambarkan kepercayaan (seperti cendol dan bata).

Sosial media hari ini seperti segala sesuatu yang berada di kategori OOT (Out Of Topic). Sialnya, setiap orang akan melihatnya. Dan berkat TikTok, penerapan "For You" menjadi semakin populer agar penggunanya lebih banyak menghabiskan waktu dalam melihat konten alih-alih mencari konten yang ingin dilihat.

Dan I guess itu tidak masalah. Mari kesampingkan dulu iklan karena saya rasa ada masalah yang lebih besar dari itu sekarang. Lihat X, sosial media favorit untuk mendapatkan kabar terkini, setidaknya untuk beberapa orang. X memiliki program "ads revenue sharing" untuk pengguna yang berlangganan Premium dan Premium+. Bagaimana cara kerjanya? Well, sangat klasik, sebagaimana cara kerja pendapatan dari penayangan iklan di internet.

Pertanyaannya, siapa yang tidak ingin mendapatkan hasil maksimal apalagi dengan usaha yang minimal? Bahkan beberapa akun yang saya lihat ada yang dengan bangganya membagikan penghasilannya dari postingan yang dia buat di X, yang tidak jarang dengan cara yang klasik seperti engagement farming.

Sehingga, "checkmark" yang sebelumnya di X saya rasa menggambarkan "akun terpercaya" menjadi "akun yang berafiliasi dengan X", sehingga sangkalan seperti "akun ini mengikuti program ads revenue sharing" saya rasa perlu. Dan karena tidak ada, saya sebisa mungkin menghindari interaksi yang dimulai oleh "akun cenbir" karena alasan tersebut.

Anyway, jika sekali lagi fokus ke membahas X, kebanyakan yang saya lihat postingan yang mendapatkan interaksi yang banyak adalah jika bukan pertanyaan basic kemungkinan postingan yang bersifat "hot take", "unpopular opinion", atau yang bahkan secara eksplisit melempar api.

Tapi kabar baiknya, dunia tidak hanya tentang X dan sosial media tidak hanya X. Terlepas apapun tujuannya dalam menggunakan sosial media, semoga tulisan ini membantu dalam mempertimbangkan Mastodon ataupun Bluesky.

Tentang protokol

Contoh populer yang sering digunakan adalah penerapan surat elektronik (email), seperti, pengguna gmail dan pengguna aol dapat berkomunikasi meskipun berada di tempat berbeda.

Kejadian diatas dapat terjadi karena mereka berkomunikasi dengan cara yang sama (protokol). Apakah pengguna Facebook dapat mengomentari postingan X secara langsung? Jawabannya tidak, karena dua platform tersebut berkomunikasi dengan cara yang berbeda.

Tapi bukan berarti tidak mungkin! Untuk membuat program berkomunikasi dengan program lain, ada sebuah konsep bernama Application Programming Interface (API). Bisa bersifat RESTful, IPC, RPC, yada yada. Meskipun API dan Protocol terlihat mirip, perbedaan kontras yang paling gampang adalah, protocol adalah tentang "bagaimana data ditukar" dan API adalah tentang "apa saja yang bisa ditukar".

Nah, selama kedua platform tersebut menyediakan cara untuk bertukar informasi, gampangnya, berarti bisa. Seperti, mengomentari postingan X dari Facebook melalui "akun bridge" di X bukanlah hal yang tidak mungkin. Tapi yang perlu digarisbawahi, interaksi tersebut tidak bersifat langsung karena, sekali lagi, mereka tidak "berkomunikasi" dengan cara yang sama.

Penjelasan singkat ini saya rasa akan berguna untuk memahami "federated" dan "decentralized" terkait sosial media di pembahasan nanti. Sampai sini, saya rasa belum ada alasan kuat untuk mempertimbangkan sosial media alternatif, tapi penjelasan tentang protokol disini saya rasa cukup penting.

Federated (ActivityPub/"Fediverse")

Bagian yang saya sukai dari Mastodon adalah pemilihan ActivityPub sebagai protokolnya. Selain saya bisa "merasa di rumah" di instance Mastodon saya sendiri, saya bisa berinteraksi dengan "warga lain" seperti dengan teman-teman di Misskey Indonesia (menggunakan Misskey) atau Hachyderm (menggunakan Mastodon).

Fediverse saya rasa gampangnya seperti "kelurahan" (tergantung seberapa besar), dan setiap kelurahan pasti memiliki lurah. Bedanya, lurah di Fediverse umumnya tidak berganti-ganti dan peraturan biasanya ditetapkan tidak secara konsensus. Yang berarti, jika lurah tersebut melarang "postingan terkait programming" maka setiap warga yang berada di lurah tersebut harus mengikuti peraturan tersebut.

Tapi tenang, bukan berarti di semua Fediverse menerapkan peraturan tersebut! Dan jika bahkan tidak menemukan, tidak ada yang menghentikanmu untuk membuatnya!

Di instance Mastodon saya (invite-only), satu-satunya peraturan adalah "be nice". Apa maksudnya? Entahlah, mungkin yang penting jangan menjadi brengsek aja. Siapa pula yang mendefinisikan makna brengsek tersebut?

Di instance lain, peraturannya mungkin cukup beragam. Seperti dilarang membagikan konten pornografi; hanya membagikan konten dalam bahasa tertentu, dsb.

Tapi intinya, akan selalu ada tempat untukmu.

Yang menjadi masalah terkadang dalam moderasi. Misal, si "lurah" di instance Z melarang untuk berkomunikasi dengan instance Y yang kebanyakan memposting tentang topik tabu. Untuk warga Z, jika keberatan, pada dasarnya dapat berpindah ke instance lain atau menjalankan instance sendiri atau membuat akun lain di instance lain.

Untuk warga Y, pada dasarnya, jika masalahnya di "free speech", hak berpendapat mereka pada dasarnya tidak terlanggar. Dan tentu mereka sangat sadar bahwa akan selalu ada konsekuensi praktis yang perlu dipertimbangkan dari setiap pendapat.

Sejauh ini, saya cukup nyaman di Fediverse. Saya menemukan ketentraman dan juga pertimbangan untuk "memberi kesempatan kedua dalam menggunakan media sosial" tidak sia-sia. Tidak ada konten yang terpaksa saya lihat di Fediverse, dan tidak ada akun ataupun kata kunci yang perlu capek-capek saya blokir.

Bagian yang paling penting? Saya memiliki kontrol penuh! Data tersimpan di tempat yang saya jalankan dan kelola. Tidak ada kebijakan yang harus saya pertimbangkan karena kebijakannya adalah saya.

Memiliki kontrol berarti memiliki pilihan. Dan memiliki pilihan selalu menyenangkan!

Decentralized (Bluesky)

Gampangnya, AT Protocol ≠ Bluesky tapi Bluesky ⊃ AT Protocol.

Bluesky adalah salah satu penerapan dari Authenticated Transfer Protocol (AT Protocol) yang kebetulan dikembangkan oleh tim Bluesky. Per tulisan ini dibuat, penerapan lainnya adalah frontpage.fyi (seperti Hacker News/Lobsters), Smoke Signal (seperti Meetup/Luma) dan White Wind (seperti Medium).

Bagian paling penting dari AT Protocol adalah Data Repository (spesifikasi) atau Personal Data Server (PDS) sebagai penerapannya. PDS ini bagian penting yang bisa di self-host.

Contoh, ini adalah URI scheme dari profile saya:

at://did:plc:oeht2lhv6qumiusmtokfi4dk
Enter fullscreen mode Exit fullscreen mode

Yang bisa dilihat disini.

Untuk sekarang, PDS saya berada di amanita.us-east.host.bsky.network (silahkan cek bagian service.serviceEndpoint) yang mana dikelola oleh tim Bluesky, dan jika merujuk ke bagian "PDS Collections", terdapat data berikut per tulisan ini dibuat:

  • app.bsky.actor.profile
  • app.bsky.feed.like
  • app.bsky.feed.post
  • app.bsky.feed.repost
  • app.bsky.graph.follow
  • chat.bsky.actor.declaration
  • fyi.unravel.frontpage.vote

Mengambil contoh yang terakhir, jika melihat ke data fyi.unravel.frontpage.vote saya, disitu ada record 3la3bwxlmoo2v yang jika di-inspect seperti berikut:

uri: "at://did:plc:oeht2lhv6qumiusmtokfi4dk/fyi.unravel.frontpage.vote/3la3bwxlmoo2v"
cid: "bafyreibrhilxbrdotu7rpesfnpejjgahzh5jadxass3ykq6usabjzkbzoi"
value:
  $type: "fyi.unravel.frontpage.vote"
  subject:
    cid: "bafyreifx3err7mjmddaptigxal3zssoln7iezksed7vwn4t4ym7qkwrxrq"
    uri: "at://did:plc:hjhhs7pnc3eoii2xpyvwcsge/fyi.unravel.frontpage.post/3l7bqu4nuzu2y"
  createdAt: "2024-11-03T22:49:08.194Z"
Enter fullscreen mode Exit fullscreen mode

...karena saya melakukan "vote up" di salah satu postingan yang diterbitkan di frontpage.fyi.

Apa bagian menariknya? Misal, saya ingin membuat sesuatu di atas AT Protocol, anggap music scrobblers. Saya bisa membuat collections (misal, club.flooo.app.scrobble) seperti ini:

uri: "at://did:plc:oeht2lhv6qumiusmtokfi4dk/club.flooo.app.scrobble/3l2tva2prl42l"
cid: "cafyreibu5r4turs6i2nvck5b3tybusuy5bukdhxvfirl2cb74fngr567iw"
value:
  $type: "club.flooo.app.scrobble"
  artist_name: "Reality Club"
  artist_url: "https://flooo.club/artist/b1da8509-4462-46f9-8eda-137c0e4d8cfa"
  track_name: "Anything You Want"
  track_url: "https://flooo.club/track/ea98795d-d572-4a7d-8fa1-ccd6f15c24ec"
  createdAt: 1000249871
Enter fullscreen mode Exit fullscreen mode

Pada dasarnya isi value bisa disesuaikan, namun yang paling penting adalah bagian $type.

Lalu, di aplikasi saya yang lain, saya ingin membuat "jurnal" berdasarkan scrobble tersebut, misal seperti ini:

uri: "at://did:plc:oeht2lhv6qumiusmtokfi4dk/net.faultables.journal.post/2z1tva2prl420"
cid: "bafyreidwf6prahxswmxnukit5vwubhxomtazqmdxoba4xuqrlgbzm46usy"
value:
  $type: "net.faultables.journal.post"
  subject:
    cid: "cafyreibu5r4turs6i2nvck5b3tybusuy5bukdhxvfirl2cb74fngr567iw"
    uri: "at://did:plc:oeht2lhv6qumiusmtokfi4dk/club.flooo.app.scrobble/3l2tva2prl42l"
  content: "the same song on repeat~"
  feel: "LOVELY"
  createdAt: 1000249888
Enter fullscreen mode Exit fullscreen mode

Dan dua data tersebut berhubungan: si club.flooo.app.scrobble pada dasarnya bisa tahu data apa saja yang berkaitan di net.faultables.journal.post dan begitupula sebaliknya.

Yang maksudnya, ini adalah contoh interaksi secara langsung di dua aplikasi berbeda.

Dan yang paling penting, sekali lagi, adalah PDS. Anggap jika suatu hari https://flooo.club/did:plc:oeht2lhv6qumiusmtokfi4dk/scrobble/3l2tva2prl42l tidak bisa diakses atau bahkan aplikasi flooo.club sudah tidak beroperasi. Di aplikasi tradisional, data tersebut akan menghilang (dan export pun tidak terlalu membantu!). Di AT Protocol, pada dasarnya, data tersebut akan ada di at://did:plc:xxxx/club.flooo.app.scrobble/yyyy beserta data-data lain yang relevan (timestamp, nama artist, judul lagu, dll) yang mana tersimpan di PDS berjalan.

Jika seseorang membuat fork misal menjadi https://openscrobble.org, akses ke https://openscrobble.org/did:plc:oeht2lhv6qumiusmtokfi4dk/scrobble/3l2tva2prl42l seharusnya akan menampilkan konten/data yang sama, karena pada akhirnya merujuk ke PDS yang sama!

Dan ini yang membuat saya pribadi tertarik dengan AT Protocol.

Tentang Moderasi

Dalam forum, moderasi adalah hal yang penting. Baik untuk pengawasan konten, manajemen diskusi, penegakan aturan, mediasi konflik sampai ke pemeliharaan kualitas. Setidaknya itu yang disebutkan oleh bro claude 3.5 sonnet.

Moderasi melibatkan peninjauan yang mungkin dilakukan secara manual. Misal, kita tidak ingin melihat konten yang bersifat spam; ujaran kebencian, ataupun konten tidak senonoh. Dan moderator yang pada akhirnya memiliki wewenang untuk menindaklanjuti konten tersebut.

Di forum (online) umumnya ada tim khusus, yang paling populer disebut "momod" alias om moderator yang "bekerja" secara sukarela. Di sosial media mainstream, biasanya ada tim khusus yang memang dibayar untuk melakukan moderasi.

Di sosmed yang federated seperti mastodon, admin bisa menunjuk siapa yang bisa menjadi moderator. Mastodon sendiri menyediakan halaman khusus untuk "Dealing with unwanted content" yang bisa dibaca disini.

Di yang decentralized? Ini yang menantang. Pada dasarnya, decentralization membuat "unstoppable" terjadi. Dan "penyaringan" tidak akan terjadi di sistem yang memang decentralized. Bluesky menggunakan pendekatan labeling dengan catatan penggunanya memiliki kontrol terhadap apa yang ingin dilihat.

Di sosial media mainstream, membuat konten yang tidak mengikuti "aturan" berpotensi akan dihapus, dan aturan tersebut bergantung ke si penyedia layanan. Di Bluesky, pada dasarnya cara kerjanya seperti "Safe Search" di mesin pencari: konten yang ada tidak dihapus melainkan hanya tidak ditampilkan. Dan kita—si pengguna—bisa menentukan apa saja yang tidak ingin kita lihat yang berdasarkan penilaian (label) dari si labeler.

Ini dapat terjadi karena pada akhirnya si "Labeler(s)" berinteraksi dengan "AppView" alias tempat data-data di PDS ditampilkan.

Dan saya—tentu saja anda juga—senang bila memiliki pilihan! Saya menggunakan DNS pribadi untuk memutuskan apa yang ingin dan tidak ingin saya lihat. Untuk beberapa pengguna internet lain yang menggunakan DNS yang ditawarkan oleh ISP, kemungkinan besar akses internet mereka didikte oleh si ISP. Jika ISP memblokir akses ke misalnya netflix.com (nostalgia) karena sebuah kelompok memberi larangan tersebut karena alasan apapun itu, maka akses ke situs tersebut diblokir (yang pada dasarnya hanya membajak DNS record).

Penutup

Tidak menyangka sudah di bagian ini.

Mari kita permudah, di kedua media sosial (Mastodon dan Bluesky) diatas, apa motivasi penggunanya untuk aktif di media sosial tersebut? Jawabannya mungkin beragam, namun yang pasti, bukan karena ads revenue sharing.

Setiap media sosial pasti memiliki algoritma, namun yang saya yakin di kedua media sosial tersebut, tidak bertujuan untuk membuat penggunanya merasa ketagihan. Tidak ada untungnya—khususnya secara finansial—untuk membuat si pengguna betah dan sering membuka media sosial tersebut.

Pengguna "brengsek" pun tidak bisa dihindari. Tapi apa? Sekali lagi, peran motivasi. Dan berurusan dengan robot lebih mudah daripada dengan "manusia" asli.

Tulisan ini sekaligus menjadi "perayaan" saya di Fediverse selama 3 tahun dan tidak ada alasan untuk berhenti menggunakan Mastodon. Instance Mastodon saya berjalan di server yang saya kelola, meskipun tidak menguntungkan secara finansial tapi tidak merugikan secara finansial anyway.

Hampir tidak pernah saya berurusan dengan "unwanted content" di Mastodon. Sesekali mungkin pernah, namun tidak jarang konten tersebut menghilang karena "moderasi" yang dilakukan oleh moderator dari instance tersebut (kebanyakan hanya spam).

Di Bluesky, saya mencoba "cakrawala" baru. Pertama kali saya bermain Twitter pada tahun 2009, yang meskipun pada tahun-tahun tersebut dan berikutnya tidak ada kendala, mungkin Bluesky tidak akan pernah ada jika Twitter seperti Bluesky setidaknya pada hari ini.

Mastodon saya menjadi tempat aman untuk diri saya dan tempat yang pas untuk berinteraksi dengan pengguna yang memiliki ketertarikan tertentu. Bluesky, di lain sisi, sebagai tempat untuk "memberi kesempatan kedua dalam menggunakan media sosial mainstream". Saya berencana untuk menjalankan PDS sendiri sambil mencari waktu yang pas, akan saya bagikan bagaimana progress nya nanti sekalipun tidak ada yang meminta!

Sebagai penutup, terakhir melihat lini masa di X saya, sekilas sudah cukup sepi. Beberapa ada yang mulai tidak aktif "bersosmed" dan beberapa ada yang pindah ke Bluesky dan/atau Mastodon. Tab For You? Beruntungnya bisa dihilangkan berkat uBlock Origin.

Saya menggunakan sosial media untuk berbagi hal acak (kebanyakan) ataupun kabar (jarang) khususnya yang saya terbitkan di tempat lain seperti tulisan ini (seringnya). Di sosial media, terkadang saya mengharapkan interaksi dan seringnya tidak mengharapkan adanya interaksi sama sekali khususnya jika hanya membagikan konten dari tempat lain.

Saat sedang menulis di paragraf ini, ada 1 notifikasi yang menandakan adanya email masuk. Lihat, bagaimana teknologi yang berumur ~53 tahun masih digunakan sampai hari ini. Email tersebut berjalan di server publik namun akan dipindahkan ke server saya di rumah melalui protokol POP setiap semenit sekali.

Saya kepikiran, jika suatu saat nanti media sosial masih digunakan, apapun aplikasi (klien) yang saya gunakan nanti, saya berharap jika protokol yang digunakan adalah ActivityPub ataupun AT Protocol. Bukan berarti cerita gagal terkait protokol tidak ada, tapi, cerita gagal terkait platform yang paling banyak.

Ingat Path? Ah, this shit again. Semua data yang pernah saya miliki disana menghilang dan tidak berguna. Mungkin data sepele, dari tempat yang dikunjungi; lagu yang didengar, film yang ditonton ataupun private chat yang tidak dibalas.

Tapi siapa sangka, mungkin sosmed tersebut menjadi satu-satunya tempat saya berinteraksi dengan seseorang. Who knows?

Dan paling terakhir, ingat bagaimana penyedia layanan menjanjikan "kontenmu adalah milikmu" dan menghapus kontenmu karena melanggar "aturan" atau apapun itu? Ya, terdengar lucu sampai kamu yang menjadi targetnya.

Top comments (0)