Show HN: Citadel, aplikasi pengelola ebook yang kompatibel dengan Calibre
(github.com/every-day-things)- Citadel adalah aplikasi pengelola pustaka ebook yang bertujuan menghadirkan UX yang lebih baik dan kesan penggunaan yang lebih cepat, sambil tetap mempertahankan pustaka ebook yang bisa dibaca oleh Calibre
- Sasaran utamanya adalah kompatibilitas mundur dengan Calibre, antarmuka yang mudah digunakan dan enak dilihat, serta performa yang jauh lebih cepat daripada Calibre dan tidak pernah terasa lambat
- Saat ini masih berupa perangkat lunak tahap awal, sehingga bug dan kekurangan fitur dapat terjadi; aplikasi bisa crash, fitur dasar mungkin belum ada, atau pustaka ebook bisa rusak
- Citadel bukan pembaca ebook maupun editor konten ebook; file dibuka dengan aplikasi default, dan fokusnya adalah pengelolaan metadata seperti judul
- Build stabil tersedia di Releases, build pengembangan tersedia di GitHub Actions, dan pengembangan membutuhkan Bun serta Rust
Apa yang ingin dilakukan Citadel
- Citadel adalah aplikasi untuk mengelola pustaka ebook, dengan kompatibilitas mundur terhadap Calibre sebagai premis utama
- Pustaka yang dimodifikasi oleh Citadel harus bisa dibaca oleh Calibre
- Tujuan proyek ini ada tiga
- Kompatibilitas mundur dengan Calibre: pustaka yang diedit oleh Citadel harus bisa dibaca oleh Calibre
- UX yang baik: harus mudah digunakan dan enak dilihat
- Performa: harus terasa jauh lebih cepat daripada Calibre, dan sama sekali tidak boleh lebih lambat
Hal yang tidak dilakukan
- Citadel bukan pembaca ebook
- Sudah ada aplikasi pembaca ebook yang bagus, dan Citadel membuka file dengan aplikasi default pengguna
- Citadel bukan editor konten ebook
- Jika kebutuhannya adalah mengedit isi teks ebook, bukan metadata seperti judul, ini bukan pengganti
- Tidak menargetkan kesetaraan fitur 100% dengan Calibre
- Ini terutama berlaku pada area plugin
- Ada kemungkinan beberapa fitur lanjutan Calibre tidak akan dibuat
Status saat ini dan unduhan
- Citadel berada pada tahap pengembangan yang sangat awal
- Bisa crash
- Fitur dasar mungkin belum ada
- Bisa merusak pustaka ebook
- Jika menggunakan Citadel pada pustaka Calibre, backup rutin diperlukan
- Build yang setengah stabil dapat diperoleh dari Releases
- Build pengembangan dapat diperoleh dari GitHub Actions
- Pengguna diminta melaporkan isu atau crash yang terjadi saat memakai versi apa pun
Catatan instalasi macOS
- Build macOS masih belum ditandatangani
- Jika membuka
Citadel.appsecara langsung, akan muncul peringatan bahwa file “damaged” - Masalah ini dapat diselesaikan dengan menghapus atribut Quarantine pada file
- Panduan terkait: Removing the Quarantine attribute from the file
- Contoh perintah:
xattr -d com.apple.quarantine /Applications/Citadel.app/
Pengembangan dan build
- Prasyarat pengembangan adalah memasang Bun dan Rust
- Instalasi paket:
bun install - Menjalankan mode pengembangan:
bun run dev # or just bun dev - Perintah lint dan format adalah sebagai berikut
- Format seluruh kode:
bun format - Pemeriksaan format seluruh kode:
bun format:check - Lint seluruh kode:
bun lint - Format backend:
bun format:backend - Lint backend:
bun lint:backend - Format frontend:
bun format:web - Lint frontend:
bun lint:web
- Format seluruh kode:
- Pratinjau aplikasi dapat dijalankan tanpa backend
- Error akan ditampilkan karena backend Rust diasumsikan ada meskipun sebenarnya tidak ada
bun dev:app - Build produksi dibuat dengan perintah berikut setelah prasyarat pengembangan terpenuhi
bun install bun run build
Pembaruan dan proyek terkait
- Citadel dapat memeriksa pembaruan aplikasi dan memasangnya saat diminta
- Pemeriksaan pembaruan otomatis dapat dinonaktifkan di Settings melalui
Auto updates: On/Off - Instalasi selalu dilakukan secara eksplisit, dengan teks UI
Install and restart - Pengaturan maintainer dan detail workflow rilis ada di
docs/updater-and-releases.md - Citadel menjadikan Calibre sebagai titik acuan, dan terinspirasi oleh Calibre redesign Figma prototype
1 komentar
Komentar Hacker News
Mungkin akan muncul pertanyaan, “Mengapa membuat aplikasi baru alih-alih berkontribusi ke proyek yang sudah ada seperti Calibre Web?”, dan jawabannya adalah karena memang ingin membuatnya
Saat ini ini adalah proyek hobi, jadi dibanding memperluas proyek yang sudah ada, saya lebih tertarik membuat software dengan cara yang menyenangkan meski hasilnya masih kasar. Citadel dirancang agar kompatibel ke belakang dengan Calibre, jadi Calibre Web juga tetap bisa digunakan
Di backend, kode yang bersentuhan dengan Calibre juga sudah dipisahkan menjadi library tersendiri, dan nantinya ingin dibuat agar bisa dipakai proyek lain juga. CLI untuk library Calibre sepertinya juga mungkin
“Di banyak bidang, nasihat untuk tidak menciptakan ulang roda hampir diterima sebagai akal sehat. Namun sesekali saya ingin menyarankan: lakukan saja. Prosesnya saja akan membuat Anda menjadi lebih baik, dan pada akhirnya roda yang lebih baik pun lahir dengan cara itu. Karena orang-orang sekadar mencobanya.”
https://www.youtube.com/watch?v=YOZnqjHkULc
Calibre cukup menyakitkan untuk digunakan meski sudah tahu fiturnya, sehingga sulit direkomendasikan baik kepada kakek-nenek maupun orang yang melek teknologi
Meski begitu, semoga proyeknya berjalan baik
[0] https://www.cs.cmu.edu/~awb/linux.history.html
Kalau ada pesaing yang solid, lebih terbuka, modern, dan memikirkan library ter-host, saya rasa saya akan langsung pindah
Kadang saya berpikir kalau Calibre tampilannya saja lebih bagus, orang-orang mungkin akan menyadari betapa hebatnya aplikasi itu. Sejujurnya tidak seburuk itu dan secara pribadi saya menyukainya, tetapi orang-orang tampaknya tidak bisa melewati tampilan luarnya
Aplikasinya terus crash dan prosesnya sangat lambat sampai saya memindahkannya ke mesin terpisah. Saat mencoba mencari lewat antarmuka web, itu juga sangat lambat
Belum lagi UI yang tidak intuitif. Untuk sesuatu yang berperan sebagai library, bahkan masih jauh tertinggal dari daftar penulis berdasarkan urutan alfabet seperti di perpustakaan sungguhan
Saya paham kebanyakan orang mungkin hanya punya sekitar 10–300 buku, tetapi saya mencoba memakai Calibre untuk beberapa library besar dan benar-benar tidak sanggup bertahan
Keputusan untuk tetap bersikeras memakai SQLite saja juga tidak membantu. Sekitar 2016 saya membuka PR, tetapi maintainer cukup keras menolak mengubah lapisan database atau membuatnya bisa diganti
Selain itu, dalam beberapa detik saja kita bisa menjalankan container calibre-web dan mendapatkan UI yang rapi serta OPDS, jadi saya tidak tahu mengapa harus bersusah payah menoleransi “estetika” itu
Tidak intuitif dan UI/UX-nya cukup buruk. Ia mengalami kutukan yang sering dialami aplikasi-aplikasi kuat
Meski begitu, hari ini saya akan mencobanya lagi dan melihat apakah saya bisa membiasakan diri. Terutama untuk pengguna mahir, ini benar-benar produk gratis yang luar biasa
Proyek yang bagus. Aku suka fitur-fitur Calibre, tapi aku juga cukup frustrasi dengan UI-nya, jadi aku mulai mendesain antarmuka yang terasa seperti perpaduan antara iTunes sebelum Apple Music dan iBooks
Sejauh ini baru satu layar yang dibuat, tapi bisa dilihat di sini: https://www.figma.com/file/m8qaYbPSnxiFPDPbuYtz2w/Calibre-re...
Pertanyaan utamanya adalah bagaimana menampilkan fitur-fitur utama Calibre dalam UI yang terasa native di macOS
Kalau tidak menargetkan lintas platform, saat ada waktu mungkin bisa dibuat sebagai aplikasi SwiftUI dengan backend Rust
Mengikuti pengembangan Calibre dan memeliharanya mungkin sulit, tapi ini terlihat seperti proyek hobi yang menarik
Khususnya redesain yang diunggah Kemie Guaida[1] di Reddit menjadi inspirasi desain besar, dan karena perlu mencantumkan kredit di repositori juga, itu akan segera ditambahkan: https://old.reddit.com/r/Calibre/comments/udzumn/testing_a_n...
Gambaran umum proyek lengkapnya bisa dilihat di sini: https://www.figma.com/file/g4ntqXWa6C0PRGrG3WjyXM/Calibre-pr...
[1]: https://kemielikes.design/
Kemarin aku baru sadar, di Ubuntu 22.04 setelah menghubungkan reader Kobo, cukup salin epub begitu saja ke direktori
root/di mount point/media/oakhaven/koboreader. Setelah itu akan muncul di daftar buku perangkatEntah kenapa aku mengira memasukkan buku ke Kobo itu rumit, dan selama ini hanya memakai Calibre saat memindahkan buku dari laptop ke Kobo
Aku tahu Calibre punya banyak fitur lain, tapi aku tidak suka antarmukanya, dan sekarang senang karena tidak perlu lagi memakai Calibre atau aplikasi serupa
Tidak perlu format khusus, dan format standar seperti ePub berjalan dengan baik
Karena itu aku heran bagaimana Kindle bisa tetap begitu populer. Mungkin karena efek first-mover, tapi e-reader yang tidak bisa membaca ePub dan PDF terasa seperti pemutar audio yang tidak bisa memutar MP3 dan AAC
[1]: https://pgaskin.net/kepubify/
Seingatku aku memasukkan buku terlebih dulu lewat USB, lalu menyinkronkan berita harian dan buku tambahan dengan rsync. Sebagian konten dibuat otomatis dan masuk ke direktori, seperti hasil pengumpulan otomatis atau langganan email, dan sebagian lagi dimasukkan manual seperti menyalin buku baru setelah dibeli
Sebenarnya ini bukan masalah yang sangat rumit, tapi Calibre melakukan jauh lebih banyak hal selain menyalin buku ke struktur folder tertentu
Aku tidak tahu apakah itu benar-benar lebih mudah daripada sekadar membuka folder lalu copy/paste, tapi saat Citadel mendeteksi buku apa saja yang ada di perangkat, ia memperbarui file metadata yang dipakai Calibre sehingga tidak perlu membaca semua file di folder
Kelihatan bagus. Baru minggu lalu aku mencoba memakai Calibre lagi dan tersedot ke lubang hitam UI-nya. Aku sempat berpikir untuk menyumbangkan pekerjaan UI/UX, tapi rasanya itu akan menjadi proyek bertahun-tahun
Sebagai gantinya, mungkin aku bisa membantu UI/UX proyek ini
Ia telah melakukan pekerjaan yang luar biasa, tapi ia termasuk orang dengan selera yang sangat kuat, sehingga untuk beberapa hal ia bisa cepat, sewenang-wenang, dan anehnya bermusuhan meski orang lain menawarkan diri untuk mengerjakannya
Setelah membaca buku selama beberapa bulan, aku mengulangi proses impor itu lagi
Jujur aku penasaran, apakah ada contoh aplikasi smartphone native yang sekaya fitur Calibre tetapi menyajikannya dengan cara yang jauh lebih baik dan mudah?
Senang melihat proyek hobi yang benar-benar dirilis. Tampilannya juga rapi. Dan calibre CLI jelas sepertinya akan disambut baik. Saya tidak suka harus mengeklik masuk lewat lima tingkat menu
Kalau area "pembaca" dan "editor" memang bukan tujuan eksplisitnya, saya penasaran apa yang sebenarnya Citadel lakukan untuk pengguna. Apakah terutama portal untuk melihat, mengurutkan, dan mengeklik buku? Apakah ada roadmap yang membayangkan lebih banyak fitur?
Citadel mendukung, dan sebagian sudah mendukung, penyuntingan metadata seperti judul buku, penulis, serta nantinya tag dan kolom khusus. Itu sudah pasti. Sinkronisasi perangkat juga akan masuk seiring waktu, dan fitur mengunduh metadata dari sumber online juga akan ditambahkan
Namun tidak ada rencana untuk menyunting isi buku atau memasukkan e-reader bawaan. Sudah ada banyak aplikasi dan perangkat e-book yang bagus, dan menurut saya penyuntingan epub tidak digunakan sesering manajemen koleksi
Tidak ada roadmap, tetapi kami selalu terbuka untuk masukan dan ide
Selain itu, fitur seperti konversi format dan penghapusan DRM mungkin juga akan masuk. Idealnya saya ingin mengimplementasikannya sebagai crate atau plugin agar lebih mudah diperluas
ebook-convert. Mendukung berbagai format file seperti epub, pdf, azw3, mobi, dan lainnyaContoh:
ebook-convert file.epub file.azw3Terlihat sangat keren dan saya berencana mencobanya. Ironisnya, baru-baru ini saya membuat aplikasi desktop untuk manajemen audiobook dengan stack yang sama, yaitu Rust + Tauri + Svelte
Sekadar promosi kalau ada yang tertarik: https://gitlab.com/fonner/audiobook-locker#audiobook-locker
Saya penasaran kenapa memilih Svelte dan Tauri untuk proyek ini. Apakah sudah familier dengannya?
Agak di luar topik, tapi cara menjalankan ini membuat hari saya jadi lebih menyenangkan
bun dev -- -- -- -- --server ...Menarik. Saya juga sempat mulai mengerjakan proyek serupa dengan ide yang mirip, tetapi memilih SvelteKit dan browser alih-alih aplikasi native
https://github.com/project-kiosk/kiosk
Saya belum bisa mempertahankan motivasi cukup lama untuk menyelesaikannya
Tulisan singkat tentang Citadel: https://denhoff.ca/posts/replacing-calibre