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
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
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
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
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
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ý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
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
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
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
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
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
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
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
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
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 netlabbot@njs.netlab.cz poskytuje jízdní řády MHD/vlak/BUS, svátky, kurzy a další 16
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
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
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
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
Diskuze Prostor pro vaše dotazy 21
Psi 0.11 předvedení služeb Jabbim Album Slovníky SMSky 22
Děkuji za pozornost http://www.jabbim.cz http://www.jabber.cz/wiki 23