JMAP: il successore di IMAP

Contenuto1 Introduzione2 Come nasce JMAP3 Principali differenze tra IMAP e JMAP4 Perché JMAP non è ancora utilizzato in massa? Introduzione Se per molti utenti il protocollo IMAP è già più […]

Avatar di gbfactory
gbfactory 31 Dicembre 2023

Introduzione

Se per molti utenti il protocollo IMAP è già più che sufficiente, nel 2019 si è sentito il bisogno di rinnovare ancora gli strumenti che permettono la gestione delle email.

I promotori del nuovo protocollo di comunicazione JMAP (JSON Meta Application Protocol), Bron Gondwana e Neil Jenkins, osservano che “gli attuali protocolli aperti che collegano client e server di posta elettronica, come IMAP, non sono progettati per l’era moderna“. I due sviluppatori hanno parlato delle complessità di IMAP, dell’elevato utilizzo di risorse, della scarsa adattabilità ai vincoli di rete dei moderni dispositivi mobili. Per non parlare delle difficili interazioni con altri protocolli come SMTP, CalDAV e CardDAV.

Gondwana e Jenkins ritengono che ciò abbia comportato una stagnazione nella qualità dei client di posta elettronica e favorito la creazione di protocolli proprietari, cosa che dovrebbe essere sempre evitata.

Come nasce JMAP

Progettato per semplificare e standardizzare l’interazione tra client e server nelle applicazioni di posta elettronica, JMAP va ben oltre i suoi predecessori ampliando il suo raggio d’azione, ad esempio, a calendario e contatti. Supportato da IETF (Internet Engineering Task Force) e approvato come standard (ecco le specifiche finali), JMAP è un progetto open source che si è subito guadagnato il sostegno di tante organizzazioni.

Questo ha il vantaggio di definire un modello comune per la gestione delle varie tipologie di dato: così è possibile rendere i client di posta più facilmente interoperabili. Utilizza il formato JSON (JavaScript Object Notation) e definisce un set di API per permettere ai client di accedere ai dati e gestirli in modo efficiente.

L’idea alla base del protocollo JMAP è quella di ridurre la quantità di dati scambiati tra client e server, ottimizzando le richieste e le risposte per migliorare le prestazioni delle applicazioni. Grazie ai meccanismi di sincronizzazione efficienti sui quali si basa JMAP, è possibile mettere in comunicazione più client con il server facendo sì che tutte le modifiche vengano simultaneamente visualizzate.

JMAP nasce inoltre per essere estendibile, consentendo l’introduzione di nuove funzionalità senza dover modificare il protocollo.

Principali differenze tra IMAP e JMAP

Soppesando le differenze tra IMAP e JMAP balzano immediatamente agli occhi le ragioni che hanno portato alla nascita del nuovo protocollo. Innanzi tutto, mentre IMAP utilizza una struttura di dati gerarchica basata su cartelle per organizzare le email e altre informazioni di posta elettronica, JMAP utilizza un modello di dati basato su oggetti JSON.

Le funzionalità di sincronizzazione di IMAP sono meno sofisticate rispetto a quelle di JMAP: il più recente protocollo consente al client di gestire facilmente le modifiche apportate alle email ma anche ai contatti e agli eventi del calendario. Cosa che IMAP non permette di fare. Questo favorisce il supporto diretto di più applicazioni: email, calendario, contatti e altri strumenti possono essere gestiti allo stesso modo attraverso un’unica piattaforma.

JMAP è pensato per essere più efficiente in termini di trasmissione dei dati rispetto a IMAP. Le richieste e risposte JSON sono compatte e aiutano a ridurre la quantità di dati scambiati tra client e server, migliorando le prestazioni dell’applicazione.

Perché JMAP non è ancora utilizzato in massa?

Come tutte le cose nuove, l’adozione di JMAP su larga scala richiede tempo. GitHub ospita ltt.rs, un progetto di client email per Android che utilizza solo JMAP. Stalwart JMAP Server è invece un server JMAP open source scalabile scritto in Rust: abbraccia completamente le specifiche del nuovo protocollo.

Fastmail, società specializzata in servizi di posta elettronica, è una della realtà che ha spinto di più su JMAP contribuendo in modo significativo alla sua definizione e sviluppo. I suoi client, tra cui webmail e app mobili, supportano JMAP di default per consentire una migliore esperienza utente.

Anche realtà come ProtonMail e 1Password hanno deciso di abbracciare JMAP. 1Password, ad esempio, ha utilizzato JMAP per estendere il supporto del servizio delle email temporanee usa e getta.

In ogni caso, da qui in avanti sarà importante tenere d’occhio l’implementazione di JMAP da parte dei vari vendor. Sarà una buona cartina tornasole per capire quali aziende sono maggiormente aperte all’innovazione e scelgono di non barricarsi sull’utilizzo di protocolli proprietari.