4 poin oleh GN⁺ 2025-10-24 | 2 komentar | Bagikan ke WhatsApp
  • 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

 
t7vonn 2025-10-24

Bagus sekali!!

 
GN⁺ 2025-10-24
Komentar Hacker News
  • Menurut saya, Stalwart adalah server JMAP yang luar biasa
    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
    • Saya ingin menegaskan bahwa kata “excellent” bukanlah berlebihan
      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
    • Ini bisa diwujudkan dengan cukup mudah memakai alat sinkronisasi IMAP ↔ IMAP, mbsync
      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
    • Saya sudah menunggu hal seperti ini sejak lama
      Yang saya temukan sejauh ini terlalu mahal, jadi perkembangan seperti ini sangat menyenangkan
    • Saya juga memikirkan hal yang sama karena alasan serupa
      Belum ada hasil nyata, tetapi saya masih terus memikirkannya
  • Saya sering melihat orang bilang “tidak ada klien”, tetapi tentu saja implementasi server harus muncul lebih dulu
    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
    • Saya pikir Stalwart benar-benar bisa menjadi game changer
      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
    • Sebagai catatan, Stalwart adalah server pertama yang benar-benar mengimplementasikan kontak dan kalender JMAP
      Cyrus hanya mendukung JMAP untuk email
    • FastMail sudah menggunakan JMAP dalam layanan produksi, dan juga merupakan salah satu rekan penulis RFC-nya
    • Baru-baru ini saya mengimplementasikan sinkronisasi kalender JMAP di Pimsync
      Sekarang sinkronisasi antar CalDAV, JMAP, dan file system sudah dimungkinkan
    • Klien JMAP itu ada
      Saya memakai klien bernama aerc
  • JMAP menarik dari sisi desain API web, tetapi saya ragu semua protokol baru harus selalu dibangun di atas HTTP
    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
    • Email pada dasarnya memang bukan protokol biner sejak awal
      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”
    • Kalau membuat format serialisasi sendiri, biasanya justru menambah masalah
      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
    • Menumpang di atas HTTP tidak selalu lebih baik
      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
    • Overhead untuk mengambil email lewat HTTP tidak besar
      Justru dari sisi kompatibilitas klien web, HTTP adalah satu-satunya pilihan
      Saya rasa hampir tidak ada keuntungan berarti dari tidak memakai HTTP
    • HTTP/2 dan HTTP/3 sudah merupakan protokol biner
      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
  • Saya berharap Fastmail segera mengimplementasikan bagian kalender dan kontak dari JMAP
    Email sudah didukung, tetapi saat ini masih harus memakai CardDAV/CalDAV juga
    • Saat ini mereka masih menggunakan versi JMAP lama secara internal
      Kode caldav_sync yang ditulis 10 tahun lalu masih berjalan
      Belakangan 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
    • Spesifikasi JMAP Calendar masih belum disetujui secara resmi
      Lihat dokumen draf
      Contacts disetujui 10 bulan lalu sebagai RFC 9610
    • Jika klien utama seperti Thunderbird, K-9 Mail, dan aplikasi Mail di iPhone tidak mendukungnya, akan sulit bagi JMAP untuk menyebar
      Juga belum jelas masalah apa yang sebenarnya diselesaikan dibanding solusi yang sudah ada
  • JMAP adalah protokol yang bagus, tetapi dukungan klien masih kurang
    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 sudah sedang berubah menjadi khusus MS365
      Outlook baru menyimpan semua data di Azure dan berkomunikasi dengan server sebenarnya lewat proxy
      Hampir tidak ada kemungkinan akan mendukung JMAP
    • JMAP cocok untuk klien tipis seperti webmail, tetapi tidak memberi banyak keuntungan bagi aplikasi desktop yang menyimpan status lokal
    • Jika penyedia email besar tidak mendukungnya, pembeda JMAP jadi lemah
      (Bukan berarti saya membela IMAP)
    • Dukungan server harus datang lebih dulu
      Jika Gmail atau iCloud tidak mendukungnya, membuat klien pun kurang berarti
      Dukungan ganda mungkin saja dilakukan, tetapi pasarnya kecil
    • Agar JMAP berhasil, ia harus berkembang menjadi protokol groupware terpadu yang mencakup email, kalender, kontak, berbagi file, dan lain-lain
      Namun itu masih cerita dengan banyak “if”
  • Berkat Stalwart, self-hosting email jadi jauh lebih mudah
    Karena ini server yang sepenuhnya terintegrasi, rasanya seperti membuka era baru
    Maddy juga lumayan, tetapi pemeliharaannya kurang aktif
    • Saya juga sedang pindah dari kombinasi Maddy+Postfix+Dovecot+Rspamd ke Stalwart, tetapi saya merasa kualitas dokumentasinya kurang
      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 .toml dibuat read-only, akan muncul error
    • Saya penasaran apakah ada klien webmail JMAP yang benar-benar layak pakai
      Selain FastMail atau Topicbox, sepertinya tidak banyak pilihan
      Saya butuh sesuatu yang bisa di-self-host lewat HTTPS seperti Roundcube atau Wildduck
    • Saya tidak yakin ada keuntungan praktis yang nyata dibanding Postfix+Dovecot
      Selain “ditulis ulang dalam Rust”, tampaknya tidak ada pembeda yang benar-benar jelas
  • Saya khawatir ini akan mencoba menggantikan Sieve dengan sesuatu berbasis JSON
    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
    • Saya tidak setuju dengan pernyataan bahwa “server adalah masalah yang sudah terselesaikan”
      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
    • Pada akhirnya kita butuh server dan klien sekaligus
      Tidak ada artinya jika hanya salah satunya yang berkembang
      Sekarang server yang bagus sudah ada, jadi yang tersisa adalah klien yang bagus
  • Jika Anda menginginkan API JSON bergaya JMAP di lingkungan Google Workspace atau Outlook, Nylas bisa menjadi alternatif
    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
  • Saya sudah mencoba memasang Stalwart, dan karena web server dan mail server terintegrasi