- Server kolaborasi open source Stalwart mencapai tonggak baru setelah 4 tahun pengembangan dengan implementasi penuh JMAP untuk kalender, kontak, penyimpanan file, dan berbagi
- Dengan rilis ini, Stalwart menjadi server pertama yang sepenuhnya mendukung seluruh keluarga protokol JMAP, serta menyediakan API terpadu yang meluas dari email ke seluruh area kolaborasi
- Melalui framework tunggal berbasis JSON, pendekatan ini menggantikan kompleksitas dan inefisiensi WebDAV, CalDAV, dan CardDAV yang lama, sekaligus menghadirkan struktur yang ramah pengembang
- Format baru JSCalendar dan JSContact menghilangkan kerumitan iCalendar dan vCard, serta menyediakan model data yang jelas dan konsisten
- Ini melambangkan evolusi teknologi kolaborasi berbasis standar terbuka, dan menandai percepatan inovasi di ekosistem kalender, berbagi file, dan integrasi email pada masa mendatang
Protokol generasi baru
- Dalam beberapa tahun terakhir, IETF telah mendefinisikan ulang cara sinkronisasi dan berbagi email, kalender, dan kontak
- Berdasarkan keberhasilan JMAP for Mail yang sudah ada, protokol ekstensi baru untuk kalender, kontak, file, dan berbagi kini diperkenalkan
- JMAP for Calendars - pengganti modern untuk CalDAV dan penjadwalan CalDAV
- JMAP for Contacts – pengganti kuat untuk CardDAV
- JMAP for File Storage – menggantikan penyimpanan file berbasis WebDAV
- JMAP Sharing – penerus modern WebDAV ACL
- JSCalendar - evolusi iCalendar yang rapi dan berbasis JSON
- JSContact – penerus modern vCard berbasis JSON
- Standar-standar ini menghadirkan ekosistem terpadu dan elegan yang menggantikan teknologi berbasis WebDAV yang terfragmentasi
- Menyelesaikan masalah kompatibilitas selama puluhan tahun dan menyederhanakan fungsi kolaborasi dengan satu model data tunggal
Batasan teknologi lama
- WebDAV, CalDAV, dan CardDAV telah lama digunakan secara stabil, tetapi karena desain berbasis XML, semuanya terlalu bertele-tele dan kurang konsisten
- Data tersebar di berbagai lokasi seperti header HTTP, payload XML, dan data iCalendar, sehingga masalah interoperabilitas antara klien dan server sering terjadi
- iCalendar dan vCard juga menanggung utang teknis selama puluhan tahun
- Banyak properti yang jarang dipakai atau sudah ditinggalkan, dan implementasi antarversi tidak konsisten sehingga memerlukan logika parsing yang kompleks
- Kompleksitas struktural ini menghambat pemeliharaan dan skalabilitas, sehingga tidak cocok untuk lingkungan kolaborasi modern
Munculnya JMAP untuk kebutuhan modern
- Protokol JMAP awalnya dikembangkan sebagai protokol pengiriman email yang efisien dan sederhana untuk menggantikan IMAP dan SMTP
- Berbasis JSON over HTTPS, sehingga menghadirkan kejelasan sekaligus efisiensi jaringan
- Kini dengan hadirnya JMAP for Calendars, Contacts, Files, dan Sharing, filosofi desain yang sama meluas ke seluruh kolaborasi
- Menyediakan API terpadu dan konsisten untuk email, kalender, kontak, file, dan sumber daya berbagi
- JSCalendar dan JSContact membangun ulang iCalendar dan vCard lama dalam format berbasis JSON
- Menghapus properti yang tidak perlu dan menyediakan model data yang jelas serta konsisten
- Mudah dibaca manusia, ramah pengembang, dan efisien untuk parsing, sehingga dioptimalkan untuk aplikasi modern
- Kombinasi JMAP dan model data baru ini memungkinkan implementasi kalender, pengelolaan kontak, dan berbagi file yang lebih cepat dan andal
Arti penting rilis ini
- Rilis ini bukan sekadar penambahan fitur, melainkan titik balik dalam cara merancang protokol groupware
- Pengembang dan organisasi kini dapat membangun email, kontak, kalender, dan sumber daya bersama di atas framework tunggal berbasis JSON
- Kesederhanaan dan prediktabilitas JMAP membantu klien dan server lebih fokus pada fitur dan pengalaman pengguna, bukan pada penanganan protokol
- Hasilnya, diharapkan terjadi penurunan masalah interoperabilitas, peningkatan kecepatan pengembangan, dan percepatan inovasi
- Ini menjadi momentum yang mendorong standardisasi dan peningkatan efisiensi di seluruh perangkat lunak kolaborasi
Dukungan klien dan perluasan ekosistem
- Stalwart saat ini adalah server pertama yang sepenuhnya mendukung seluruh keluarga protokol JMAP, sementara dukungan klien masih berada pada tahap awal
- Namun, beberapa proyek sudah mulai mengadopsi standar baru ini
- Mailtemi, Parula, dan OpenCloud sedang mengembangkan klien untuk JMAP Calendars, Contacts, dan File Storage
- Ekosistem berkembang dengan cepat, dan seiring para pengembang merasakan langsung keanggunan dan kekuatan JMAP, adopsi yang pesat diperkirakan akan terjadi
2 komentar
Bagus sekali!!
Komentar Hacker News
Saya rasa JMAP adalah protokol yang sangat bagus untuk membangun klien email
Saya ingin menghindari self-hosting, tetapi akan menarik jika Stalwart bisa dipakai sebagai komponen server untuk klien, menyinkronkan data IMAP yang sudah ada dan diakses lewat API JMAP
Saya dengar pendekatan seperti sinkronisasi IMAP-ke-IMAP mungkin dilakukan; saya penasaran apakah ada yang pernah mencobanya dengan Stalwart
Jika pendekatan seperti ini memungkinkan, mailbox IMAP yang ada bisa diakses lewat JMAP, dan itu tampaknya dapat mendorong pengembangan generasi baru klien email
Stalwart benar-benar perangkat lunak yang tersusun indah
Sangat mengesankan bagaimana proyek ini membangun kepercayaan sambil terus meningkatkan kematangan secara bertahap
Ditambah lagi, fakta bahwa proyek ini nyaris dipimpin oleh satu orang pengembang sungguh mengejutkan
Grafik kontributor GitHub
Jika IMAP jarak jauh disinkronkan secara berkala ke server IMAP lokal milik Stalwart, Stalwart akan mengubahnya secara internal menjadi JMAP untuk disajikan
Awalnya saya kira harus melewati tahap maildir dulu, tetapi sepertinya IMAP ↔ IMAP saja sudah cukup
Yang saya temukan sejauh ini terlalu mahal, jadi perkembangan seperti ini sangat menyenangkan
Belum ada hasil nyata, tetapi saya masih terus memikirkannya
Karena Stalwart pada dasarnya adalah implementasi server pertama untuk JMAP, sekarang akhirnya ada alasan untuk membuat klien
Sebagai referensi, layanan email baru Mozilla juga akan menggunakan JMAP, jadi ini tampaknya bisa menjadi pendorong besar
Dulu saya pernah mencoba groupware seperti Nextcloud atau SoGo, tetapi hasilnya mengecewakan
Namun sekarang Nextcloud bekerja sama dengan Stalwart, dan Opencloud serta Mozilla/Thunderbird juga sedang mengintegrasikan JMAP, jadi saya optimistis
Terutama karena proyek webmail Thunderbird, Stormbox, juga sedang berjalan, ini terasa menarik
Saat ini dorongan untuk lepas dari Big Tech juga sedang kuat, jadi waktunya terasa sempurna
Cyrus hanya mendukung JMAP untuk email
Sekarang sinkronisasi antar CalDAV, JMAP, dan file system sudah dimungkinkan
Saya memakai klien bernama aerc
Hal-hal seperti berbagi file, groupware, email, dan kalender mungkin bisa dirancang lebih efisien tanpa overhead JSON
Meski begitu, saya rasa pasti ada alasan kuat di balik desain berbasis HTTP ini
Kebanyakan protokol internet awal dibangun di atas Telnet berbasis teks
HTTP/3 pada dasarnya adalah protokol biner, dan JSON itu terstruktur serta efisien untuk dikompresi, jadi dalam praktiknya cukup efisien
“JSON over HTTP” adalah peningkatan yang halus tetapi nyata dibanding “custom text over telnet”
Bahkan jika memakai framework seperti capnproto, grpc, atau ASN.1, masing-masing punya kompleksitasnya sendiri
JSON itu sederhana dan batasannya jelas, jadi lebih mudah ditangani
Sebaliknya, desain yang bergantung pada implementasi seperti protokol Microsoft Exchange cenderung menimbulkan masalah dalam jangka panjang
Dalam beberapa kasus, protokol selain TCP mungkin lebih cocok
Secara pribadi saya tidak suka JSON, dan menurut saya format DER lebih baik
Protokol “small web” seperti Gemini dan Scorpion juga menarik
Justru dari sisi kompatibilitas klien web, HTTP adalah satu-satunya pilihan
Saya rasa hampir tidak ada keuntungan berarti dari tidak memakai HTTP
Jika memakai CBOR alih-alih JSON, payload-nya juga bisa menjadi biner
HTTP adalah protokol state transfer, sehingga cocok untuk sinkronisasi
Jika ditambah ekstensi Braid, protokol ini bisa diperluas menjadi protokol state synchronization
Saya bekerja di proyek Braid
Email sudah didukung, tetapi saat ini masih harus memakai CardDAV/CalDAV juga
Kode
caldav_syncyang ditulis 10 tahun lalu masih berjalanBelakangan ini mereka memperbaiki logika pembuatan objectid untuk memperkecil ukuran ID dan meningkatkan kemampuan pengurutan
Sekarang mereka berencana memperbarui kalender dan kontak ke spesifikasi JMAP terbaru
File system sepertinya akan butuh waktu sedikit lebih lama
Lihat dokumen draf
Contacts disetujui 10 bulan lalu sebagai RFC 9610
Juga belum jelas masalah apa yang sebenarnya diselesaikan dibanding solusi yang sudah ada
Klien utama seperti Apple Mail, Thunderbird, dan Outlook perlu mendukungnya
Akan bagus kalau klien yang lebih kecil seperti Canary atau Spark mengadopsinya sebagai poin diferensiasi, tetapi anehnya itu tidak terjadi
Outlook baru menyimpan semua data di Azure dan berkomunikasi dengan server sebenarnya lewat proxy
Hampir tidak ada kemungkinan akan mendukung JMAP
(Bukan berarti saya membela IMAP)
Jika Gmail atau iCloud tidak mendukungnya, membuat klien pun kurang berarti
Dukungan ganda mungkin saja dilakukan, tetapi pasarnya kecil
Namun itu masih cerita dengan banyak “if”
Karena ini server yang sepenuhnya terintegrasi, rasanya seperti membuka era baru
Maddy juga lumayan, tetapi pemeliharaannya kurang aktif
Tidak ada dokumentasi yang memperlihatkan opsi, nilai default, dan hubungan antar komponennya dalam satu pandangan
Konfigurasi lewat Web UI memang memungkinkan, tetapi berbenturan dengan deployment deklaratif
Jika file
.tomldibuat read-only, akan muncul errorSelain FastMail atau Topicbox, sepertinya tidak banyak pilihan
Saya butuh sesuatu yang bisa di-self-host lewat HTTPS seperti Roundcube atau Wildduck
Selain “ditulis ulang dalam Rust”, tampaknya tidak ada pembeda yang benar-benar jelas
Dalam situasi di mana belum ada MUA (klien email) yang bagus, saya ragu JMAP akan banyak membantu
Sisi server sebenarnya sudah lama dianggap masalah yang terselesaikan, tetapi klien justru stagnan
Bahkan fitur IMAP4 pun sebagian besar belum diimplementasikan, dan klien Sieve juga buruk
Dovecot bahkan masih belum sepenuhnya mendukung UTF-8
Proyek seperti Stalwart adalah upaya untuk melampaui batasan warisan lama seperti ini
Di sisi klien juga ada contoh perkembangan seperti Apple Mail
Tidak ada artinya jika hanya salah satunya yang berkembang
Sekarang server yang bagus sudah ada, jadi yang tersisa adalah klien yang bagus
Nylas sangat kuat, tetapi harganya mahal
Pada skala besar, biayanya $1.50 per akun per bulan, sehingga bisa memengaruhi margin SaaS
Meski begitu, untuk analisis email real-time atau membangun UI kustom, ini sangat berguna