Tag-Archive for ◊ Instant messaging ◊

Instant messaging: Pidgin
Sunday, November 23rd, 2008 | Author: AlexJ

Majoritatea persoanelor ce folosesc un instant messenger, folosesc Yahoo Messenger.  Este un software destul de bun, dar faptul ca Yahoo il tine atat de inchis ( ultimele cautari dupa specificatiile protocolului YM m-au dus pe niste site-uri foarte obscure) fac ca Yahoo Messenger ( ca si produsele Microsoft de exemplu) sa ramana foarte usor foarte in urma.

Alternativa open source este Pidgin ( http://pidgin.im/ ). Pidgin a evoluat din GAIM pe care am mai avut incercari sa migrez, dar atunci era mult prea rudimentar. Determinat de multiplele probleme pe care le-am avut cu ultimele versiuni de Yahoo Messenger am trecut 100% pe Pidgin (recunosc, a trebuit sa ma obisnuiesc cu el, pentru ca intotdeauna comoditatea este puternica). Si nu regret deoarece s-a dovedit a fi un software foarte bine gandit. Desi s-a scos Yahoo Messenger 9 nu ma voi intoarce la el.

De ce Pidgin?

In primul rand, este open software… asta inseamna ca se scot versiuni des (spre deosebire de anii lungi intre doua versini de YM). Este suportat si dezvoltat de catre o comunitate care incearca sa ofere cat mai multe lucruri utilizatorilor (spre deosebire de o companie mare care de obicei ofera, din motive de marketing, cate un singur feature nou la un moment dat).

Are multe lucuri mici care il fac interesant. Mi se pare foarte interesant, de exemplu faptul ca pot pune grupurile in orice ordine vreau eu (nu doar alfabetica). Imi place ca apare langa statusul unui contact avatarul sau mare, alaturi de o iconita ce indica starea (busy, away, online, offline). Poti salva un numar nelimitat de status-uri (lucru pe care il folosesc la maxim) si ca ultimul status ales se pune automat la loc atunci cand te reconectezi. Fereastra cu un prieten se deschide atunci cand el/ea incepe sa tasteze, nu cand trimite primul mesaj (deci esti deja gata sa ii zici ’salut’).  Informatiile despre un contact pot contine inclusiv adresa IP a respectivului si in caz ca statusul respectivului are mai multe link-uri, ele pot fi accesate independent. Sistemul de transfer de fisiere seamana cu un download manager si este mai util. Pot fi adaugate emoticonuri noi (si exista set-uri de emoticonuri disponibile pentru download).

Foare utile sunt plugin-urile. Pidgin vine cu foarte multe plugin-uri, dar mai sunt si altele disponibile pe Internet. Unele sunt fun (exemplu posibilitatea setarii raspunsului automat cand cineva iti scrie un mesaj, ce poate fi foarte stresant pentru unii :P ) sau doar utile (exemplu afisarea momentelor in care un prieten intra/iese/devine idle/redevine activ). Un lucru ce lipseste by default este posibilitatea sa iti apara popup deasupra a system tray cand cineva intra sau iese, dar printr-un plugin care afiseaza si cand cineva devine idle/revine sau incepe sa scrie ceva sau trimite un mesaj, folosind popup-uri in orice forma dorita (plugin-ul se numeste Guifications).

De ce nu Pidgin?

Putin motive si mici. Unul este faptul ca nu arata prea bine (Linux style).  Nu afiseaza pop-up cand primesti un email (afiseaza un mesaj dar nu sare in evidenta… noroc ca folosesc din ce in ce mai putin emailul de la Yahoo). Probabil cel mai mare dezavantaj este faptul ca arhiva nu este compatibila cu Yahoo Messenger. Si cateodata mai sunt probleme cu incompatibilitatea transferului de fisiere intre Pidgin si Yahoo Messenger.

Desi eu il folosesc pentru YM, Pidgin poate fi folosit pe toate protocoalele de IM (Jabber/XMMP, ICQ, AIM, MSN, IRC).  De asemenea, pot fi adaugate doua conturi de YM de exemplu in acelasi timp.

XMPP Howto
Tuesday, September 09th, 2008 | Author: AlexJ

Partea a doua a discutiei despre XMMP este un tutorial despre cum putem pune in practica sistemul. La fel ca o infrastuctura de VoIP avem nevoie de unul sau mai multe servere interconectate si mai multi clienti care se conecteaza la unul din servere (dupa o autentificare).

Pagina de la care am pornit a fost Jabber.org. Acolo am gasit o lista de soft-uri pentru servere si clienti XMPP/Jabber. Primul server pe care l-am incercat a fost jabberd. Instalarea nu a fost grea, dar managementul serverului era practic inexistent. La celelalte soft-uri am avut probleme cu gasirea bibliotecilor necesare. Serverul la care am ramas a fost Openfire. Motivul alegerii a fost in principal interfata de administrare foarte bine pusa la punct. Downside-ul este ca necesita Java Runtime Enviroment pentru a rula, dar upside-ul, serverul poate rula pe Linux, MacOS, Windows sau orice alt sistem de operare. Am ales sa fac o instalare a serverului pe Linux (Debian).

Topologia este formata dintr-o masina virtuala (in VMware Workstation) continand un Debian GNU/Linux avand adresa IP 192.168.150.128 si o masina gazda (Windows) cu adresa 192.168.150.1.

Pe Linux instalam Openfire. JRE trebuie instalat mai intai (apt-get install sun-java5-jre). Dupa, instalam pachetul (fie din surse prin compilare, fie prin package manager) din fisierele disponibile aici. Din fisierul .deb, instalam cu dpkg -i openfire_3.6.0a_all.deb. O instalare pe Windows din executabil ar duce la acelasi rezutlat. Din acest punct, totul se face printr-o interfata web accesibila printr-un browser pe portul 9090 http://192.168.150.128:9090/ fiind independenta de platforma. Prima accesare duce la un wizard. Optiunile de baza de date sunt multiple, dar cel mai simplu e sa folosim engineul din openfire HSQLDB (Embedded Database). Dupa crearea contului de admin, putem sa ne logam in interfata de mangement. Creem cativa useri pentru test.

Pentru clienti vom folosi mai multe programe: gabber pentru Linux-Gnome Pidgin (fostul Gaim) pentru Windows (desi se folosete in principal pe Linux) si for fun, SamePlace, un add-on pentru Firefox.

gabber il instalam cu apt-get install gabber . Desi interfata este destul de primitiva, e suficienta pentru ce avem nevoie. Ne logam pe server cu unul din conturile create.

Pentru Pidgin, downloadam kit-ul de pe http://www.pidgin.im/. Pidgin suporta mai multe protocoale (YM, AIM, ICQ…). Adaugam un cont pe protocolul XMPP (aka Jabber).

Pentru add-on-ul din Firefox trebuie sa instalam mai intai xmpp4moz peste care instalam SamePlace. Din meniul de optiune de add-ons, la SamePlace configuram un nou cont Jabber.

Din interfata de administrare a Openfire putem trimite un mesaj de sistem tuturor clientilor conectati pentru a testa ca totul merge bine.

Si ca un rezultat final, doua conversatii: pidgin-gabber si pidgin-sameplace (putin cam incurcata imaginea avand in considerare ca una din masini e virtuala si unul din clienti este in Firefox) :

Sper ca a fost informativ.

Instant Messaging: XMPP
Tuesday, September 09th, 2008 | Author: AlexJ

Comunicarea pe Internet si-a schimbat multe forme de-a lungul lungul timpului. Pornind de la email si newsgroups, la forumuri si IRC si ajungand la metode cat mai apropiate de real-time si cu cat mai multe facilitati: instant messanging (tendinta fiind spre comunicarea in lumi virtuale, gen SeccondLife). Cea mai cunoscuta forma este acum Yahoo Messenger (cred ca putini sunt familiari cu ICQ de exemplu, acesta fiind primul meu contact cu IM si asta inainte sa ma fi gandit ce popular va deveni sistemul). Alte exemple ar fi Skype (desi este cunoscut mai mult pentru audio/video chat decat pentru text chat), AIM si din pacate prea neglijat GoogleTalk. Ma opresc la GTalk deoarece, spre deosebire de Yahoo Messenger si Skype, clientul de la Google foloseste un standard deschis: XMPP.

XMPP (Extensible Messaging and Presence Protocol) este un protocol de instant messanging inspirat de XML. A stat la baza clientului Jabber ( de obicei, termenii XMPP si Jabber sunt folositi pentru a denumi acelasi lucru, protocolul XMPP). Google si-a aratat interesul in comunitatea Jabber si, folosind un protocol VoIP pentru voce si XMPP pentru text, a scos clientul Google Talk (sau GTalk). Desi cu putine feature-uri fata de alti clienti, faptul ca este bazat pe standarde open ofera un potential mult mai mare fata de ceilalti clienti.

Primul lucru pe care l-am remarcat la protocolul acesta este asemanarea foarte mare cu SIP si probabil daca va jucati putin cu cele doua protocoale veti intelege de ce (incepand de la modul de adresare user@domeniu, la coduri de eroare si pana la modul de interconectare a serveleror). Ofera suport pentru interconectarea clientilor ce folosesc alte protocoale (cum ar fi OSCAR de la AIM/ICQ) si de asemenea integrarea altor servicii cum ar fi VoIP sau SMS. Am observat si lipsa catorva feature-uri, cum ar fi trimiterea de fisiere. Faptul ca sa se bazeaza pe XML si trimitere de text pur face dificil transferul de fisiere binare, dar acest lucru este rezolvat de HTTP (sau prin codare base64 asemanator email-ulurilor).

[Va urma]