Anda Dapat Memiliki Perangkat Lunak Kolaboratif Yang Waspada terhadap Awan


Beberapa minggu yang lalu, ketika dinginnya musim dingin yang lembab menetap di San Francisco, Peter van Hardenberg memutuskan sudah waktunya untuk beberapa eggnog. Dia tahu resep rumahan yang sangat baik dari mantan kolega di Heroku, sebuah perusahaan yang membantu startup membangun aplikasi berbasis cloud. Dan jika dia mengingatnya dengan benar, itu disimpan di salah satu dari banyak server cloud Heroku. Tetapi ketika Van Hardenberg mengetikkan URL yang relevan, ia mendapati lemari itu kosong — hilang karena beberapa pemeliharaan server yang lama. "Itu baru saja jatuh dari internet," katanya.

Tersebut adalah gangguan sehari-hari kehidupan di awan. Komputasi awan telah membuat alat penting, seperti Google Documents dan Slack, menjadi mungkin. Tetapi ia datang dengan kompromi. Pemanggang roti yang pintar tidak bisa bersulang tanpa Wi-Fi. Musik melompat ketika Anda memasuki terowongan kereta bawah tanah, dan kemudian seluruh perpustakaan menghilang ketika startup keluar dari bisnis. "Kami lupa bagaimana rasanya memiliki perangkat lunak yang berfungsi," kata Van Hardenberg. Tetapi untuk perusahaan perangkat lunak, model penimbunan perangkat lunak dan data pada server jauh berfungsi dengan baik. Itu menguntungkan, sebenarnya. Serahkan cukup data Anda, dan pada akhirnya Anda akan memerlukan keanggotaan untuk mengaksesnya. Atau mungkin digunakan untuk iklan. Tidak ada data Anda yang benar-benar milik Anda.

Van Hardenberg dan rekan-rekannya di Ink & Switch, sebuah laboratorium penelitian swasta yang mencakup alumni Heroku lainnya, ingin memberikan alternatif bagi model itu. Mereka menyebut upaya perangkat lunak "lokal-pertama". (Van Hardenberg menganggapnya sebagai bentuk silih karena telah membangun perusahaan berdasarkan penawaran layanan cloud.) Lokal-pertama mencerminkan kerinduan, sebagian, untuk hari-hari ketika perangkat lunak datang dalam kotak kardus. Saat itu, Anda menginstalnya di komputer Anda, di mana ia tetap aman berlindung, bersama dengan file Anda. Tetapi intinya adalah tidak untuk sepenuhnya mengabaikan awan, kata Martin Kleppmann, seorang peneliti Universitas Cambridge yang bekerja dengan Ink & Switch. Ini adalah "lokal-pertama," bukan hanya-lokal. "Idenya adalah untuk mengawinkan penyimpanan perangkat lunak dan data lokal dengan hal-hal tertentu yang dilakukan cloud dengan baik, seperti kolaborasi.

File disimpan di perangkat kolaborator yang diundang, bukan di server perusahaan atau di cloud. Itu "terdesentralisasi," dengan kata lain. Kata itu seringkali identik dengan blockchain. Dan ada tumpang tindih, secara spiritual, dalam keinginan untuk menghindari otoritas terpusat. Namun blockchain didasarkan pada kurangnya kepercayaan dengan pengguna lain. Mereka menggunakan proses yang mahal secara komputasional yang disebut konsensus untuk memastikan semua orang menyetujui keadaan bersama, tanpa ada yang mengambil keuntungan. Perangkat lunak lokal-pertama didasarkan pada kepercayaan. Intinya adalah kolaborasi antara pihak-pihak yang bersahabat. “Konsensus yang saya butuhkan adalah apa yang ada di komputer saya,” kata Van Hardenberg.

"Pengusaha ingin tahu, pistol apa yang harus saya pegang di kepala pengguna saya untuk membuat mereka membayar?"

Peter van Hardenberg, Ink & Switch

Perangkat lunak pertama-lokal menggunakan teknologi lebih ramping yang disebut tipe data yang direplikasi bebas konflik, atau CRDT, pertama disempurnakan oleh para peneliti di Perancis dan Portugal pada tahun 2011. Konsepnya mirip dengan Git, alat yang digunakan programmer untuk mengelola pengembangan perangkat lunak pada platform seperti Github. Tetapi alih-alih menggabungkan perubahan secara manual, seperti yang dibutuhkan Git, CRDT melakukannya secara otomatis. Ketika Kleppmann menemukan ide itu beberapa tahun yang lalu, teknologi itu digunakan terutama di beberapa database backend dan dalam aplikasi akademik. Tapi dia tertarik dengan konsep itu. Jadi dia mulai membuatnya lebih berguna bagi para pengembang, merancang perpustakaan JavaScript yang disebut Automerge yang membuat CRDT lebih fleksibel dan efisien. Harapannya adalah untuk membawa perangkat lunak ke titik di mana pengembang ingin menggunakannya untuk membangun versi lokal dari Slack atau Trello — Kleppmann secara pribadi menginginkan Evernote lokal pertama.

Tim Ink & Switch telah menggunakan Automerge untuk beberapa prototipe. Van Hardenberg menunjukkan kepada saya sebuah aplikasi bernama Pushpin. Ini sedikit seperti Pinterest, papan tempat pengguna dapat berbagi gambar dan catatan, bersama dengan situs web yang ditarik dari Chrome menggunakan plugin dan fungsi obrolan sederhana. Dia terkejut dengan betapa baiknya CRDT bekerja. "Itu seperti saudara Wright," katanya. "Kami benar-benar terbang. Perasaan kebebasan dan kemandirian yang ajaib ini. ”