# Messaggistica istantanea

La messaggistica istantanea è una categoria di sistemi di telecomunicazione in tempo reale in rete, tipicamente Internet o una rete locale, che permette ai suoi utilizzatori lo scambio di brevi messaggi.

## Storia

Sebbene il termine sia apparso negli anni '90, la messaggistica istantanea è precedente a Internet, apparendo per la prima volta in sistemi operativi multi-utente, come il Compatible Time-Sharing System(CTSS) e il Multiplexed Information and Computing Service (Multics), a metà degli anni Sessanta. Il CTSS facilitava la comunicazione via SMS fino a 30 persone.
Con l'evoluzione delle reti, i protocolli si sono diffusi insieme alle reti stesse. Alcuni utilizzavano protocolli single-peer (ad esempio, talk, ntalk e ytalk), mentre altri richiedevano che i nodi peer si connettessero a un server (vedi talkere IRC).
Nella seconda metà degli anni '80 e all'inizio degli anni '90, il servizio online Quantum Link per i computer Commodore 64 offriva la messaggistica da utente a utente tra client connessi simultaneamente, chiamata "messaggistica online" (o OLM in breve) e successivamente "flash mail".
I moderni e pervasivi client di messaggistica basati su Internet e sull'interfaccia grafica, come sono conosciuti oggi, hanno iniziato a emergere a metà degli anni Novanta con PowWow, ICQ e AOL Instant Messenger.
Nel 2010, la proliferazione della messaggistica istantanea su Internet era diminuita drasticamente a favore delle funzioni di messaggistica dei social media.
La popolarità della messaggistica istantanea è stata presto ravvivata dall'emergere di nuovi servizi sotto forma di applicazioni mobili, di cui sono esempi notevoli BlackBerry Messenger (rilasciato per la prima volta nel 2005; oggi disponibile come BlackBerry Messenger Enterprise) e WhatsApp (rilasciato per la prima volta nel 2009).

## Caratteri generali

Le differenze principali rispetto alla posta elettronica o altri tipi di chat stanno non solo nella brevità dei messaggi o nella velocità della loro consegna, ma anche nel fatto che lo scambio di messaggi avviene in modalità sincrona. Nei primi sistemi di messaggistica istantanea e in alcuni di quelli recenti, infatti, l'invio di un messaggio è possibile solo quando anche il destinatario è collegato al sistema (online) e solitamente le comunicazioni non sono automaticamente memorizzate dalle applicazioni.
Al fine di facilitare per un certo utente la comunicazione con gli altri utenti che il primo conosce, i sistemi di messaggistica istantanea offrono spesso la possibilità di memorizzarli in una rubrica, solitamente chiamata "lista dei contatti" o "degli amici". I sistemi di messaggistica istantanea offrono spesso anche la possibilità di scambiare file, di conversare tramite voce con tecnologie VoIP, o di effettuare videoconferenze.
I sistemi di messaggistica istantanea sono realizzati con architettura peer-to-peer, nella quale le applicazioni usate dagli utenti comunicano direttamente tra loro, o con quella client-server, dove invece le comunicazioni sono mediate da un servizio centrale. In altri casi ancora, sono utilizzati modelli ibridi di questi due, dove il primo, più efficiente per la trasmissione dati, è usato solo per il trasferimento file o le audio- o videoconferenze, e ogni altro servizio è centralizzato.

## Aspetti tecnici

Sostanzialmente, un moderno sistema di messaggistica istantanea consiste in un programma server centrale, che gira su una macchina apposita, a cui si collegano i programmi client su ciascun computer collegato in rete: il server tiene traccia di quali computer e quali utenti sono connessi al sistema e gestisce le comunicazioni fra i vari programmi client. Per motivi di sicurezza, ai vari client non viene in generale fornito l'indirizzo di rete del corrispondente con cui sono in comunicazione, tuttavia per motivi di efficienza, durante lo scambio di file oppure di flussi streaming (audio e video in tempo reale fra client) il server comunica a ciascun client l'indirizzo di rete dell'altro per permettere ai due di scambiarsi i dati direttamente senza farli passare per il server.
Usare un programma di messaggistica istantanea è come condurre una conversazione a distanza mediante una digitazione reciproca di un testo. Alcune applicazioni di instant messaging (come ICQ) danno inoltre la possibilità di usufruire di un servizio analogo agli SMS: se un utente contattato non è connesso in quel momento, il server lo memorizza per alcune ore e lo recapita all'utente chiamato appena questi si connette, se lo fa entro il tempo limite.
I software di messaggistica istantanea si sono diffusi rapidamente e i maggiori, come ICQ, MSN e Yahoo, raccolgono ormai la maggior parte degli utenti. La messaggistica istantanea si è diffusa dappertutto, e ogni applicazione ha il suo specifico protocollo, consentendo così agli utenti di eseguire simultaneamente diverse applicazioni disponibili su diversi network.
Il 19 dicembre 2002, l'AOL Time Warner ha annunciato di aver depositato un brevetto per la messaggistica istantanea, ed ha anche registrato il marchio instant messenger; ma fino ad ora (settembre 2004) non ha mai intrapreso iniziative contro alcuno per tutelare le sue proprietà intellettuali.

### Interoperabilità

Diversi protocolli legati alle tecnologie di messaggistica istantanea hanno specifiche di pubblico dominio o standard aperti: il SIMPLE, SIP per Instant Messaging e Leverage Presence; l'APEX, Application Exchange; il PRIM, Presence and Instant Messaging Protocol; e l'XMPP, Extensible Messaging and Presence Protocol. L'apertura delle specifiche di tali protocolli permette interoperabilità a livello di applicazione o di client, consentendo cioè a chiunque di sviluppare software che sia compatibile con un dato protocollo. In certi casi, come quello di XMPP, l'interoperabilità è realizzata anche a livello di infrastruttura, consentendo cioè che un sistema di messaggistica sia collegato con un altro sistema.
Tuttavia, i più diffusi sono i protocolli usati da Microsoft, Mirabilis e altre aziende private che commercializzano questi prodotti ed hanno creato nel tempo reti di messaging importanti di centinaia di milioni di utenti: e anche se tutti, aziende, utenti e provider, sono d'accordo sul fatto che sarebbe una buona idea adottare un unico protocollo standard per tutti i sistemi e unificare i sistemi di messaging.
Nelle ultime versioni di Yahoo! Messenger with Voice, e Windows Live (MSN) Messenger, hanno unito le due community e possibile comunicare fra loro.
Esistono però alcuni client di instant messaging, quasi sempre open source, che sono in grado di usare due o più protocolli proprietari contemporaneamente permettendo di essere connessi a più reti di messaging tramite un solo programma client, per esempio Trillian, Adium, Pidgin, Kopete, Fire, Proteus e Miranda IM, Digsby. In diverse occasioni, Yahoo!, Microsoft e altre aziende che gestiscono protocolli proprietari di messaging hanno attuato strategie di aggiornamento e revisione degli stessi che fanno pensare a dei tentativi di bloccare la connessione alle proprie reti dei client open source: Yahoo! ha anche rilasciato dichiarazioni esplicite in questo senso, affermando che intende continuare a impedire ad altri client di connettersi alla sua rete di messaging. Tuttavia, visto che è perfettamente legale scrivere un programma che emuli un client di terze parti, l'unica arma a disposizione di Yahoo! è di introdurre sempre nuove modifiche al suo protocollo.

### Protocolli

* Gadu-Gadu
* Gale
* IBM Lotus Sametime
* Instantbird
* Matrix
* .NET Messenger Service
* OSCAR (AIM and ICQ)
* Signal Protocol
* SIMPLE
* TOC protocol (AIM)
* Voice over IP
* XMPP
* Yahoo! Messenger
* Windows Live Messenger (MSN Messenger)
* Zephyr Notification Service
* Session Protocol

### Client

* Si veda la relativa categoria

### Server

* ejabberd
* Prosody
* Tigase