Jabber/XMPP – výhody a úskalí otevřeného IM protokolu
Jan Pinkas
Administrátor Jabbim HumboldTec spol.s r.o. 26.října 2007, ZČU Plzeň Odpoledne s Linuxem 2
… v bezpečí silného teamu!
Co je to Instant Messaging? ●
●
●
●
Internetová služba Umožňuje sledovat aktuální dostupnost kontaktů (online, away, offline, zpráva o stavu – jsem na obědě) Zasílání zpráv a souborů Na rozdíl od e-mailu se vše odehrává v reálném čase
2
… v bezpečí silného teamu!
Jak to vlastně začalo? ●
70. léta – na unixech se používá talk
●
1988 – Jarkko Oikarinen napsal IRC
●
1996 – Izraelská společnost Mirabilis přivádí na svět první opravdové IM řešení ke stažení zdarma
●
1997 – AOL reaguje – na světě je AIM
●
1998 – AOL kupuje Mirabilis za $407 mil.
●
2000 – Jeremie Miller uvolňuje server jabberd 3
… v bezpečí silného teamu!
Přichází Jabber ●
Na vývoji jabberd začal Jeremie v roce 98
●
2000 – na světě je první verze jabberd
●
2002 – IETF formuje XMPP pracovní skupinu
●
2004 – přijaty standardy RFC 3920 a 3921
●
2005 – přichází Google Talk
●
2006 – Google Talk se otevírá světu
4
… v bezpečí silného teamu!
Jabber v ČR ●
Začátek roku 2001 – založen první veřejný server, dione.zcu.cz
●
Duben 2001 – založen server jabber.cz
●
Červenec 2001 – založen server njs.netlab.cz
●
●
●
Září 2005 – jabber.cz byl pohlcen serverem njs.netlab.cz 2006 – tyto servery nadále vystupují pod jedním jménem – Jabbim 2007 – velký boom malých serverů 5
… v bezpečí silného teamu!
Jabber vs XMPP ●
XMPP je standardní protokol
●
Jabber je řešení postavené na XMPP
●
Jabber má ke XMPP stejný vztah jako Web k HTTP protokolu.
6
… v bezpečí silného teamu!
Výhody XMPP protokolu ●
Decentralizace
●
Otevřený protokol, standard
●
●
●
●
Otevřenost – velké množství svobodného kódu Bezpečnost – SASL, TLS, GPG Rozšiřitelnost – specifikace XEP, pružnost XML Možnost výběru – klienti, servery, služby 7
… v bezpečí silného teamu!
Nevýhody XMPP protokolu ●
●
●
●
●
Chybí heartbeat Roztříštěnost – díky rozšiřitelnosti si každý implementuje, co ho napadne Nemožnost převodu JID mezi servery Chybí killer app – Jabber nenabízí uživatelům vlastně nic nového Malý počet uživatelů (v populaci jsou i normální lidé, ne jen geekové)
8
… v bezpečí silného teamu!
Proč nepřichází úspěch? ●
●
●
●
Absence velkých serverů s kvalitní podporou – malé servery nejsou schopny přitáhnout větší množství uživatelů Gtalk – v podstatě tají, že se jedná o XMPP server, navíc službu nepropaguje Chybí klient pro běžného uživatele – to co jde ve Skype jedním tlačítkem, na to v XMPP světě potřebujete 5 minut a dvě vysoké školy. Jabber nepřináší uživatelům nic nového, spíše naopak 9
… v bezpečí silného teamu!
Proč to nejde snadno změnit? ●
●
●
●
●
Chybějící obchodní model Síťový efekt – uživatelé chtějí používat službu, kterou už používají jejich přátelé Jabber nepřináší uživatelům služby, které by je donutily přejít Decentralizace – uživatelé nechtějí paradoxně možnost výběru Klienti – je jich moc (každý doporučuje jiný, nefunguje viral marketing), chybí podpora videa a hlasu, sdílení souborů 10
… v bezpečí silného teamu!
Co můžeme udělat pro změnu? ●
●
●
●
Netahat do IM politiku a náboženství – dnes je všude prezentován Jabber stylem „ICQ je špatné“ - tohle uživatele vůbec nezajímá Podílet se na dokumentaci pro běžného uživatele, současná je příliš složitá – Jabber.cz Wiki Podílet se aktivně na vývoji klientů pro běžného uživatele – nejlepší možnost, dokumentace nebude třeba Propagovat a používat Jabber pro Jabber, ne jako bránu do ICQ
11
… v bezpečí silného teamu!
Rok 2007 – ta snadnější cesta ●
●
●
●
Vychází Miranda 0.7.0, kvalitní podpora XMPP protokolu, tedy ideální trojský kůň pro Jabber QiP Infium – podpora XMPP protokolu Instalujte a doporučujte svým okénkovým přátelům použití multiprotokolového klienta, argumenty jako rychlost, paměťová náročnost nebo pěkný design na většinu uživatelů zabírají. Při instalaci Mirandy přidejte registraci Jabberu a svůj kontakt jako bonus :-) 12
… v bezpečí silného teamu!
Jabbim – tak trochu jiný Jabber ●
●
●
●
Největší kouzlo Jabbim jsou specifické české služby a bezkonkurenční podpora – diskuzní fórum, wiki, MUC konference To vše díky relativně silné vývojářské komunitě Jabbim komunita aktivně přispívá k rozvoji této technologie – část software je opensource – Jabber Disk, Jabbim klient 97.500 registrací, 19.500 aktivních uživatelů, více než 6.500 uživatelů ve špičce 13
… v bezpečí silného teamu!
Jabbim – jak to funguje? ●
●
●
●
Jádrem serveru je XMPP server ejabberd, umístěný na dvou serverech, běžící jako Erlang nody Data jsou ukládána do MySQL, innodb tabulky, všechny operace v transakcích Transporty a roboti jsou napsáni v C, C++, Perlu, Pythonu, Ruby, PHP V současné chvíli využíváme pro naše služby 4 servery 14
… v bezpečí silného teamu!
Jabbim – transporty ●
2 ICQ transporty JIT, 1 ICQ transport PyICQt pro VIP uživatele
●
MSN transport
●
Yahoo transport
●
AIM transport
●
IRC transport
●
SMTP transport – JID funguje jako e-mailová adresa 15
… v bezpečí silného teamu!
Jabbim – služby ●
●
●
●
●
Jabber Disk – 50 MB pro každého a 1 GB pro VIP uživatele, public, private, album SMS transport – SMSky do Vodafone a O2 bez opisování kódu Dict transport – překladové slovníky využívající Perl::Metatrans Program televize, Předpověď počasí, RSS Robot
[email protected] poskytuje jízdní řády MHD/vlak/BUS, svátky, kurzy a další 16
… v bezpečí silného teamu!
Jabbim – www služby ●
●
●
●
Jabbim Album – fotoalbum spravované pomocí Jabberu (přes Jabber Disk) Jabbim PasteBin – místo pro výměnu zdrojových kódů a log souborů, výborné pro vývojáře Jabber Disk – www rozhraní k veřejné části Jabber Disku Status ikonka – aplikace pro zobrazení vašeho statusu na www stránkách 17
… v bezpečí silného teamu!
Jabbim – plány do budoucna ●
●
●
Nasadit dva nové servery, zvýšit stabilitu a dostupnost služeb na 99.9% Stávající vyřazované servery repasovat a přesunout jako podpůrné do serverovny Historie na serveru – včetně www rozhraní a implementace do Jabbim klienta
●
Garantované levné SMS do CZ a SK sítí
●
Dále rozvíjet naše vlastní služby
●
Podporovat nové Jabber projekty (i finančně) 18
… v bezpečí silného teamu!
Jabbim klient ●
●
●
●
●
Jabbim klient je aplikace napsaná v Pythonu za použití knihovny Qt4 Klient funguje pod Unixy i pod MS Windows Cílem je přivést k Jabberu běžné uživatele bez čtení složité dokumentace Klient má už teď vlastnosti, které ho od ostatních odlišují, například podporu skinů a pluginů Část konfigurace klient získává sám, cílem je funkční připojení a FT ihned po instalaci 19
… v bezpečí silného teamu!
Jabbim klient ●
Klient je zveřejněn pod licencí GPL
●
http://dev.jabbim.cz/jabbim
●
Vývojáři stále hledají nové kolegy: designery, překladatele do češtiny, autory dokumentace, grafiky
20
… v bezpečí silného teamu!
Diskuze ●
Prostor pro vaše dotazy
21
… v bezpečí silného teamu!
Psi 0.11 – předvedení služeb ●
Jabbim Album
●
Slovníky
●
SMSky
22
… v bezpečí silného teamu!
Děkuji za pozornost ●
http://www.jabbim.cz
●
http://www.jabber.cz/wiki
23
… v bezpečí silného teamu!