Om twee partijen met elkaar te kunnen doen communiceren via instant messaging, moeten ze dezelfde IM-technologie ondersteunen. Helaas gebruikte zowat iedereen zijn eigen IM-protocols. Daardoor zijn al die IM-oplossingen onderling incompatibel. MSN, Yahoo, AOL en in de Unix-wereld ICQ spreken in principe niet met elkaar. Gelukkig zijn er twee open standaarden tot stand gekomen voor IM. Dat is SIMPLE (op basis van SIP) en XMPP (voorheen Jabber). SIMPLE werd voornamelijk gesteund door Microsoft en IBM. Tegenwoordig zit IBM echter meer in het XMPP-kamp, net als Google, Sun, Yahoo en heel wat andere bedrijven. XMPP is dus de meest verspreide standaard, zeker in bedrijven.
...

Om twee partijen met elkaar te kunnen doen communiceren via instant messaging, moeten ze dezelfde IM-technologie ondersteunen. Helaas gebruikte zowat iedereen zijn eigen IM-protocols. Daardoor zijn al die IM-oplossingen onderling incompatibel. MSN, Yahoo, AOL en in de Unix-wereld ICQ spreken in principe niet met elkaar. Gelukkig zijn er twee open standaarden tot stand gekomen voor IM. Dat is SIMPLE (op basis van SIP) en XMPP (voorheen Jabber). SIMPLE werd voornamelijk gesteund door Microsoft en IBM. Tegenwoordig zit IBM echter meer in het XMPP-kamp, net als Google, Sun, Yahoo en heel wat andere bedrijven. XMPP is dus de meest verspreide standaard, zeker in bedrijven. XMPP staat voor 'eXtensible Messaging and Presence Protocol'. Het is een open standaard (o.a. RFC 3920 en 3921) die specificeert hoe de IM-sessies opgebouwd moeten worden en hoe de uitgewisselde berichten gestructureerd moeten zijn. XMPP definieert de IM-berichten als XML-documenten. Dat geeft ons dus de meest uitgebreide mogelijkheden om gelijk wat door te sturen. In feite is IM hiermee zelfs volwassener dan e-mail. Alle IM-oplossingen van eender welke fabrikant of platform die XMPP ondersteunen, kunnen immers met elkaar babbelen. Het grootste voordeel van XMPP is dat het veel beter uitgewerkt is dan het ondertussen alleen door Microsoft gepromote SIMPLE. Omdat XMPP zelf een open standaard is, zal het u wel niet verwonderen dat er erg veel open source XMPP-servers en -clients ontwikkeld zijn. Daarnaast zijn er natuurlijk ook heel wat gesloten commerciële oplossingen. De bekendste daarvan zijn Apple iChat (server en client) en IBM Lotus SameTime (server en client). Voor dit artikel beperken we ons echter tot de open source oplossingen. Op servergebied zijn Ejabberd, Openfire en Tigase het bekendst. Op clientgebied hebben we er Digsby, Empathy, GoogleTalk, Pidgin en Spark uitgepikt. De eerste benaming van XMPP was Jabber en dan is de naam van deze server meteen duidelijk. De 'e' vooraan staat voor de Erlang programmeertaal waarin de software geschreven is. De servernaam moeten we trouwens volledig in kleine letters schrijven zoals gebruikelijk is voor Unix/Linux daemons: ejabbard. De 'd' achteraan staat dan dus voor 'daemon'. Deze XMPP-server kan draaien op alle platformen waarvoor er een Erlang-runtime bestaat. Dat is alles van Linux, *BSD, Mac OS X en zelfs Windows. Bij de Windows-versie van ejabberd is echter geen voorziening getroffen om dit als automatisch startende service in Windows te installeren, zodat de gebruiker ingelogd moet blijven of iemand de ejabberd-service vanop afstand zal herstarten. De keuze voor de Erlang-programmeertaal mag dan wat eigenaardig lijken, maar het is een taal die binnen het Finse communicatiebedrijf Ericsson ontworpen en gebruikt werd voor fouttolerante en continu draaiende telecommunicatiesoftware. Ejabberd is dan ook ontworpen als een gedistribueerd en foutentolerant product dat schaalbaar is tot zeer grote aantallen gebruikers. Het systeembronnengebruik is laag genoeg zodat zelfs één enkele ejabberd al meerdere duizenden gelijktijdige gebruikers kan ondersteunen. En ejabberd ondersteunt clustering om een echte foutentolerantie mogelijk te maken. Ejabberd heeft een aantal erg interessante implementaties, waaronder voor BBC Radio LiveText, KDE Talk en FaceBook werkt ook aan een implementatie. Voor alle servers die geregistreerd worden bij xmpp.org is ejabberd de meest populaire. Hoe u ejabberd moet installeren hangt af van het gekozen platform. Er bestaat een Debian distributiepakket, dus Debian-achtigen kunnen hiermee een automatische installatie uitvoeren. Ook voor Mac OS X en sommige andere platforms bestaat er een installer (wizardgestuurd installatieprogramma). Voor Linux is er zowel 32-bit als 64-bit software beschikbaar. Eenmaal de software in uw systeem geïnstalleerd, kunt u het gaan beheren en configureren. Helaas is er geen webinterface voorzien voor het beheer. Producent Process One wilde ejabbard ook kunnen draaien op erg minimale systemen zonder eigen webserver en veronderstelt dus dat de Unix/Linux opdrachtregel voor u geen geheimen meer heeft. Net zoals zowat alle daemons in de Unix/Linux wereld maakt ejabberd gebruik van tekstconfiguratiebestanden. U configureert en beheert ejabberd door die met een teksteditor te editeren. De configuratiebestanden van ejabberd gebruiken wel een door Erlang ondersteunde syntaxis. Zo werken de meeste configuratiebestanden onder Linux/Unix met /* of // of # als commentaarteken. Maar bij Erlang is het % en ejabberd gebruikt dat dus. Ook de variabelendefinities volgen de Erlang-syntaxis. Als u daar niet meer vertrouwd bent, kost het u dus wat tijd om dat allemaal te leren. Als XMPP-server biedt ejabberd u zeker alles wat u nodig heeft met schaalbaarheid tot grote aantal gebruikers en ondersteuning voor fouttolerantie en clustering. U moet wel thuis zijn in de meest minimale vorm van configuratie en beheer, want alles werkt met tekstconfiguraties en Erlang-programmeertaal compatibele syntaxis. Product: Ejabberd 2.1.3Producent en Leverancier: Process One, www.process-one.net/en/ejabberd/ Adviesprijs: gratis (GNU GPL) Systeemvereisten: moderne Linux distributie, Mac OS X, Windows, UNIX Openfire is een open source collaboratieserver. Het project wordt gesponsord door een bedrijf genaamd Jive Software en die hebben ook een commerciële variant van deze software. Het uitwisselen van onmiddellijke berichten gebeurt met behulp van XMPP. De mensen achter Openfire gaan er prat op dat de server erg gemakkelijk te installeren en te beheren is, maar niettemin rotsvaste beveiliging en prestaties biedt. Dat van die installatie kunnen we beamen. Als u met een Linux met pakketdistributiesysteem werkt, is Openfire mogelijk beschikbaar via dat systeem. Indien niet rechtstreeks via dit distributiesysteem, dan kunt u een installatiepakket downloaden van de website en dat dan via uw pakketinstallatiesysteem installeren. Voor onze Ubuntu Server moesten we het zo doen. Maar vermits het om een installatiepakket gaat, is de installatie van deze software voor Linux en de Mac niet moeilijker dan voor Windows. Eenmaal Openfire geïnstalleerd, krijgt u een webinterface om hem mee te beheren. Product: Openfire 3.6.4Producent en Leverancier: Ignite Realtime, gesponsored door Jive Software; www.igniterealtime.org/projects/openfire/ Adviesprijs: gratis Systeemvereisten: moderne Linux distributie, Mac OS X, Windows, UNIX Als u de eerste keer het webbeheer oproept, krijgt u een installatiewizard. Die begint met de te gebruiken database, de bron van gebruikersgegevens (lokaal, LDAP of Clearspace) en de beheerderidentiteit. Daarna kunt u beginnen met het echte beheer. Openfire biedt u een sobere en erg logisch ingedeelde beheersinterface. Bovenaan staan vijf hoofdrubrieken: Server, Gebruikers/groepen, Sessies, Chatdienst en Plugins. Elk van die toont uiterst links een menu van subrubrieken. Onder Server zijn dat Serverbeheer, Serverinstellingen en Media Services. Gebruikers/groepen lijkt ons duidelijk. Sessies toont u een overzicht van alle IM- en componentsessies die aan de gang zijn. Componentsessies zijn softwaremodules die met de Openfire-server communiceren. Bij IM-sessies ziet u alle verbonden clients. Een hoofdrubriek verder, bij Chatdienst, ziet u alle aangemaakte discussieruimtes en wie daarin allemaal actief is. Discussieruimtes zorgen dat IM werkt zoals forums: een ruimte per onderwerp. U kunt ruimtes aanmaken die openbaar zijn, een inlog vereisen, of waar gebruikers aan bepaalde voorwaarden moeten voldoen. Openfire is een erg gemakkelijk te beheren IM-server. Gebruikers kunnen in hun IM-sessies ook audio, video en documenten met elkaar uitwisselen en daarom heet Openfire officieel een collaboratieserver. Het is gratis, dus kunnen we u aanbevelen het gewoon eens uit te proberen. Tigase is een volledig ongesponsord open source project van Poolse origine. Het omvat een IM-server (Tigase Server) en een IM-client (Tigase Messenger). Die laatste is echter niet verplicht. We zullen hem in dit artikel negeren, omdat deze client nog in de ontwikkelingsfase verkeert. Vermits Tigase XMPP ondersteunt, werkt sowieso eender welke XMPP-client ermee samen. Bij het ontwerp van Tigase ging men voor prestaties, niet voor leuke uiterlijkheden. Denk dus aan tekstmodus en manueel te editeren tekst- en XML-configuratiebestanden. De website vertelt dat Tigase meer dan 150.000 gelijktijdige XMPP-connecties aankan, mits de juiste hardware natuurlijk. Dan praten we al over hogere prestaties dan wat de meeste bedrijven zullen nodig hebben. De oude manuele installatie waarbij u een archief moet uitpakken, de configuratiebestanden editeren en alles op zijn juiste plaats zetten, is nog steeds beschikbaar. Om geen fouten te maken is er echter ook een GUI-installatie voorzien, die net als Tigase zelf in Java is geschreven. De keuze voor het JDK-kaderwerk zorgt ervoor, dat Tigase niet afhankelijk is van andere bibliotheken. Daardoor kon een allesomvattend Java-gebaseerd project gebouwd worden. De GUI-installatie biedt een installatiewizard die u de keuze geeft uit allerlei databases, waarbij u dan wel eerst zelf moet zorgen voor een werkende databaseserver. Behalve als u Derby kiest, want die database zit standaard bij Tigase. Daarna kunt u een hele waaier aan plugins aanvinken en dan gebeurt de installatie volledig automatisch. Voor het beheer kunnen we kort zijn: dat is er eigenlijk niet. Toch niet in GUI-vorm. U beheert Tigase door zijn configuratiebestanden te editeren. De belangrijkste heet tigase-config.xml. Alles is in secties verdeeld en bestaat uit variabelen die een bepaalde waarde hebben. Wat nodig is voor de initiële configuratie is al op voorhand ingevuld door de GUI-installer. In feite is daarna weinig nodig, want clients kunnen dan al connecteren met Tigase. De meeste clientsoftware heeft een optie om een nieuwe account automatisch aan te maken op de server. Het is ook mogelijk op bestaande gebruikers te importeren. Met behulp van databaseconnectoren en plugins kan dat van heel veel verschillende bronnen: LDAP, RADIUS en zelfs Active Directory. Als u Drupal gebruikt als CMS, kan Tigase ook de gebruikers van Drupal inlezen. Product: Tigase 5.0.1Producent en Leverancier: www.tigase.org Adviesprijs: gratis Systeemvereisten: eender welk platform met ondersteuning voor een recente Java DK Tigase is een IM-server die we alleen het overwegen waard vinden als een GUI-loos beheer u niet afschikt en u erg hoge prestaties wenst. Digsby is een gratis IM-client voor Windows die verschillende protocollen ondersteunt: AIM, MSN, Yahoo, ICQ, Google Talk, Jabber (XMPP) en Facebook Chat. Ook Twitter en LinkedIn worden ondersteund. Verder kunt u via deze client ook e-mailen met GoogleMail, Windows Live Mail, Yahoo Mail, AIM Mail, IMAP, POP en SMTP. Zelfs SMS wordt ondersteund. U bent uiteraard niet verplicht alle mogelijkheden te benutten. Digsby kunt u ook perfect alleen als IM-client gebruiken. Product: Digsby Build 27225Producent en Distributeur: dotSyntax LLC, www.digsby.com Adviesprijs: gratis Systeemvereisten: Windows. Linux- en Mac-versies zijn al jaren aangekondigd, maar nog steeds niet beschikbaar. In de presentielijst kunt u gebruikers die op verschillende IM-netwerken zitten combineren, zodat ze maar een keer in de lijst worden weergegeven. Er is ondersteuning voor skins en voor docking van de presentielijst aan de zijkanten van de Windows-desktop. U kunt Digsby heel discreet instellen, zodat u niet voortdurend onderbroken wordt door nieuwe meldingen. Het omgekeerde kan ook, mocht u een echte IM- en mailjunkie zijn. U kunt meerdere conversaties beheren via vensters met tabs. Behalve puur IM kunt u vanuit Digsby ook e-mail lezen en schrijven. Zeer handig is dat Digsby alles kan synchroniseren tussen verschillende computers. Alles, van de gekozen skin tot uw voorkeuren, volgt u van pc naar pc. Daarom is het wel nodig dat u een Digsby-account aanmaakt. Alle wachtwoorden worden echter geëncrypteerd. Bovendien worden uw IM- en mailwachtwoorden niet bewaard op de Digsby-server; die bewaart alleen een hash-code. Dus zelfs als de Digsby-server gekraakt zou worden dan nog zijn uw persoonlijke gegevens veilig. Een nadeel van deze benaderingswijze is wel dat er geen manier is om uw gegevens te herstellen mocht u uw Digsby-wachtwoord verliezen. De client kan alle gegevens tijdelijk lokaal bewaren mocht de Digsby-server om een of andere reden niet beschikbaar zijn. Zodra die opnieuw te bereiken is, worden alle gegevens gesynchroniseerd. Een caveat: Digsby toont u allerlei advertenties voor optionele software tijdens de installatieprocedure. Op die manier proberen de makers toch iets te verdienen aan hun product. U kunt die optionele software echter allemaal afvinken en Digsby toch succesvol gratis installeren. Speciaal voor de Gnome desktop voor Linux en andere Unix-achtigen bestaat er een communicatiekaderwerk dat Telepathy (telepathy.freedesktop.org) heet. Het scheidt de applicaties van de communicatieprotocollen. Een applicatie moet eigenlijk alleen maar Telepathy ondersteunen en het kaderwerk doet dan al de rest, inclusief de communicatie met IM-netwerken allerhande. Telepathy ondersteunt zowat alle populaire IM-protocollen, waaronder uiteraard ook MSN en XMPP. Empathy is de eerste Gnome chat-applicatie die hiervan gebruik maakt. De flexibiliteit van dit kaderwerk is dan vermoedelijk ook de voornaamste reden waarom de beslissingnemers bij Ubuntu besloten hebben Empathy als standaard chatapplicatie mee te leveren in plaats van Pidgin (zie verder), dat eerst standaard meegeleverd werd maar dus niet op Telepathy gebaseerd is. Product: Empathy 2.30.1Producent en Distributeur: Gnome, live.gnome.org/Empathy Adviesprijs: gratis Systeemvereisten: Linux, bij voorkeur met Gnome desktop Empathy is opgebouwd als een geheel van communicatiewidgets. Het IM-programma is op die manier vrijwel onbeperkt uitbreidbaar. Als er een nieuw IM-protocol populair wordt, hoeft Empathy niet gewijzigd te worden. De protocols behoren immers tot het Telepathy kaderwerk en zodra dat kaderwerk het nieuwe protocol ondersteunt, doet Empathy en alle andere applicaties die van Telepathy gebruik maken dat ook. Empathy ondersteunt daardoor nu al flink wat meer communicatieprotocollen dan andere IM-software, gewoon omdat Telepathy uitgebreider is dan alleen maar IM-protocols. Telepathy ondersteunt bijvoorbeeld ook telefonieprotocols zoals SIP. Vermits Empathy ook audio/video ondersteunt, is dit IM-programma dus ook in staat via SIP contact op te nemen met een SIP-telefoonabonnee en een audiochat te starten. Helaas maakt Empathy wel de indruk snel-snel in elkaar gestoken te zijn om te demonstreren wat je allemaal kunt doen met Telepathy. Daardoor laat Empathy aardig wat steken vallen inzake gebruiksvriendelijkheid. Zo is het een marteling om bij het eerste gebruik uw IM-accounts en -contacten aan de gang te krijgen. De gebruiksvriendelijkheid van Pidgin laat op sommige punten ook wel te wensen over, maar Empathy is wat ons betreft nog veel erger. Niettemin is de hele aanpak veelbelovend en ooit zien we Empathy - of een andere op Telepathy gebaseerde applicatie - wel uitgroeien tot een bijzonder indrukwekkende communicatieapplicatie. Voorlopig moeten we dit echter nog als het kinderschoenstadium beschouwen. Ook Google ondersteunt XMPP. Het IM-programma heet Google Talk. Het bestaat ofwel als een alleenstaand programma voor Windows, ofwel als een webdienst voor Gmail. In dat laatste geval ondersteunt Google ook andere besturingssystemen dan alleen Windows. Product: GoogleTalkProducent en Leverancier: Google, www.google.com/talk Adviesprijs: gratis Systeemvereisten: Windows XP of hoger Google Talk dient tot meerdere eer en eigen glorie. Ook al ondersteunt de client XMPP, u kunt geen andere XMPP- of Jabberdiensten opgeven. De client veronderstelt dat u met de XMPP-dienst van Google werkt en dat is dan ook de enige waarmee hij contact opneemt. Zonder Gmail account geen IM. Google Talk biedt basisfunctionaliteit inzake IM met ondersteuning voor lichte uiterlijkwijzigingen, maar geen skins. Het is gratis en klein, dus wellicht interessant als u alleen met andere Google-gebruikers wil chatten of als u als bedrijf gekozen hebt voor Google Apps. Deze client zit standaard bij heel wat Linux distributies, maar bestaat ook voor Windows. Pidgin ondersteunt een hele waslijst IM-protocols en daar zit dan ook XMPP in naast SIMPLE, MSN en nog veel meer. Er is presentieinformatie, maar die is eerder beperkt en zwaar afhankelijk van wat voorzien is in het gekozen IM-protocol. Pidgin is compact en erg pictografisch. De hoeveelheid ondersteunde IM-netwerken is indrukwekkend. Wat er niet in zit, kan toegevoegd worden via plugins. Wat Pidgin aan functionaliteit biedt, hangt af van het IM-netwerk waarvan u gebruik maakt. Als het netwerk het ondersteunt, kan Pidgin bestanden uitwisselen, verlaatberichten tonen, buddy-pictogrammen gebruiken, aangepaste emoticons en notificaties tijdens het typen. Ook hier kan de basisfunctionaliteit weer uitgebreid worden met behulp van plugins. Plugin integreert zich in de statusbalk in Windows en bij Gnome 2 en KDE 3.1 of hoger. Product: Pidgin 2.6.6Producent en Distributeur: www.pidgin.im Adviesprijs: gratis Systeemvereisten: moderne Linux distributie, Windows, UNIX. Voor Mac OS X is er Adium (www.adiumx.com) Spark is beschikbaar van dezelfde open source groep die verantwoordelijk is voor de Openfire communicatieserver. Het spreekt dus vanzelf, dat zij Spark aanbevelen als de te gebruiken client bij Openfire. Spark ondersteunt XMPP en is dus bruikbaar met eender welk daarmee compatibel berichtensysteem. U kunt bij Spark kiezen voor een softwareclient voor Linux, Windows of Mac, of een webclient: SparkWeb. Spark ondersteunt IM-sessies met meerdere gebruikers tegelijk, bestandenuitwisseling (ook door gewoon te slepen vanaf uw desktop), presentie, telefonieondersteuning (via SIP), notificaties, een gateway naar non-XMPP IM-netwerken zoals MSN. U kunt vorige chats bijhouden en weer tevoorschijn halen. U kunt gemakkelijk een spontane conferentie starten voor een groepchat. Er bestaan ook allerlei plugins om de functionaliteit nog uit te breiden. Dit is een erg gebruiksvriendelijke IM-client. Product: Spark 2.5.8 of SparkWeb 0.9.0Producent en Distributeur: Ignite Realtime, gesponsored door Jive Software; www.igniterealtime.org/projects/spark/index.jsp Adviesprijs: gratis Systeemvereisten: moderne Linux distributie, Mac OS X, Windows, UNIX Voor een kleine maar fijne IM-client raden we Pidgin aan. Dat werkt met alle IM-protocols en ondersteunt meerdere platformen. Digsby heeft ook heel wat in zijn mars, maar werkt helaas alleen op Windows. Empathy moet nog wat volwassener worden. Ook Spark kon ons bekoren en die lijkt ons nog wat interessanter als IM-client voor bedrijven, maar hij is nog lang niet af. Het is wel de aanbevolen client voor onze favoriete IM-server: Openfire. Die biedt veel functionaliteit en heeft een zeer gebruiksvriendelijk beheer.Johan Zwiekhorst