2 poin oleh GN⁺ 2023-10-12 | 1 komentar | Bagikan ke WhatsApp
  • Spacedrive adalah cross-device data platform yang menangani file dari berbagai perangkat dan cloud di satu tempat, dengan mengindeks dan mencari file, email, catatan, serta sumber eksternal, lalu menyinkronkannya lewat P2P
  • Alih-alih menggantikan Finder atau Explorer, Spacedrive berperan sebagai lapisan di atas file manager OS untuk mencari dan menjelajahi disk lokal, drive eksternal, NAS, cloud storage, arsip, dan sumber data lainnya
  • Semua file diberi hash konten BLAKE3 sehingga file yang sama dikenali dengan hash yang sama, memungkinkan pelacakan duplikat dan deduplikasi di seluruh perangkat
  • Sinkronisasi antarperangkat terhubung langsung melalui P2P sync berbasis Iroh/QUIC, menyinkronkan metadata tanpa server, cloud, atau single point of failure, sementara file tetap berada di lokasi aslinya
  • S3, Google Drive, Dropbox, OneDrive, Azure, dan GCS diindeks sebagai cloud volumes bersama storage lokal, sedangkan Gmail, Apple Notes, Chrome Bookmarks, Slack, GitHub, dan lainnya menjadi repositori yang bisa dicari melalui adapter berbasis skrip
  • Terintegrasi dengan Spacebot untuk menjalankan runtime agen AI sebagai proses terpisah opsional, dengan Spacedrive menangani lapisan data, izin, dan eksekusi, sementara Spacebot menangani kecerdasannya
    • Setiap instans Spacebot dipasangkan dengan satu node Spacedrive, dan node tersebut menangani autentikasi agen, pemeliharaan graph perangkat, penyelesaian izin, serta penerusan tugas ke perangkat peer
    • Pembacaan file, perintah shell, dan tugas diproksikan ke perangkat target melalui Spacedrive, sementara sistem izin menangani perangkat, path, tugas, dan apakah konfirmasi orang yang dapat diakses diperlukan
  • Saat diaktifkan, record yang menjadi target pengindeksan akan melewati pipeline Safety Screening sebelum tersedia untuk pencarian
    • Prompt Guard 2 mendeteksi prompt injection pada email, pesan, dan dokumen dengan classifier lokal
    • Melalui trust tiers, sistem karantina, dan content fencing, record yang ditandai dikecualikan dari kueri agen AI dan dapat ditinjau di aplikasi desktop
  • Arsitektur intinya terdiri dari Virtual Distributed Filesystem, sistem identifikasi konten, aksi transaksional, dan sinkronisasi tanpa leader
    • File dan folder menjadi objek yang independen dari lokasi fisiknya, dan setiap file memiliki alamat SdPath yang berfungsi di banyak perangkat
    • Operasi file memiliki bentuk durable job yang mendukung pratinjau sebelum eksekusi, persetujuan atau pembatalan, serta tahan terhadap gangguan jaringan dan restart perangkat
  • Implementasinya berbasis single crate Rust dan arsitektur CQRS/DDD, dengan teknologi utama Tokio, SQLite, SeaORM, sqlx, Iroh, BLAKE3, LanceDB, FastEmbed, OpenDAL, Tauri 2, React Native, React 19, Vite, TanStack Query, Tailwind CSS v4, dan Specta
  • Aplikasi desktop mendukung macOS, Windows, dan Linux, sementara aplikasi mobile ditujukan untuk iOS dan Android, serta juga memiliki struktur CLI, daemon, headless server, dan browser client
  • Persyaratan eksekusinya adalah Rust 1.81+, Bun 1.3+, just, dan Python 3.9+ untuk adapter, dengan perintah pengembangan just setup, just dev-desktop, dan just test
  • Model privasi dan keamanannya bersifat local-first, trafik P2P dienkripsi dengan QUIC/TLS, library mendukung enkripsi disk dengan SQLCipher, dan tidak ada telemetry untuk pelacakan atau analitik
  • Lisensinya adalah FSL-1.1-ALv2 Functional Source License, dan akan beralih ke Apache 2.0 setelah 2 tahun

1 komentar

 
GN⁺ 2023-10-12
Komentar Hacker News
  • Setelah instalasi, aplikasi langsung meminta pembuatan library, berbagi data analitik, dan login, jadi ekspektasinya terasa berbeda dari file explorer lain
    Saya pindah ke direktori acak di drive lalu mengklik dua kali, tetapi tidak terjadi apa-apa; dibuka lewat menu konteks pun sama saja
    Ternyata jika ada 15 ribu file dalam satu direktori, penjelajahan praktis menjadi mustahil
    Total Commander dan Windows Explorer tidak punya masalah seperti ini, jadi Spacedrive sepertinya perlu memoles dulu fungsi dasar file explorer-nya

    • Terima kasih sudah mencoba Spacedrive, dan bug yang muncul saat menjelajah sebelum menambahkan “Location” ini sudah kami ketahui
      Berbeda dengan beberapa balasan di sini, Spacedrive dirancang dengan mempertimbangkan data berukuran besar, mengindeks Location terlebih dahulu untuk membuat cache, serta melakukan caching dan virtualisasi terhadap semuanya
      Pada pembaruan berikutnya kami berencana memperbaiki bug saat menjelajah tempat yang bukan Location, dan tampaknya banyak pengguna mencoba menjelajah lebih dulu sebelum menambahkannya sebagai Location
      Ini masih software alfa, jadi kami berharap bisa memolesnya seiring waktu
    • Sebagian besar aplikasi React tampaknya tidak terlalu mempertimbangkan dukungan data dalam jumlah besar
      Sulit menyalahkan developer saja; menurut saya framework seharusnya mendukungnya secara default
      Pengguna seharusnya tidak perlu memahami daftar tervirtualisasi
      Saat membuat TableView dengan SwiftUI, saya bisa menggulir ribuan item tanpa tahu sama sekali cara kerja internalnya
    • Windows Explorer juga tersendat jika ada banyak file dalam satu direktori di HDD
      Karena tidak ada cache urutan pengurutan, jika dibuka dengan cara selain urutan alfabet, harus menunggu lebih dari 5 menit untuk proses pengurutan
  • Saat saya melihatnya cukup lama lalu, belum ada paket rilis yang bisa dicoba langsung, jadi saya berniat mengeceknya nanti ketika sudah siap; sepertinya versi alfa keluar sekitar satu jam lalu sehingga muncul lagi di HN
    Konsepnya sendiri menyenangkan untuk dilihat
    Sekarang batas antara file lokal yang ketat dan berbagai penyimpanan cloud makin kabur
    Secara pribadi saya tetap mempertahankan batas itu dan hampir tidak pernah me-mount penyimpanan cloud di Mac, tetapi istri saya yang akademisi menggunakan Dropbox, iCloud Drive, Google Drive, dan penyimpanan dari Microsoft
    Itu karena rekan-rekan kerjanya membagikan file dan berkolaborasi untuk review lewat masing-masing layanan
    Jika alat seperti ini bisa menyembunyikan masalah koneksi dan perilaku aneh per vendor, lalu menyediakan sistem file transparan yang tampak seperti lokal tetapi di belakangnya bisa terhubung ke penyimpanan cloud mana pun, ini akan cukup membantu workflow
    Kuncinya adalah usability; jika latensinya besar hingga terasa lebih lambat daripada Finder, peluangnya menjadi kecil

  • Hacker News kemungkinan besar bukan kelompok pengguna paling optimal untuk produk seperti ini
    Orang-orang di sini kemungkinan besar sudah punya workflow yang dioptimalkan masing-masing, dan saya juga begitu
    Produk ini sepertinya lebih cocok untuk kreator digital yang memakai Windows dan Mac tetapi tidak terbiasa dengan terminal
    Misalnya animator, ilustrator, editor video, artis 3D, produser musik, YouTuber, dan streamer
    Namun saya tidak terlalu yakin apakah kelompok kedua itu benar-benar menginginkan hal seperti ini
    Dari marketing-nya saja saya tidak tahu persis software ini melakukan apa, dan menurut saya kelompok itu juga akan merasa sama
    Saya paham mereka ingin menyampaikan “pengalaman file universal”, tetapi tidak jelas secara konkret apa maksudnya
    Pengguna seharusnya tidak perlu menginstal software untuk memahami fiturnya
    Fakta bahwa ini open source atau berjalan di Linux juga tampaknya tidak terlalu penting bagi mereka
    Pada tahap ini, saya akan membuat ulang marketing sepenuhnya dan mengoptimalkannya untuk kelompok kedua itu
    Sebaiknya bekerja dengan orang PR atau pakar marketing untuk menyampaikan secara konkret dan efisien nilai apa yang sedang dibuat
    Selain itu, demi menghemat upaya tim, saya mungkin akan menurunkan source repository dan menghentikan versi Linux, atau membiarkannya privat sampai ada permintaan
    Semoga sukses

  • Saya sudah cukup lama mengikuti proyek ini dan punya beberapa feedback
    Mengindeks satu direktori pengembangan lokal sejauh ini memakan waktu lebih dari 35 menit, dan sepertinya saya tidak akan menunggu sampai selesai
    Seperti yang dikatakan orang lain, latensi menjadi masalah
    Di macOS M1 14 inci model dasar, bahkan setelah menambahkan Location, kadang butuh 2–4 detik untuk membuka folder dan melihat file muncul
    Kalau saya tidak melewatkan sesuatu, sepertinya belum ada tab
    Fitur pengurutan dan pengelompokan file terlalu minim atau praktis tidak ada, tetapi saya kira akan membaik dalam pengembangan
    Untuk membuat kondisi indeks yang masuk akal, tampaknya pengguna harus melakukan banyak hal sendiri, seperti menambahkan banyak Location secara manual
    Saya paham ini local-first, tetapi cara telemetry dan login-nya benar-benar tidak saya sukai
    Secara keseluruhan, setelah mencobanya langsung saya agak kecewa sehingga kemungkinan besar ini tidak cocok untuk saya, tetapi mungkin ada pengguna targetnya dan perjalanannya juga masih panjang
    Tampilannya benar-benar bagus

    • Sebagai pembaruan, saya lupa membiarkannya menyala, dan ternyata folder pengembangan lokal yang sama masih terus diindeks selama lebih dari 4 jam :(
  • Saya penasaran kenapa ini dibuat dengan React
    Saya paham Rust tidak punya framework GUI seperti Qt, tetapi apakah ini memang jawabannya?
    Apakah karena tidak mau belajar hal baru?
    Ini bisa saja dibuat dengan aplikasi C++ atau Qt, GUI-nya ditulis dengan QML, dan Lua, Python, atau JavaScript juga bisa dipasang sebagai bahasa skrip
    Tentu saja itu pekerjaan
    Merender dengan browser lebih mirip versi yang lebih mudah dari membuat GUI dengan API GPU seperti OpenGL
    Sistem operasi sudah punya alat GUI, jadi gunakan saja itu
    Selain itu terlihat cukup bagus, tetapi bukankah sesuatu seperti pcmanfm juga mendukung penambahan lokasi remote?
    Satu hal lagi yang membuat saya penasaran adalah kenapa memakai Prisma

    • Jika ingin membuat aplikasi desktop lintas platform dengan Rust, saat ini saya juga mungkin akan merekomendasikan Tauri + React
      Tauri memudahkan turun ke Rust saat membutuhkan pekerjaan berperforma tinggi atau integrasi sistem operasi, dan packaging untuk platform utama juga sudah tersedia
      Dengan React, kita bisa memanfaatkan ekosistem hebat yang sudah punya banyak komponen UI
      Berbeda dari kebanyakan framework GUI Rust native
      Selain itu, kita bisa menggunakan kembali engineer frontend beserta kemampuan mereka dalam teknologi web dan kolaborasi dengan desainer
    • Sulit mengatakan Rust tidak punya framework GUI karena ada Slint, egui, dan crate binding Qt
      Bisa dibilang belum sematang Qt, tetapi dibandingkan dengan sesuatu yang berjalan di browser, sering kali sudah cukup
  • Repositori ini masih berada pada tahap alfa awal dan punya banyak bug yang diketahui, jadi agak sulit dipercaya bahwa GitHub star-nya sebanyak ini
    Terlebih lagi, kelihatannya mereka mendapat investasi VC, yang terasa lebih membingungkan daripada langchain atau pinecone yang mendapat pendanaan
    Setidaknya yang itu proyek berbasis AI, sedangkan proyek ini berada di area yang sudah banyak digarap
    Bahkan kalau gratis selamanya pun rasanya orang-orang tidak akan menginginkannya, apalagi kalau ada iklan, pelacakan, atau langganan bulanan
    Pada dasarnya tidak ada alasan untuk percaya, dan ada banyak alasan untuk tidak percaya
    Ini bukan serangan pribadi, tetapi kalau belum mempertimbangkan sudut pandang seperti ini, sebaiknya dipikirkan

  • Layar pertama setelah “welcome” adalah login
    Saya tidak tahu kenapa harus login ke file explorer, zaman ini memang aneh

    • Sejak baris pertama tautannya sudah tertulis begini: “Spacedrive is an open source cross-platform file manager, powered by a virtual distributed filesystem (VDFS) written in Rust.”
      Alasan perlu login adalah karena ini merupakan sistem file jarak jauh
      Lebih tepat membayangkannya sebagai Dropbox daripada file explorer
    • Itu ditambahkan di saat-saat terakhir dan kami gagal menjelaskannya dengan jelas kepada pengguna; itu kesalahan kami
      Ini akan diubah pada pembaruan berikutnya
      Pada akhirnya, login akan menjadi cara untuk menghubungkan perangkat dengan cepat, seperti Tailscale
  • Indeks meta yang bisa dicari dan dijelajahi untuk semua penyimpanan cloud dan lokal yang tersebar, baik yang ter-mount maupun tidak ter-mount, jelas menarik dan selama beberapa waktu menjadi semacam cawan suci
    Manajemen aset digital bukan konsep baru, tetapi saat ini bukan bidang dengan banyak pilihan
    Portfolio atau rangkaian produk Adobe yang kompleks menyediakan banyak fungsi seperti ini, tetapi lebih berfokus pada workflow dan metadata daripada penyimpanan cloud
    Saat ini, kita harus sangat berhati-hati sebelum mengadopsi satu lagi layanan yang bergantung pada cloud
    Mengingat sensitivitas “semua file, termasuk file lokal dan offline”, self-hosting/on-premises bisa menjadi persyaratan mutlak
    Jika akun diperlukan, orang akan menginginkan integrasi dengan manajemen identitas yang sudah ada melalui OIDC atau SAML
    Jika alat ini menjadi satu pintu utama untuk melihat seluruh file dan workflow dibangun di atasnya, diperlukan juga fitur kontinuitas yang membuat ketersediaannya bisa diyakini
    Semoga terus didorong maju
    Belum ada yang benar-benar menyelesaikan ini

  • Proyeknya terlihat keren dan saya suka ambisinya
    Ada beberapa catatan
    Sediakan satu toggle yang jelas untuk semua akses WAN, dan toggle terpisah untuk pengiriman data analitik atau data penggunaan, dengan default mati
    Lebih bagus lagi kalau hal-hal ini juga dijadikan flag saat kompilasi
    Dulu terminal baru bernama Warp sangat menarik, tetapi secara default mengirim data lewat jaringan sehingga langsung menjadi alasan penolakan bagi banyak orang
    Semoga banyak mengambil inspirasi dari Windirstat dan Everything, khususnya menjadikan performa pencarian Everything sebagai target
    Saya lihat sudah ada di roadmap, tetapi sekali lagi: tab itu perlu
    Pertimbangkan juga untuk beralih dari Prisma
    Ia terlalu membungkus database dan terlalu banyak “sihir”
    Mungkin dasarnya lemah, tetapi saya sedikit khawatir suatu hari lisensinya akan diubah

  • Saya berharap orang-orang berhenti memperlakukan written in Rust di awal README seolah-olah itu fitur
    Setiap kali melihat frasa seperti itu, yang saya rasakan bukan “pasti lebih stabil”, melainkan “ini proyek hobi seseorang”

    • Di situs webnya saya tidak melihat bagian yang menonjolkan Rust sebagai fitur
      Kalau di README, rasanya wajar dimasukkan sebagai detail relevan untuk proyek open source