GUADEC 2008 redux

(napomena: vrlo dug post, već par dana odugovlačim s pisanjem istog…)

Uz već tradicionalni odmak od par dana, evo mene opet sa par riječi o upravo proteklom GUADECu, europskoj konferenciji GNOME developera i korisnika. Neka vas pridjev “europska” ne zavarava, GUADEC je definitivno najveća konferencija posvećena GNOME-u i jedna od najvećih (uz još Akademy, OSCON, Linux.conf.au, FOSDEM i još možda pokoju) konferencija posvećenih free/open source softveru.

Istanbul
Istanbul predvečer, pogled prema zapadu

Ovogodišnji GUADEC održan je u Istanbulu, popularnom turističnom središtu, pa niti ne čudi da su druženje i aktivnosti van službenog programa bile i intenzivnije od samih predavanja. No mislim da su ovakve konferencije i općenito više korisne za upoznavanje, interakciju, networking, druženje, a da su sami sadržaji programa u drugom planu.

I ovogodišnji GUADEC trajao je ukupno 7 dana, od čega su prva dva bila “warmup” dani sa manje popunjenim programom, (možda) manje zanimljivim predavanjima, a tijekom kojih se vrijeme moglo odvojiti i za razgledavanje grada. Srž konferencije činila su 3 odlična “core” dana, a zadnji dan, iako je također u rasporedu imao par zanimljivih stvari, većina je polaznika (pa i ja) odlučila markirati i iskoristiti za turističke aktivnosti.

Iako GUADECi nemaju neku posebnu “temu broja”, kao što je prošlogodišnji odisao panikom zbog nadolazećih Web tehnologija, tako je i ovogodišnji imao neslužbenu tematiku. Kašu su zakuhali neki GNOME developeri već mjesec dana prije sa tvrdnjama da je GNOME projekt u stanju dekadencije. U flamewaru koji je uslijedio moglo se čuti podosta o tome zašto GNOME je ili nije u stagnaciji, a na samom GUADECu moglo se čuti dosta o projektima koji bi trebali biti dio odgovora na ovaj problem.

Bazaar vs Git

Prvo predavanje u ponedjeljak kojem sam prisustvovao je zapravo trebalo biti BoF rasprava o DVCS (distribuiranom version control sustavu). GNOME trenutačno koristi Subversion, na koji je prešao relativno nedavno i to uz dosta muka i poteškoća, većinom uzrokovanih CVS braindamageom. No taman kad je GNOME napokon prešao na moderniji VCS, pokazalo se da ostatak svijeta masovno prelazi na neki od distribuiranih sustava, pa se tako gotovo odmah počelo šuškati o tome da bi i GNOME profitirao od korištenja distribuiranog sustava.

Naravno, kako DVCSova ima više, postavlja se pitanje koji koristiti. Tijekom vremena kao ozbiljni kandidati iskristalizirali su se git (čedo Linusa Torvaldsa, korišten za Linux kernel, a odnedavno dvcs-of-choice za web2.0 ruby developere, djelomice i zbog odličnog github servisa) te bzr, razvijan i podupiran od strane Canonicala.

Nego, da se vratim GUADEC-u. Navedeni BoF/rasprava o tome što koristiti na kraju se pretvorila u predavanje o gitu, tako da se nije ništa odlučilo. Nešto rasprave bilo je kasnije u pitanjima/komentarima, ali moj je osjećaj da se developeri neće nikad uspjeti dogovoriti što koristiti (nema šanse da svi pristanu na git, ili na bzr), tako da će na kraju release team morati udariti ćekićem o stol i napraviti odabir. Čini mi se da većina ipak navija za git, no zanimljivo je da je na GUADECu bilo par developera bzr-a koji su se trudili dići popularnost tog sustava, a na rečenom BoFu bio je i Mark Shuttleworth (nisam ga vidio na ostatku konferencije, pa je vjerojatno doletio samo za tu priliku) s izjavom “sa stajališta Ubuntua, najbolji izbor za GNOME dvcs bi bio bzr”. K’o bi rek’o ;-)

Inače, kao demonstraciju moći, i ljubitelji gita i bzra pripremili su mirror gnome svn repozitorija u svom omiljenmo dvcsu tako da se već danas možete igrati sa GNOME Bazaar i GIT GNOME repozitorijima.

O ljudima

Slijedeća dva predavanja na kojima sam bio su bila o Soylentu te People Frameworku, komplementarnim projektima slične tematike.

Soylent je u suštini za ljude ono što je Nautilus za datoteke. Ideja Soylenta je omogućiti korisniku da ima jedinstveni pogled na ljude s kojima ima interakciju, a ne na pojedine kontakte u kontakt listi. Konkretno, to znači da ako za recimo Peru Ložača imate 3 e-mail adrese, gtalk ID, ICQ UIN, Soylent će sve te podatke grupirati i pokazati na jednom mjestu. Na taj način ne morate razmišljati o pojedinim accountima korisnika i koji program pokretati za koji način komunikacije, nego odaberete čovjeka, a tek onda što želite s njim. Iz opisa čini se kao mala razlika u izvedbi, ali velika je razlika u poimanju workflowa tj korištenja računala za interakciju. Soylent omogućuje da na prirodniji način razmišljamo o svojim kontaktima.

Ali kako uopće doći do pojedinih podataka o kontaktu i grupirati ih? People Framework je framework koji radi upravo to – iz različitih izvora (npr. LDAP, Telepathy kontakt lista, Evolution adresar, adresar u vašem mobitelu, itd) vuče podatke o kontaktima, sinkronizira ih, grupira i čini dostupnima kroz jednostavan interface (sličan SNMP-ovima MIB-ovima, za one koji su u tim vodama). People framework i Soylent su savršen spoj pa su autori čim su saznali jedni za druge već počeli dogovarati način interakcije ova dva sustava.

Clutter, clashing predavanja

Nažalost, u istom trenu dok se u jednoj prostoriji pričalo o ova dva projekta, u drugoj je bilo predavanje o Clutteru, frameworku za animacije i (2D) efekte komplementarnom GTK+-u. Clutter se (IMHO) nametnuo kao najbolji animation framework za GNOME/GTK+ programe, tako da će vjerojatno u nekom obliku u budućnosti biti odabran kao standardni dio GNOME platforme.

Općenito, ove godine se dosta predavanja koje sam želio vidjeti održavalo u isto vrijeme, tako da na mnogim stvarima nažalost nisam mogao biti. Ako se uzme u obzir da je u samom rasporedu bilo i dosta rupa, mislim da su organizatori mogli malo više “razvodniti” raspored i osigurati da se (potencijalno) zanimljiva predavanja ne odvijaju baš u istom trenu.

Clash mi je bio najgori u trenutku kad sam ja držao svoje predavanje, dok su u druge dvije dvorane bila vrlo zanimljiva predavanja o Moonlightu (Mono implementacija Silverlighta) te Wizbit (filesystem nad git-om, ala OSX Time Machine). Da nisam morao biti na svojem, vjerojatno bi išao na neki od ta dva :)

UXD, Firefox keynotes

Prvi keynote držala je Leisa Reichelt, a govorila je o user experience dizajnu. Dotaknula se tema kao što je usability, privlačnost dizajna i podsjetila nas na nekoliko aksioma (tipa “ne tjeraj me da mislim” [tm]) koji su vjerojatno stalno na pameti web developerima, ali se ponekad znaju zaboraviti prilikom rada na tradicionalnim desktop aplikacijama. Sve u svemu, dobar keynote, ali ništa što već nismo imali prilike čuti.

Na kraju prvog core dana keynote je održao i Chris Blizzard iz Mozille. Pričao je o Firefoxu 3 te iznio par informacija o pogledu Mozille (korporacije) na tržišni udio (sa zabavnim grafovima koji pokazuju “tržišni udio ako uračunamo da je firefox zaslužan nastanak ie7, ie8 i safari browsera”) i budućnost Firefoxa. No cijeli njegov nastup bio je poprilično bahat, sa konstantnim omalovažavanjem konkurencije (WebKit/Safari i IE timova), tako da je na mene ostavio poprilično negativan dojam. Kasnije je Chris rekao da se na taj način želio pošaliti. I’m not impressed.

Telepathy

Drugi core dan bio je za mene obilježen Telepathyem. Prvo je Robert McQueen pričao o novostima u Telepathy svijetu i relativnoj novotariji, cijevima (nespretan hrvatski prijevod originalnog “tubes”, aplikacijski podatkovni kanali preko IM-a). Nakon toga sam i ja izašao na pozornicu i pričao o mogućnostima, razlozima i načina integriranja Telepathy frameworka u “obične” desktop aplikacije (slideovi ovdje). Moja prezentacija je dobro prošla iako sam imao malu tremu pa previše brzao sa slajdovima :-)

Tijekom pripreme prezentacije, samog predavanja a i općenito na GUADECU dobio sam dojam da ljudima Telepathy framework još spada pod “u dalekoj budućnosti” projekte i da zapravo ne postoji mnogo informacija kako ga odmah danas iskoristiti na smislen način. Kako bi tome doskočili vjerojatno ću prezentaciju pretočiti u niz blog postova s tutorialima kako iskoristiti mogućnosti Telepathya u svojoj aplikaciji, pa ako vas to zanima, stay tuned :-)

Nakon stanke za ručak Olivier Crete je pričao o Farsightu 2, novoj verziji Farsight frameworka za audio/video konferencije. Farsight 2 ispravlja arhitekturalne greške uočene u prvoj verziji, API je jednostavniji, cijela stvar je robustnija i podržava mnogo više stvari, od kojih je najznačajnija je podrška za telekonferencije sa više od 2 sudionika.

Jedno od pitanja iz publike postavio je Damien Sandras (autor Ekige) – zašto se krenulo raditi Farsight ukoliko je u tom trenu već postojao OPAL, VoIP library kojeg koristi Ekiga a koji podržava H.323 i SIP protokole. Problem sa OPAL-om je da je on previše vezan uz te protokole koje podržava, odnosno library automagično rukuje i signalizacijom (H.323/SIP) i transportom media (RTP,…) bez mogućnosti odvajanja tih funkcionalnosti, što ga čini nefleksibilnim i potpuno neprimjenjivim u sustavima koji imaju neke druge signalizacije (npr Telepathy ili custom streaming sustavi).

Damien je bio slijedeći na stageu, pričajući o prošlosti, sadašnjosti i budućnosti Ekiga VoIP klijenta koja bi uskoro trebala osvanuti u svojoj 3.0 inačici. Najznačajnije novosti u trojci biti će podrška za SIMPLE (instant messaging preko SIP-a) te razdvajanje clienta u libekiga backend i UI frontend, što bi trebalo omogućiti razvoj i drugih VoIP klijenata nad Ekiginom jezgrom. (Telepathy SIP/H.323 connection manager anyone?).

WebKit/GTK – Fuzija weba i desktopa

Dan je zaključio Alp Toker koji radi na GTK+ portu WebKit browser enginea (koji pogoni Safari i Konqueror browsere). Alp je pričao o raznim mogućnostima integracije browser enginea u desktop kao što su korištenje CSS stylinga za GTK+ widgete (mogućnost koja stvarno nedostaje – trenutno, ako želite raditi custom temu za GTK+ koja radi više od promjena par boja i ikona, trebate znati programirati u C/GTK+), embeddanje HTML sadržaja unutar GTK+ elemenata, izravni pristup manipulaciji DOM-a iz programa koji embedda widget, pristup objektima programa iz JavaScripta koji se izvori u embedanom WebKit widgetu i mnoge druge stvari koje su danas nemoguće.

Jedna od vizualno impresivnijih prezentacija bila je HTML5 video element unutar SVG elementa animiranog JavaScriptom, a na sve to bio je i nabačen “voda” (vertikalni mirror sa ripple efektom) efekt. Cijela prezentacija je bila praćena uz puno pljeskanja i slinjenja, WebKit se pokazao kao jedan od bitnih elemenata za sexy/bling/jednostavan-za-programiranje GNOME desktop budućnosti.

Flash, paketiranje, …

Zadnji core dan počeo sam odlaskom na prezentaciju swfdeca, librarya za izvođenje Adobe Flasha. Iako Adobe u zadnje vrijeme kreće naprijed sa svojim supportom za Linux, još uvijek nije moguće embeddati njihov player u svoju aplikaciju niti imati preciznu kontrolu nad izvođenjem Flash objekata, što su sve ciljevi kojima stremi swfdec. Glavni developer Benjamin Otte iznio je zanimljivu priču o razlozima postojanja, razvoju swfdeca, raznim verzijama Flasha i planovima za budućnost (konačni cilj mu je da nitko ne koristi Flash na Linuxu nego da bude zamjenjen nekim zasad nepostojećim free rješenjem).

Nakon toga pogledao sam predstavljanje PackageKita. PackageKit je sustav za pametno rukovanje paketima (softvera) na računalu. Ne zamjenjuje pojedine paketne sustave distribucije (rpm, dpkg, itd), nego je sloj iznad i pokušava riješiti neke high-level probleme, kao što su mogućnost korištenja više aplikacija koje rade s paketima istovremenom (queuanjem zahtjeva), pametnijim sustavom za upgarde paketa (mogućnost automatskog/polautomatskog upgradea, ne radi upgrade ako je laptop na bateriji/gprsu, bandwidth limiting kod upgradea), mogućnosti da aplikacija eksplicitno zatraži instalaciju dodatnih paketa (npr video player za kodeke, openoffice za clipart, itd) itd. PackageKit je neovisan o specifičnoj distribuciji ili user interfaceu (glavno sučelje je GNOME ali radi se i na KDE verziji), zasad je u beti i već se nalazi u novoj Fedori, a za očekivati je da će biti prihvaćen od većine ili svih distribucija Linuxa.

Lennart Poettering, autor PulseAudia i čovjek koji dok nije na konferencijama izbacuje masivne količine visokokvalitetnog koda (a kad je na konferencijama upija masivne količine piva) predstavio je budućnost zvučnih efekata u GNOME okruženju. Po uzoru na Tango/icon specifikaciju, definirana je zvučna specifikacija sa mnogo više predefiniranih zvukova (odokativno nekih 60tak umjesto dosadašnjih 16) i određen način kako treba raditi zvučne teme, što bi trebalo osigurati da u budućnosti dobijemo velik broj (nadajmo se kvalitetnih) zvučnih tema za GNOME.

Sa developerske strane, predstavio je Canberru, sustav za zvučne efekte za GNOME i dugoočekivanu zamjenu za esd. Canberra je vrlo jednostavna za korištenje u programima (tipično samo par dodatnih linija koda), a sustav osim jednostavnog playbacka radi i cachiranje zvučnih sampleova, različiti bitrate zvukova te napredne stvari poput prostornog pozicioniranja zvuka (npr. zvuk s lijeva ako je događaj na lijevoj strani zaslona).

Budućnost

Završni keynote držao je Federico Mena-Quintero, jedan od začetnika GNOME projekta. Federico je pričao o tome kako je sadašnji koncept desktopa orjentiranog na aplikacije zastario, pozvao na dokument-orjentirani desktop i predstavio nekoliko intrigantnih mockupova kao prijedloge u kom smjeru se može ići. Jedna od ideja je document timeline, u kojem je moguće pregledavati dokumente bazirano na vremenu kad su zadnji put promjenjeni (nešto slično F-Spotovom image timelineu, samo više vizualno). Druga ideja je izbaciti file chooser i općenito ne siliti korisnika da razmišlja o folderima i lokacijama datoteka.

Nakon inspirirajućeg predavanja razvila se živa rasprava, ali je brzo okrenula u znanstvenofantastične vode (“bilo bi super kad bi imali verzionirajući datotečni sustav tipa wizbit i onda ne imali eksplicitno spremanje dokumenata nego automatsku perzistenciju”…). No bez obzira na to, poznajući Federica stvar neće stati na pukom maštanju, nego će se stvar probati razraditi i smislene djelove koncepta mogli bismo jednog dana koristiti na našim desktopima.

Na kraju keynotea GNOME release team je imao jednu objavu (tj mislim da je to još uvijek u fazi prijedloga). Već se dosta pričalo o viziji GNOME 3.0 desktopa koji bi trebao biti novi i radikalan. No umjesto “reza” poput onog u KDE 4, release team predlaže kontinuiran razvoj i dogradnju, ukratko:

GNOME 2.30 = 3.0
GNOME 2.30 = GNOME 3.0

Može se primjetiti da je velik broj novih tehnologija koje su prošlih godina dozrijevale a sad su spremne za korištenje u GNOME aplikacijama zapravo proširenje nečega što je zasad već dostupno u specijaliziranim programima, ali uskoro će biti dostupno svim programima, kao komponenta sustava. To su tehnologije poput Telepathya (vs. monolitni Pidgin), Clutter (vs. ručni framework u SDLu ili OpenGL-u), WebKit (vs. standalone Firefox), PackageKit (vs. posebni update-manager/package-manager program), PulseAudio/Canberra (predugo očekivana normalna podrška za zvuk na Linux desktopu).

Korištenjem ovih tehnologija već sad moguće je raditi programe koji su bili nezamislivo teški za izradu pred samo godinu-dvje, tako da nemam sumnje da je cijela platforma zdrava, agilna i da GNOME čeka svjetla budućnost)

I za kraj još samo jedna najava za budućnost – slijedeće godine GUADEC se održava na Kanarskim otocima! Yay! Sunce, ljeto, plaža, geekovi s laptopima na plaži :-) Zapravo, Kanarski otoci ugostit će istovremeno i ljubitelje GNOME i KDE sučelja jer se GUADEC i Akademy održavaju u isto vrijeme na istom mjestu (organizatori su odlučili zadržati suverenitet obiju konferencija, tako da to neće biti zajednička konferencija, nego dvije združene konferencije na istoj lokaciji).

3 komentar(a)

  1. Odličan post i veseli vidjeti da GNOME timu ne padaju na pamet egzibicije u stilu KDE4.

  2. Što je s Mozillom na hrvatskom ,već godinu dana se ne javljaš, je to propalo, jer sam puno preveo!

  3. @anton: Hej, stvar nije propala samo sam ja negdje početkom godine izašao iz cijele priče zbog drugih obaveza. Bilo bi dobro da stvari koje si preveo (ako već nisi) pošalješ Anti ili na ubuntu-hr listu tako da ljudi koji sad na tome rade mogu iskoristiti stvari koje si ti već preveo.