HN Rilis: Unforget, aplikasi catatan offline-first terenkripsi
(unforget.computing-den.com)- Unforget adalah aplikasi catatan minimalis yang memungkinkan Anda menulis catatan terlebih dahulu secara lokal lalu melanjutkannya dengan sinkronisasi terenkripsi, dengan menonjolkan privasi sekaligus kemudahan penggunaan lintas perangkat
- Berbasis Progressive Web App, sehingga dapat digunakan di browser, desktop, dan mobile, serta berjalan tanpa Electron.js
- Mendukung penulisan Markdown, ekspor sekali klik dalam format JSON, API publik, serta opsi self-hosting dan cloud
- Dengan pendaftaran gratis, Anda dapat menggunakan backup dan sinkronisasi cloud yang sepenuhnya terenkripsi, dan tidak memerlukan email atau nomor telepon
- Mendukung impor dari Google Keep, Apple Notes, dan Standard Notes, tetapi ketersediaan serta cara instalasinya berbeda-beda tergantung browser
Catatan offline-first dan kontrol data
- Unforget adalah aplikasi penulisan catatan minimalis yang mengutamakan penggunaan offline, serta menyediakan sinkronisasi terenkripsi end-to-end
-
Bentuk aplikasi dan lingkungan penggunaan
- Dapat digunakan di browser, desktop, dan mobile sebagai Progressive Web App
- Berjalan tanpa Electron.js, serta mendukung instalasi opsional sekali klik
- Mengusung desain yang mengutamakan privasi dan disediakan sebagai open source berlisensi MIT
-
Penulisan, migrasi, dan ekspor
- Mendukung penulisan Markdown
- Dapat mengimpor dari Google Keep, Apple Notes, dan Standard Notes
- Data catatan dapat diekspor sekali klik dalam format JSON
-
Sinkronisasi dan ekstensi
- Melalui pendaftaran gratis, catatan dapat dicadangkan ke cloud dalam kondisi sepenuhnya terenkripsi dan disinkronkan di beberapa perangkat
- Pendaftaran tidak memerlukan email atau nomor telepon
- Menyediakan opsi self-hosting maupun cloud
- API publik memungkinkan pembuatan klien sendiri
Cara instalasi menurut browser
- Unforget dapat langsung digunakan dari browser, dan cara instalasinya berbeda-beda tergantung lingkungan
-
Dukungan instalasi
- Chrome: gunakan ikon instal di bilah URL
- Edge: gunakan ikon instal di bilah URL
- Android Browser: menu → Add to Home Screen
- Safari Desktop: Share → Add to Dock
- Safari iOS: Share → Add to Home Screen
- Firefox Android: gunakan ikon instal di bilah URL
-
Batasan instalasi
- Tidak dapat diinstal di Firefox Desktop
1 komentar
Pendapat Hacker News
Penasaran dengan pengalaman membuat PWA yang offline-first
Gagasan memakai web hanya sebagai sarana distribusi dan browser sebagai runtime memang menarik, tetapi saya khawatir dengan berbagai kerumitan kecil pada penyimpanan lokal
Karena datanya tidak terlihat sebagai file seperti
~/.app/app.dat, rasanya seperti “kalau tidak terlihat, akan terlupakan”; juga mengganjal kemungkinan data tiba-tiba hilang karena pembaruan browser, serta kompleksitas menangani manajemen versi skema dalam model dasar webPortabilitas data saat pindah ke komputer baru juga jadi masalah, dan meski menarik bahwa bisa didistribusikan tanpa server selama punya akun GitHub, sisi datanya masih terlihat belum stabil
Terlepas dari tidak adanya sesuatu seperti SQLite, cara membungkus SQLite sebagai gumpalan WebAssembly juga sama sekali tidak membuat saya tertarik
Namun ada batasan menjengkelkan, misalnya saat membuat indeks pada penyimpanan dengan beberapa key, tiap key tidak bisa ditentukan naik/turun secara terpisah
Jika PWA sudah diinstal dengan menambahkannya ke layar utama, browser seharusnya tidak menghapus IndexedDB karena alasan seperti pembaruan, dan dalam praktiknya browser tampaknya mematuhi hal itu
Pengalaman mengembangkan PWA secara umum campur aduk, dan sangat bergantung pada jenis aplikasinya. Untuk aplikasi catatan yang bisa melakukan backup dan sinkronisasi cloud terenkripsi, PWA mungkin pilihan terbaik, tetapi jika perlu integrasi lebih dalam dengan platform seperti akses sistem file, saya akan menghindari PWA
Masalah lain adalah iOS Safari, yang masih kekurangan banyak fitur PWA seperti sinkronisasi latar belakang atau notifikasi push offline, dan tampaknya kecil kemungkinan akan mendukungnya ke depan
Penasaran apakah Anda sedang mempertimbangkan PWA untuk aplikasi tertentu
Perilaku ini sudah menjengkelkan dalam kondisi biasa, tetapi kalau tidak ada backup di sisi server, dampaknya lebih dari sekadar menjengkelkan
Saya tidak yakin apakah peringatan ini juga berlaku untuk
localStorage, tetapi berdasarkan pengalaman, ini berlaku pada IndexedDB, dan tampaknya juga pada aplikasi ElectronIni bekerja cukup baik, tetapi kekurangannya adalah pengguna harus memilih ulang file atau direktori setiap kali memakai aplikasi, dan tidak ada cara untuk memaksa file picker dimulai dari direktori tertentu selain “direktori yang dikenal”
~/.app/app.datReferensi: https://developer.chrome.com/docs/capabilities/web-apis/file...
better-sqlite3[0] dan menyimpan database ke file bernamaprivate/unforget.db[1]Saya tidak punya pengalaman dengan SQLite, jadi tidak tahu apakah file itu sama volatilnya dengan
localStorage[0] https://www.npmjs.com/package/better-sqlite3
[1] https://github.com/computing-den/unforget/blob/master/src/se...
Terlihat bagus. Satu saran: akan lebih baik jika alur penulisan catatan ditampilkan dengan lebih jelas
Masih belum jelas apakah ini berupa dokumen Markdown bertitel yang diorganisasi dalam folder/struktur hierarkis, “kartu” tanpa judul atau dengan judul opsional yang diatur dengan tag, atau dokumen Markdown panjang yang terus ditambahi
Masing-masing mirip dengan workflow sistem catatan arus utama, jadi saya ingin memahami alur mana yang dirancang dan dioptimalkan
Petunjuk bahwa Anda memulai sebagai pengguna Google Keep memang membantu, tetapi saya pernah memakai file teks Homebrew, Simplenote, Obsidian, dan juga cukup punya gambaran tentang Evernote atau OneNote, jadi akan bagus jika ada beberapa penanda tambahan tentang cara penggunaannya
Jawaban singkatnya, biasanya saya menyimpan catatan yang sangat kecil, hanya beberapa baris atau checkbox tugas, dan satu catatan untuk satu ide. Namun jika suatu ide berkembang selama beberapa hari, catatan itu juga bisa menjadi jauh lebih besar, dan tidak ada batas ukuran catatan
Seperti Markdown standar, Anda bisa menetapkan judul catatan dengan
#, dan jika Anda menaruh baris kosong setelah baris pertama, baris pertama akan otomatis menjadi judulTidak ada konsep tag tersendiri, tetapi Anda bisa menulis
#someTaglalu mencari#someTagapa adanya. Fitur pencariannya adalah pencarian substring sederhana di semua catatan, tanpa fitur lanjutan seperti stemmingPriavcy→PrivacySaya ingat kadang saat bepergian dan ingin mencatat di Google Keep, ternyata tidak bisa saat offline
Penasaran browser apa yang Anda pakai
GitHub falvored→GitHub flavoredSaya penasaran apakah ada rencana untuk mengintegrasikan sesuatu seperti https://simplemde.com/ ketika catatan menjadi berat
Untuk catatan yang berisi tabel dan sebagainya, saya lebih suka editor WYSIWYG yang lebih sederhana daripada terus memikirkan sintaks Markdown
Ini juga akan saya coba lagi
Keren sekali, semoga terus berkembang
Ini mengingatkan saya pada Joplin, dan saya penasaran ke arah mana aplikasi ini akan dibawa
Misalnya, alur kerjanya terasa belum cukup cepat. Seharusnya saya bisa membuka aplikasi, paling banyak mengetuk sekali, lalu langsung mulai mengetik; dan bisa memasukkan beberapa item tugas tanpa masuk ke menu atau menekan tombol lain. Di desktop, semuanya memang seharusnya berpusat pada keyboard
Dengan kata lain, saya ingin UI tidak mengganggu, dan menurut saya banyak aplikasi catatan melewatkan bagian ini
Dari sisi arah, saya ingin membuatnya lebih mudah untuk berpindah dari aplikasi lain. Saat ini sudah ada impor Google Keep, tetapi harus jauh lebih banyak lagi
Karena ada API publik, akan bagus jika muncul klien atau integrasi untuk Emacs, VS Code, dan Vim
Selain itu, saat ini aplikasi ini hampir memenuhi semua kebutuhan saya
Saya selalu mencari repositori pengetahuan terstruktur yang lebih baik, dan biasanya menghindari aplikasi Electron atau JavaScript desktop, tetapi tampaknya eksperimen paling banyak justru datang dari sana
Jika ini aplikasi JavaScript, saya penasaran apakah dukungan diagram Mermaid pernah dipertimbangkan. Memang berat, tetapi alasan saya belakangan memakai Joplin untuk catatan adalah karena sintaks Mermaid benar-benar mengubah permainan dibandingkan Markdown biasa
https://mermaid.js.org/
Belakangan saya merasakan frustrasi serupa dengan aplikasi catatan Android, lalu menemukan aplikasi yang cukup bagus dan ingin memperkenalkannya
Namanya Zettel Notes[1], sepenuhnya offline, mendukung berbagai opsi sinkronisasi, dan catatan disimpan sebagai file Markdown sederhana di direktori
[1] https://play.google.com/store/apps/details?id=org.eu.thedoc....
Saya selalu mencari aplikasi catatan yang bisa di-host sendiri dan tampak bagus baik di mobile maupun desktop
Saya penasaran apakah ada rencana untuk merilis kontainer Docker suatu saat nanti
Bagus sekali. Saya penasaran apakah bisa memberi tahu lebih banyak tentang aplikasi native-nya
Saya mencari sesuatu yang native, ringan, dan cepat seperti Apple Notes
Saya sudah lama memakainya langsung di iPhone lama, dan terasa ringan serta cepat
Untuk memasangnya, buka Safari lalu pilih Bagikan → Tambahkan ke Layar Utama
Saya penasaran apa yang dipakai untuk sinkronisasi
Saya sudah melihat beberapa solusi CRDT, tetapi belum yakin harus memakai yang mana, dan di
package.jsonsaya tidak menemukan CRDT atau pustaka sinkronisasi tertentuJika sinkronisasinya dibuat sendiri, saya penasaran bagaimana konflik ditangani
if (a.modification_time > b.modification_time) ...Hanya itu. Seperti fitur-fitur lain, awalnya saya ingin mengimplementasikan CRDT, tetapi kemudian menyadari bahwa dalam praktiknya saya tidak merindukannya
Karena ini bukan editor kolaboratif tempat beberapa pengguna mengedit catatan yang sama, CRDT tidak terlalu berguna
Menurut saya, dalam aplikasi catatan pribadi, CRDT baru dibutuhkan ketika beberapa perangkat sama-sama offline lalu mengedit catatan yang sama secara bersamaan