… v bezpečí silného teamu! 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
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 u se vše odehrává v reálném čase
3 … 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
4 … 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
5 … 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ů
6 … 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.
7 … 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
8 … 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é)
9 … 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
10 … 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ů
11 … 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
12 … 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 :-)
13 … 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 ● registrací, aktivních uživatelů, více než uživatelů ve špičce
14 … 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
15 … 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 ová adresa
16 … 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 poskytuje jízdní řády MHD/vlak/BUS, svátky, kurzy a
17 … 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
18 … 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ě)
19 … 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
20 … v bezpečí silného teamu! Jabbim klient ● Klient je zveřejněn pod licencí GPL ● ● Vývojáři stále hledají nové kolegy: designery, překladatele do češtiny, autory dokumentace, grafiky
21 … v bezpečí silného teamu! Diskuze ● Prostor pro vaše dotazy
22 … v bezpečí silného teamu! Psi 0.11 – předvedení služeb ● Jabbim Album ● Slovníky ● SMSky
23 … v bezpečí silného teamu! Děkuji za pozornost ● ●