MESSAGGISTICA ISTANTANEA
Salve a tutti!!!
Sono Daniele Checchinato, studente di Ingegneria delle Telecomunicazioni della Sapienza.
Ho svolto questa tesina sulla messagistica istantanea mettendo a confronto i vari servizi di messagistica presenti in rete, con particolare attenzione alle capacità di gateway offerte da Jabber. Inoltre è stato mio compito allestire un canale IRC per consentire a tutti noi studenti del corso e al professore di contattarci velocemente.
1 - Introduzione
Un sistema di messaggistica istantanea (instant messaging IM) è un sistema di comunicazione solitamente client-server per computer che consente di scambiare in tempo reale, fra utenti di due computer connessi in rete, frasi e brevi testi (spesso vengono offerti anche altri servizi oltre al semplice invio di messaggi). È differente dalla e-mail perché lo scambio è istantaneo.
Sostanzialmente, un moderno sistema di instant messaging 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 files 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.
2 - Comparazione degli instant messenger
In rete sono presenti vari programmi di messagistica istantanea. Ognuno di questi ha però differenti sistemi operativi supportati, protocolli utilizzati e funzioni disponibili. In questa pagina verranno confrontati i principali tra tutti quelli esistenti (è possibile però avere un panoramica generale delle differenze tra tutti gli IM utilizzando l'enciclopedia libera Wikipedia).
2.1 - Gaim
(ora chiamato
Pidgin) è un software libero disponibile sotto la GNU General Public License. L'attuale versione stabile è la 2.0.0, rilasciata il 3 maggio 2007. Originariamente scritto da Mark Spencer per i sistemi operativi Unix-like, oggi è in grado di "girare" su una varietà di piattaforme, comprendendo Microsoft Windows, GNU/Linux e Mac OS X. Tra le varie funzioni troviamo:
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/gaim.jpg)
- Le finestre dei messaggi usano la funzione di tabbed browsing per facilitare il passaggio da una conversazione all'altra.
- Le opzioni di account permettono all'utente di entrare con diversi account alla volta.
- Supporto della trasparenza attraverso plugin per le finestre di conversazione e della lista dei contatti.
- Aliasing dei nickname dal nome reale dell'utente, in questo modo un utente connesso su vari protocolli verrà raggruppato in un solo nome.
- Registrazione delle conversazioni e dei messaggi.
- La funzione di notifica (Buddy Pounce), effettua avvisi con finestre "pop-up" o con emissione di suono quando un utente o si collega/scollega o cambia stato.
Un client Gaim può supportare praticamente tutti i protocolli di instant messaging (ad eccezione del protocollo Skype).
2.2 - Windows Live Messenger
è un client di instant messaging prodotto da Microsoft e fa parte del gruppo di servizi online denominato Windows Live. Si propone come una versione aggiornata di MSN Messenger (spesso abbreviato in MSN) a partire dalla versione 8.0, introducendo nuove funzionalità e migliorando lo stile visivo.
Con
Windows Live Messenger, analogamente ad ogni altro instant messenger, è possibile chattare con altre persone che abbiano attivo lo stesso programma: basta aggiungere il loro indirizzo di posta elettronica alla rubrica del programma e da quel momento in poi sarà possibile vedere quando quel contatto è on-line e quindi chattare con esso. È anche possibile utilizzare una webcam per effettuare una videoconferenza, o anche solamente un microfono per comunicare vocalmente.
Windows Live Messenger si distingue da Windows Messenger, che è orientato ad un uso aziendale, per numerose funzioni, ad esempio la possibilità di giocare in rete con un amico, e si integra con una serie di funzionalità disponibili nel portale MSN di Microsoft. Il difetto principale, rispetto alla versione base, è la presenza di un banner pubblicitario nella finestra del programma.
Windows Live Messenger utilizza un protocollo proprietario Microsoft (lo stesso utilizzato da Windows Messenger), ed è disponibile solo per piattaforme Windows. Vi sono alcuni software di terze parti, anche open source, che emulano questo protocollo. Alcuni di questi permettono di utilizzare la rete di Windows anche su Linux.
Numerosi sono gli add-on sviluppati per questo programmma, che consentono l'aggiunta di suoni, emoticon animate, effetti grafici particolari o altre funzioni non presenti nel software originale. Un' ulteriore novità di Windows Live Messenger è quella di chattare anche con un utente che utilizza Yahoo! Messenger.
2.3 - Skype
è un software di instant messaging e VoIP, introdotto nel 2002, capace di unire caratteristiche presenti nei client più comuni (chat, salvataggio delle conversazioni, trasferimento di file) ad un sistema di telefonate basato su un network Peer-to-peer. La possibilità di far uso di un servizio a pagamento, SkypeOut, che permette di effettuare chiamate a telefoni fissi, rendono il programma competitivo rispetto ai costi della telefonia tradizionale, soprattutto per le chiamate internazionali e intercontinentali. Con
Skype è possibile anche inviare sms a basso costo verso tutti gli operatori di rete mobile. Skype fa uso di un protocollo VoIP (Voice Over IP) proprietario (cioè non formalizzato in alcuno standard internazionale) per trasmettere le chiamate. I dati, trasmessi in forma digitale, vengono cifrati tramite algoritmi non divulgati pubblicamente. L'azienda produttrice del programma assicura un grado di protezione della comunicazione comparabile con quello dei più diffusi standard crittografici.
Va notato - tuttavia - che questo livello di sicurezza (benché superiore a quello del tutto nullo offerto dalla telefonia tradizionale) non è verificabile a causa della riservatezza dell'algoritmo crittografico. Skype funziona sostanzialmente in due modalità: peer-to-peer e disconnesso. La prima, che permette di effettuare telefonate completamente gratuite, funziona solamente se sia il mittente che il destinatario sono collegati a internet e sono connessi tramite il client Skype. In questo modo il suo funzionamento è analogo ad un qualsiasi sistema di instant messaging come ICQ o AIM o MSN Messenger. La seconda permette di poter effettuare telefonate ad utenze telefoniche (fisse o mobili) di utenti non collegati tramite computer. In questa modalità a pagamento, il cui nome commerciale è SkypeOut, la comunicazione corre via Internet fino alla nazione del destinatario, dove viene instradata sulla normale rete telefonica del Paese. Il software utilizza la porta 80, la stessa dedicata alla navigazione Internet e utilizzata da tutti i browser, in modo da non essere bloccato dai firewall. La gestione del traffico dati è affidata a qualche nodo client scelto casualmente fra quelli dotati di un collegamento a banda larga; i dati degli utenti ugualmente non vengono memorizzati su un server, ma sono inviati criptati all'interno della rete. I costi ridotti sono dovuti al fatto che la telefonata sfrutta i normali mezzi della trasmissione telefonica solamente in prossimità della destinazione, per tratte caratterizzate dal basso costo delle telefonate locali
2.4 - Yahoo Messenger
è un software libero che supporta solamente il protocollo Yahoo!.
Fondamentalmente è dotato delle stesse funzioi di Windows Live Messenger, ma a differenza di quest'ultimo è in grado di "girare" su qualsiasi sistema operativo (il che non è poco).
Le principali funzioni (oltre quelle standard, tipiche di un client di IM) sono:
- condivisione foto;
- ascolto in streaming delle radio;
- giochi online;
- ricerca, aggiunta e condivisione contatti personali;
- ricerca utilizzando la funzione "Yahoo! Search";
- trasferimento dei file;
- agenda;
- possibilità di apparire online per alcuni contatti e offline per altri.
2.5 - Google Talk
è un servizio di Voice over IP e di messaggistica istantanea offerto da Google. La prima versione di Google Talk è uscita il 24 agosto 2005 ed era disponibile solo per Windows (2000, XP, Server 2003). Diversamente da altri sistemi di messaggistica istantanea,
Google Talk usa un protocollo aperto, XMPP, per la parte di messaggistica ed incoraggia l'uso di altri client per la connessione al servizio offerto.
Gli utenti di altri sistemi operativi hanno la possibilità di connettersi con altri client Jabber (che utilizza anch'esso il protocollo XMPP), sebbene il servizio di fonia funzioni solo usando il client Google. Da agosto 2006 Google ha implementato il trasferimento dei file, una funzione molto richiesta. Originale la possibilità di utilizzare GTalk dal web, senza necessità di installare alcun software, semplicemente entrando nella propria casella Gmail.
L'uso di Gtalk attraverso Gmail è limitato alla chat testuale e non permette ne le chiamate audio ne il trasferimento file. Vi è pure una versione web "sidebar", pensata da tenere aperta nel Browser mentre si naviga. Questa versione è probabilmente destinata a sostituire quella presente in Gmail.
3 - Jabber
La possibilità offerta da GTalk di poter utilizzare altri client Jabber per connettersi al suo server è molto interessante, poichè consente l'interoperabilità tra i vari programmi di IM. Il mio compito principale in questa tesina è proprio quello di confrontare i vari instant messenger dal punto di vista delle funzioni offerte da Jabber, con le sue capacità di gateway. Prima di tutto quindi vediamo cos'è e come funziona Jabber.
3.1 - Che cos'è?
Jabber è una piattaforma di messagistica istantanea open-source, basata sul protocollo XMPP (un'estensione del protocollo XML). Offre numerosi servizi nel campo della messagistica come: la chat fra due o più persone, la possibilità di conoscere la presenza in rete di qualcuno, e tanto altro ancora. Non è un client multi-protocollo, come ad esempio Gaim (che tra l'altro supporta anche il protocollo Jabber), ma molti server Jabber funzionano come gateways per i servizi di IM. La comunità di Jabber è concentrata nella costruzione di una vera alternativa agli altri servizi di IM, proponendo agli utenti che lo utilizzeranno la possibilità di:
- avere un software open-source;
- poter creare una rete Jabber privata (dietro a un firewall) o una rete globale e pubblica;
- comunicare con client di altre reti, come se questi fossero utenti Jabber.
3.2 - Come funziona?
Nelle documentazioni di Jabber, per spiegare come funziona la stessa applicazione di IM, è tradizione usare come esempio la storia di Shakespeare, Giulietta e Romeo, immaginando di assistere allo scambio di messaggi tra i due protagonisti. Giulietta non invia direttamente il suo messaggio a Romeo (peer to peer), "non nel mondo" Jabber. Giulietta ha un prorpio account sul server Jabber, e il suo indirizzo Jabber (chiamato Jabber ID o "JID") funziona come un indirizzo mail. Dato che Giulietta è una Capuleti, lei registra il suo username "giulietta" sul server Jabber installato su capuleti.com, quindi il suo ID è giulietta@capuleti.com. Allo stesso modo, Romeo, ha un proprio account sul suo server di famiglia e il suo ID è romeo@montecchi.net.
Una volta che Giulietta si è registrata sul server capuleti.com, può inviare messaggi al suo amato. Per essere precisi ciò che accade quando Giulietta invia un messaggio dal suo client Jabber è:
- Giulietta invia il suo messaggio all'indirizzo romeo@montecchi.net
- Il messaggio viene gestito dal server Jabber su capuleti.com
- Il server capuleti.com instaura una connessione con montecchi.net
- Assumendo che non sia disabilitata la comunicazione server-a-server tra capuleti.com e montecchi.net, il messaggio di Giulietta viene instradato verso il server Jabber su montecchi.net
- Il server su montecchi.net vede che il messaggio è indirizzato verso un attuale utente chiamato "romeo" e gli consente di andare sulla finestra del client Jabber di Romeo
- Il messaggio appare a Romeo
3.3 - Scegliere un client Jabber
Quale sia il client Jabber migliore per te dipende dal sistema operativo che hai a disposizione, dalle tue necessità, e da quale applicazione di IM hai usato in precedenza. Alcuni client sono più stabili di altri, alcuni offrono più funzioni, ecc. Potete trovare un qualsiasi client Jabber gratuitamente sul sito
http://exodus.jabberstudio.org/ se disponete di un sistema operativo Windows, se invece utilizzate Linux potete trovarlo presso il sito
http://gabber.sourceforge.net/ (questi sono quelli "indicati" dal sito ufficiale di Jabber). Troverete comunque una lista completa dei client Jabber sulla pagina
http://www.jabber.org/software/clients.shtml. Comunquesia io ho preferito utilizzare "Gaim", un client multiprotocollo , che può girare indifferentemente su Windows e Linux. Una volta scelto il client devrai solo seguire la procedura di installazione e avviare il programma.
Adesso bisogna, quindi, scegliere un server Jabber.
NOTA: La comunicazione Jabber avviene sulla porta 5222. Se hai un firewall attivo che blocca quella porta, non potrai utilizzare il client.
3.4 - Scegliere un server Jabber
Come per i client, anche la scelta del server Jabber dipende dalle tue necessità. Il server pubblico della Jabber Software Foundation gira su jabber.org, ma ci sono molti altri server pubblici presenti in rete presso
http://www.jabber.org/software/servers.shtml. Per capire al meglio il funzionamento di Jabber mi è tornato molto utile installare sul mio pc un server Jabber (sono dell'idea infatti che una cosa non si capisce fino in fondo finchè non si prova a sperimentarla...e così ho fatto!). Tra i tanti presenti in
rete ho scelto di utilizzare
OpenFire Server, poichè è molto semplice da installare e amministare, e possiede numerose funzioni. Infatti è possibile controllare quali sono gli utenti al momento collegati, cancellare un utente o crearne uno nuovo, dare o meno l'autorizzazione (attraverso la creazione di una password) ad un client di collegarsi al server, scegliere le porte da utilizzare nelle connessioni tra client e server o tra due server, ecc.
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/user.jpg)
Inoltre, è uno l'unico server Jabber(tra quelli che io ho provato), a dare la possibilità di scegliere se utilizzare un database esterno(da creare con MySQL), o di utilizzare un database integrato(cioè che non ha bisogno di essere creato manualmente). Questa è stata l'opzione che più mi ha interessato, non essendo io in grado di creare un database con MySQL(alla fine sono un aspirante ing. delle telecomunicazioni, non informatico!). Dopo l'installazione dell'applicazione, è possibile settare a proprio piacimento il server, attraverso il comando launch Admin, diventando così amministratori del server.
Una volta loggati appare una schermata (quella riportata quì sopra) che consente di controllare le proprietà del server e l'ambiente in cui lavora. Ovviamente, a seconda del tipo di comunicazione che avviene, verrà utilizzata una porta differente:
- sulla potra 5222 avvengono tutte le connessioni standard tra client e server, e possono o meno essere criptate, mentre sulla porta 5223 transitano sempre connessioni tra client e server, ma il server usa il metodo SSL per la criptare i dati (non viene utilizzato quindi un protocollo XMPP)
- la porta 5269,invece, viene utilizzata per connessioni tra server, affinchè sia possibile instaurare un collegamento tra i server su cui sono connessi i due clients
- infine, le porte 9090 e 9091 vengono utilizzate per consentire l'accesso al server da parte dell'amministratotre (la prima porta non ha un accesso sicuro a differenza della seconda)
3.5 - Capacità di gateway offerte da Jabber
Una caratteristica unica del sistema Jabber è quella dei transport, anche conosciuti come gateway o agenti, che consentono agli utenti di accedere a reti che usano altri protocolli.
A differenza dei client multiprotocollo come Pidgin (Gaim), Jabber fornisce questo accesso a livello di server, comunicando per mezzo di servizi speciali gateway che girano su un computer remoto. Ogni utente Jabber può registrarsi con uno di questi gateway fornendo le informazioni necessarie per accedere alla specifica rete, potendo quindi comunicare con utenti di quella rete come se fossero utenti Jabber. Questo significa che qualsiasi client che supporta il protocollo Jabber può essere usato per accedere ad una qualsiasi rete per la quale esista un gateway, senza il bisogno di programmare il supporto al protocollo della nuova rete nel client. Per approfondire meglio questo aspetto è imporatante analizzare il protocollo XMPP, che costituisce il cuore di Jabber.
4 - Protocollo XMPP
Il protocollo
XMPP(Extensible Messaging and Presence Protocol) è un estensione del protocollo aperto XML(Extensible Markup Language), ed è utilizzato per la messagistica istantanea. La sintassi base e la semantica furono sviluppati originariamente insieme al progetto della comunità open-source Jabber, nel 1999. Nel 2002, il gruppo di lavoro dell'XMPP sviluppò un adattamento del protocollo Jabber agli standard di messagistica istantanea dello IETF. Come risultato del lavoro svolto dal gruppo di lavoro dell'XMPP, l'attuale promemoria definisce il nucleo funzionale dell'XMPP 1.0; le estenzioni richieste dalla messagistica istantanea e dalla funzione di presenza, definite nell'RFC 2779, sono invece specificate nell'
XMPP-IM.
4.1 - Architettura generale
Benchè l'XMPP non è unito con nessuna architettura di rete specifica, solitamente viene implementato da un'architettura client-server dove il client utilizza L'XMPP per accedere al server su una connessione TCP, ed il server comunica sulla stessa connessione. Nel diagramma affianco è presentata una veduta d'insieme di quest'architettura (dove "-" rappresenta comunicazioni che utilizzano XMPP e "=" rappresenta invece qualsiasi comunicazione che utilizza altri protocolli).
I simboli del diagramma rappresentano:
- C1, C2, C3 = XMPP clients
- S1, S2 = XMPP servers
- G1 = Un gateway che fa da traduttore tra strutture che utilizzano l'XMPP e strutture che usano un differente tipo di protocollo
- FN1 = Una rete estranea all'XMPP
- FC1 = Un client di una rete estranea all'XMPP
Un server funziona come uno strato astratto per la comunicazione XMPP. Le sue principali responsabilità sono:
- gestire le connessioni, con un flusso di dati XML, da e per clients, servers e altre entità autorizzate
- instradare, verso gli indirizzi appropriati dei canali XML, il flusso di dati
Server
La maggior parte dei server XMPP assumono anche responsabilità per l'immagazzinamento dei dati che sono usati dai client(ad esempio la lista dei contatti degli utenti che utilizzano un sistema di IM basato su XMPP); in questo caso, i dati XML sono trattati direttamente dal server stesso per conto del client e non sono instradati verso nessun altra entità.
Client
Quasi tutti i client si collegano direttamente al server attraverso una connessione TCP e usano l'XMPP per trarre vantaggio dalle funzioni fornite dal server e da qualsiasi altro servizio associato. Più risorse possono connettersi contemporaneamente ad un server per conto di alcuni client autorizzati. La porta consigliata per la connessione tra un client ed un server è la numero 5222, registrata presso lo IANA.
Gateway
Un gateway è un dispositivo particolare che appoggia il server nel suo funzionamento. La sua funzione primaria è quella di tradurre l'XMPP nel protocollo non-XMPP utilizzato dall'altro sistema di messagistica, e viceversa (cioè tradurre un flusso di dati non-XMPP in un flusso di dati XMPP). Ne sono un esempio i gateway per le email (SMTP), per l'IRC, per l'SMS, e altri sistemi di messagistica istantanea come AIM, ICQ, MSN Messenger, ecc. Quindi, per esempio, <giulietta@capuleti.com> è abilitata ad inviare messaggi, a comunicare la sua presenza, e altre informazioni con <romeo@montecchi.net>. Questa configurazione è molto simile al protocollo SMTP che fa uso di indirizzi di rete standard.
Network
Dato che qualunque server è identificato da un indirizzo di rete e che le comunicazioni server-server sono una diretta estenzione del protocollo client-server, in pratica, il sistema consiste in una rete di server che comunicano tra di loro. La porta utilizzata per la comunicazione tra server è la numero 5269, registrata presso lo IANA.
4.2 - Estensione XMPP-IM
Il protocollo
XMPP-IM definisce, nei dettagli, come avviene la comunicazione tra clients che utilizzano il protocollo XMPP. Come prima cosa, ovviamente, affinchè sia possibile instaurare una comunicazione tra vari clients, è necessario stabilire una connessione. Verranno, quindi, eseguite queste due istruzioni:
- Il client chiede al server di poter stabilire una connessione
- Il server informa il client che la connessione è creata
Arrivati a questo punto, però, potrebbero accadere degli errori. Per esempio, il server potrebbe incontrare delle condizioni interne che gli impediscono di creare la connessione (lo username non è valido, l'autorizzazione viene negata per password errata), resituendo al client un messaggio di errore. Se la connesione è creata senza problemi, la comunicazione può avere inzio.
Affinchè sia possibile la comunicazione è necessario sapere quali alri utenti siano presenti nella stanza. Per ovviare a questo "problema", ogni utente che entra nella stanza invia un messaggio al proprio server che a sua volta lo reinvia in broadcast a tutti gli utenti già presenti, comunicando la sua entrata nel canale.
4.3 - Estensione User Browsing
Tra le tantissime estensioni del protocollo XMPP, presenti in una
pagina ufficiale del sito Jabber, ho deciso di analizzare e studiare il funzionamento delle estensioni User Browsing e dell'estensione User Location. Questa estensione tratta il tema delle scambio di informazioni di pagine web tra utenti connessi in una conversazione Jabber. L'idea alla base della nascita di questa nuova funzione da offrire ai client Jabber, è quella di consentire agli utenti di navigare in internet "insieme". Il
documento ufficiale da cui traggo queste notizie è però ancora in fase sperimentale, e quindi non ancora utilizzato. Le informazioni sulle pagine web sono fornite dall'utente (o integrate automaticamente con il browser, o altri sistemi) e vengono inviate in rete dal client dello stesso utente. La pagina web viene inviata come un flusso di dati XML, all'interno dei quali possono comparire vari elementi:
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/browser.jpg)
Quando un utente stà visitando una pagina web, se vuole può renderlo pubblico tramite il suo client, inviando i dati della pagina su un
pubsub speciale (ovvero un nodo in grado di memorizzare particolari proprietà pubblicate dai client Jabber); sarà poi lo stesso browser dell'utente che vuole seguire le stesse pagine che sta visitando il primo, a prelevare la URI inviata e a visualizzare sullo schermo la pagina web. Non essendo l'informazione della pagina web una semplice informazione di presenza, la funzione User Browsing non può essere, quindi, solamente un'implementazione di quella funzione. Di seguito sono presenti le quattro funzioni fondamentali per l'implementazione del protocollo User Browsing, in formato
XML:
L'utente pubblica la Browsing Information
<iq type='set' from='stpeter@jabber.org/work' id='browsing1'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://jabber.org/protocol/browsing'>
<item id='da6abe63d1e5ed45a6de466732abff72e6fccb93'>
<page xmlns='http://jabber.org/protocol/browsing'>
<uri>http://www.saint-andre.com/blog/</uri>
</page>
</item>
</publish>
</pubsub>
</iq>
La Browsing Information viene inviata a tutti gli utenti connessi
<message from='stpeter@jabber.org' to='maineboy@jabber.org'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://jabber.org/protocol/browsing'>
<item id='da6abe63d1e5ed45a6de466732abff72e6fccb93'>
<page xmlns='http://jabber.org/protocol/browsing'>
<uri>http://www.saint-andre.com/blog/</uri>
</page>
</item>
</items>
</event>
</message>
L'utente decidere di interrompere le informazioni
<iq type='set' from='stpeter@jabber.org/work' id='browsing2'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://jabber.org/protocol/browsing'>
<item id='da6abe63d1e5ed45a6de466732abff72e6fccb93'>
<page xmlns='http://jabber.org/protocol/browsing'/>
</item>
</publish>
</pubsub>
</iq>
La Stop Information viene inviata a tutti i clients connessi
<message from='stpeter@jabber.org' to='maineboy@jabber.org'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://jabber.org/protocol/browsing'>
<item id='da6abe63d1e5ed45a6de466732abff72e6fccb93'>
<page xmlns='http://jabber.org/protocol/browsing'/>
</item>
</items>
</event>
</message>
4.3.1 - Jybe
Mentre in Jabber questa funzione non è ancora stata testata, ma è ancora in fase di sviluppo, la Advanced Reality Inc., un'azienda specializzata nella tecnologia per la collaborazione peer-to-peer, ha recentemente annunciato Jybe, una versione beta gratuita di un nuovo servizio di co-browsing e collaborazione online basato sul browser.
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/jybe.jpg)
Attualmente, i plugin sono disponibili soltanto per i browser di Internet Explorer e Mozilla Firefox. Questi plugin sono facilmente scaricabili ed installabili e presentano una minima toolbar supplementare nel vostro browser. Ciò vi dà la capacità di creare, unire e concludere una sessione di Jybe. Cliccando semplicemente su "nuova sessione", potete iniziare una sessione di Jybe. Vi apparirà una finestra popup, in cui dovrete inserire il vostro nome e un nome per la sessione. Il vostro browser visualizzerà allora una finestra di chat di testo per vedere i nomi dei membri partecipanti alla sessione. Per ora non c'è una funzione per invitare i partecipanti direttamente all'interfaccia di Jybe, quindi dovrete fornire il nome di sessione agli invitati con un altro metodo (telefono, email, IM, ecc.).
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/jybe1.jpg)
Per partecipare ad una sessione, un partecipante deve avere il plugin di Jybe installato, cliccare su "entra in sessione" ed inserire il nome di quella sessione: il contenuto della sessione viene immediatamente visualizzato sul browser. La funzione "Follow me" di Jybe è bidirezionale, cioè se chiunque nella sessione (non solo il creatore di sessione) va ad un URL diverso, tutti i membri vengono portati su quella pagina.
4.4 - Estensione User Location
Questa estensione del protocollo XMPP riguarda lo scambio di informazioni tra gli utenti riguardo le loro posizioni geografiche. I suoi scopi potenziali sono:
- La pubblicazione di informazioni sul posizionamento degli utenti che lo richiedono
- La richiesta di posizionamento di altri utenti
- L'invio dell'informazione di locazione ad un altro utente
- La possibilità di allegare l'informazione di posizionamento alla presenza
La posizione geografica è ottenuta attraverso l'utilizzo di un sistema GPS. I dati che il GPS elaborerà, verranno codificati in un "linguaggio naturale" che descriva la posizione di un utente. Questi dati, poi, saranno incapsulati in un flusso XML e formati da un insieme di elementi come quelli inseriti nella seguente tabella:
Pubblicazione della locazione di un utente in XML
<iq type='set' from='portia@merchantofvenice.lit/pda' id='publish1'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://jabber.org/protocol/geoloc'>
<item>
<geoloc xmlns='http://jabber.org/protocol/geoloc' xml:lang='en'>
<country>Italy</country>
<lat>45.44</lat>
<locality>Venice</locality>
<lon>12.33</lon>
</geoloc>
</item>
</publish>
</pubsub>
</iq>
Un utente riceve l'informazione di posizionamento
<message from='portia@merchantofvenice.lit'
to='bassanio@merchantofvenice.lit'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://jabber.org/protocol/geoloc'>
<item id='d81a52b8-0f9c-11dc-9bc8-001143d5d5db'>
<geoloc xmlns='http://jabber.org/protocol/geoloc' xml:lang='en'>
<country>Italy</country>
<lat>45.44</lat>
<locality>Venice</locality>
<lon>12.33</lon>
</geoloc>
</item>
</items>
</event>
</message>
5 - Client IRC
5.1 - Installazione e configurazione
Se non avete nessun client IRC sul vostro PC potete procurarvene uno gratuitamente al sito
http://download.html.it/software/vedi/1647/gaim/. Con il programma che troverete in questa pagina (Gaim) vi sarà possibile utilizzare più protocolli di messagistica istantanea contemporaneamente. In alternativa presso il sito
http://www.mondoirc.net/ sono presenti diversi client IRC (anch'essi gratuiti ma soltanto per un mese). Io ho scelto "Kaizoku! Script 3.2.1", uno dei 10 script più scaricati dalla rete, per la sua grafica originale (se vi trovate in Linux però non vi sarà possibile utilizzarlo).
Se già siete pratici di chat e avete un programma di messagistica installata vi sarà soltanto necessario sapere che il canale si trova sul server irc.azzurra.org e si chiama #labsoftel.
Ora in base al programma scelto (Gaim o Kaizoku!) dovrete seguire le relative istruzioni per la sua configurazione.
Per qualsiasi dubbio o problema non esitate a contattarmi attraverso mail personale daniele.c85@gmail.com o attraverso la mailing list allestita dal professore labsoftel@labtel.diet.uniroma1.it alla quale credo vi siate iscritti.
BUONA CHATTATA!!!!
5.2 - Come creare un proprio canale IRC
Creare un canale IRC per me non è stato molto semplice poichè prima dell'inzio di questa tesina l'unico programma di chat che avevo utilizzato era MSN, che oltre ad utilizzare un protocollo diverso da quello IRC, non prevede nè la creazione di canali o stanze per comunicare con gli altri utenti collegati, nè l'eventualità di utilizzare dei comandi da tastiera per svolgere determinate funzioni. Io ho creato il canale #labsoftel utilizzando il client IRC Kaizoku!.
- Per prima cosa bisogna scegliere un server su cui collegarsi. Io ho scelto di creare il mio canale sul server irc.azzurra.org (soltanto perchè era il server più menzionato nei forum di chat IRC)...comunquesia uno vale l'altro!
- Dopo essersi connessi al server scelto, con il comando /join #nomecanale, verrà creato il canale IRC (se il nome scelto per il canale non è già esistente...in caso contrario entrerete nel canale che evidentemente è già utilizzato da qulcun'altro)
- Ora attraverso il comando /chanserv help (che vi presenta una sfilza di comandi) sarà possibile registrare un proprio canale e configurarlo come volete. I comandi possibili sono elencati quì sotto.
![](https://teoriadeisegnali.it/wiki/uploads/Labsoftel/chanserv1.jpg)
- Quindi, è necessario registrare il proprio canale...per fare questo però è obbligatorio, prima di tutto, registrare il proprio nickname attraverso il comando /ns register password email (vi arriverà una mail con un codice allegato che si servirà per la registrazione del nickname)
- Fatto ciò potrete registrare il server con il comando /chanserv register #nomecanale password descrizione
- Una volta registrato il canale, il gioco è fatto...utilizzando il comando /cs help set potrete scorrere i diversi comandi per proteggere e personalizzare il vostro canale.
Riferimenti