GUADEC, 14 days later

August 6, 2007 – 2:01 am

(napomena: vrlo dug post)

Pred dva tjedna bio sam na konferenciji GNOME korisnika i developera GUADEC, koja je ove godine održana u Birminghamu, UK. Konferencija se i ove godine održavala 7 dana, od čega su prva dva dana bila zagrijavanje, tri dana “core” konferencije i još dva “after hours” dana (na kojima nisam prisustvovao jer sam išao prijatelju na svadbu, Bog ga poživio :-)

Najzanimljiviji dio konferencije svakako mi je bio društveni aspekt, odnosno druženje uživo s ljudima s kojima inače mogu komunicirati samo preko Interneta, te upoznavanje novih ljudi za koje sam dosad samo čuo i čije softverske uratke svakodnevno koristim. Od ekipe iz susjedstva naišao sam Gorana Rakića i Danila Šegana - bilo je čudno tamo pričati na hrvatskom a da te netko razumije, pa je bilo par zbunjenih situacija u kojima smo Danilo i ja pokušavali na engleskom komunicirati, a onda bih se ja okrenuo k nekom tko ne razumije hrvatski i nešto na hrvatskom komentirao :-)

Uglavno, da ne prepričavam sad anegdote, bilo je dobro, a bilo je i dobrih predavanja (o tome bi ovaj blog post zapravo trebao biti :). Kako sam unaprijed planirao napisati neki post sa izvješćem iz konferencije, marljivo sam pisao bilješke pa nisam zaboravio bitne stvari nakon dva tjedna. Kako je post vrlo dug, ako vam se ne da sve čitati, executive summary: konferencija se većinom bavila izazovima koje pred GNOME predstavljaju mobilni uređaji i sustavi, te nove rich internet i web2.0 aplikacije.

A sad, po redu.

Tema prvog predavanja na kojem sam bio je bio Managed D-Bus, odnosno implementacija D-Bus protokola potpuno u C#-u. Autor Alp Toker pričao je o tome zašto je pisao svoju implementaciju a ne bindao libdbus (libdbus nije baš najsretnije rješenje za dinamičke jezike - sa ovim se složio i trenutni maintainer dbus-pythona, koji također razmišlja o pure-python reimplementaciji), fancy featureve koje Managed D-Bus podržava, kao što su automatska serijalizacija/deserijalizacija C# struktura u D-Bus strukture, dinamičko generiranje C# iz D-Bus interfaceova, itd, itd… Osim pričanja o Managed D-Busu, predavanje je bilo poučno i glede detalja rada samog D-Bus protokola.

Nakon toga pohodio sam predavanje o Jackfieldu kojeg je držao Stuart Langridge (poznat iz LugRadio i Jokosher priča). Jackfield je softver koji će omogućiti izvršavanje widgeta (prijevod: čudnih satova i kalendara i ostalih vrlo korisnih stvari iz Konfabulatora / Yahoo / Microsoft / Opera Widgeta) na Linuxu. Svi ovi widgeti su zapravo kombinacija HTML-a, CSS-a i JavaScripta (uz neka proširanje ili dodavanje JS modua), a osnovna ideja Jackfielda je omogućiti iskorištavanje velikog broja već gotovih programčića i dovesti developere koji vole raditi na tim platformama na Linux desktop.

Naba Kumar iz Nokie (u narodu poznat kao autor Anjuta IDE-a) držao je predavanje o Telepathyu (opet ja s tim, znam, znam :), s naglaskom na specifičan dio frameworka, Mission Control. Kako je Telepathy skup labavo povezanih komponenti, potrebno je nešto što će određivati u kojem trenutku se što pali ili gasi, koja aplikacija se pokreće, itd, a to nešto je nazvano “Mission Control”. Naba je pričao o Nokiinoj implementaciji MC-a (koja se koristi u N800 tabletima, a nedavno je open-sourceana). Osim nje, postoji i implementacija projekta Decibel (iz KDE-a), koja je naravno, drugačija, a trenutno se radi na standardizaciji API-ja koji će ujediniti obje strane i Decibel i Nokia pristupa.

U zadnjih godinu dana počela se posvećivati velika pažnja performansama te zauzeću memorije GNOME programa. Za profiliranje potrošnje vremena već ima dosta dobrih alata, no tradicionalno je na Linuxu vrlo teško odrediti koliko stvarno memorije troši neki proces. Jedan od alata koji može pomoći u ovome je exmap (originalno GTK+ program, console i client/server verziju je napravila ekipa iz OpenedHanda). Alat radi snapshot cijelog sustava u nekom trenu, i analizira koliko memorije koristi pojedini program, s tim da se može vidjeti zauzeće po programu, mapiranom fileu unutar programa (omogućava profiliranje recimo samo nekih librarya bez gledanja ostatka programa), ili čak i na razini pojedinih simbola unutar programa. Stvar je laka za korištenje, a daje zanimljive rezultate (na predavanju se profilirao GNOME desktop pa je ispalo da recimo GNOME Panel troši poprilično memorije), pa Linux developerima svakako preporučam da bace oko na ovaj alat.

Lunjajući prostorijama gdje se održavao GUADEC, uspio sam zalutati i na (otvoreni) sastanak GMAE (GNOME Mobile and Embedded) inicijative, gdje se moglo čuti o nedostacima GTK+-a za mobilno korištenje (većinom se pljuvalo po theme API-ju, neki su još na GTK+2.6 zbog performansi), a raspravljalo se i o mogućem uključivanju Hildona (Nokiin GTK-based API za mobilne uređaje koji se koristi u N800) u GMAE platformu. Na dijelu sastanka kojem nisam prisustvovao čuo sam da se prihvatilo i Mono kao jednu od platformi za razvijanje aplikacija za GMAE.

Nakon GMAE sastanka svi smo brzo zbrisali na predavanje o korištenju Linux i GTK-a o hanheld deviceu koji koristi Electronic Display Paper tehnologiju, idealnom za recimo čitanje e-bookova, elektroničkih novina ili RSS readere. Problem sa EDP-om je vrlo spor refresh (oko 1s), zbog čega je potrebno na potpuno drugačiji način osmisliti UI. Imali smo priliku malo se i poigrati sa prototipom jednog takvog uređaja (hardveraj: 200MHz xscale proc, 64MB rama, 256MB flasha, 16tak tonova sive boje, cijena: prava sitnica, oko €650).

Slijedeće predavanje na kojem sam bio pričalo je o Abiwordu i njegovoj podršci za real-time kolaboraciju, odnosno mogućnosti da više ljudi istovremeno uređuje jedan dokument. Osim obavezne demonstracije fičra, Marc Mauer pričao je o načinu izvedbe, podržanim backendima (XMPP/Jabber, TCP/IP, Telepathy tubes), te načinima rješavanja konflikata i netsplit slučajeva.

Access, odnosno dio bivšeg PalmSourca, koji je pak dio bivšeg Palm-a (ja mislim - radi se tu o par firmi koje su jedna naslijedile drugu ili pokupovale prava druge, itd, pa nisam skroz pohvatao tko tu koga) predstavio je svoje rješenje za mobile Linux - Hiker. Hiker je framework koji implementira neke od specifičnih fičra koje je Palm imao (jednostavno shareanje aplikacija i podataka, persistent storage, itd) , i koji bi se trebao moći uklopiti i u druge Linux sustave. No, dosta toga o čemu su pričali mi zvuči kao NIH (”Nije nam se svidjelo ovako, pa smo napravili svoje…”), zapravo nemaju developera niti korisnika sistema, krajnja platforma će biti proprietary (s open-source dijelovima) i većina opisanog je zasad vapourware pa sam skeptičan prema cijeloj stvari.

Raphael Slinckx je pričao o Telepathyu (obećajem, zadnji put u ovom postu ga spominjem), overview što je to i čemu služi, te opisao Empathy, set komponenti za GNOME koji omogućuju vrlo jednostavno korištenje Telepathy frameworka unutar GTK+ programa, te pokazao par primjera kako u nekoliko linija koda napisati IM client. Telepathy je već dosta razvijen framework, ali dosad ostali developeri nisu imali pretjerano koristi od njega, no sad s razvojem Empathya (koji je originalno bio fork Gossipa) imat će komponente koje jednostavno ugrade u svoju aplikaciju i time dobiju IM funkcionalnost. Jednostavan primjer ovog opisao sam u prošlom postu, Epiphany ekstenzija u 60tak linija Pythona koja omogućuje slanje zanimljivog linka nekom IM kontaktu.

Na Ubuntu konferenciji u Zagrebu ovo proljeće, velik broj ljudi bio je zadivljen Lowfatom, preglednikom kolekcija slika koji je zapravo istraživanje drugačijih načina korištenja desktop metafore. Njegov autor Mirco Muller na GUADECu je održao prezentaciju i pričao o daljnjim planovima za razvoj ovog softvera. Ideja Lowfata je da bude općeniti pregled dokumenata (slike tekstovi, video, glazba), idealno u kombinaciji sa pretraživačem poput Trackera ili Beaglea, s tim da svaki dokument bude predstavljen samim sobom, a ne nekim ikonama, listama datoteka, ili slično, dakle uz minimiziranje dodatnog sučelja, tako da cijela stvar bude što je moguće intuitivnija. Zasad Mirco razmišlja samo o pregledniku dokumenata, no mislim da bi se takav koncept mogao lako proširiti i na editiranje dokumenata (primjerice aktivacijom “editora” oko samog dokumenta bi se pojavile ikone za pojedine radnje, bez nekih dodatnih prozora, izbornika, itd). Cijela stvar je još u fazi istraživanja, ali vjerujem da bi za par godina mogli uživati u nečem posve drugačijem od današnjih desktop metafora (činjenica da se na tržištu pojavljuju veliki multitouch uređaji koji su idealni za korištenje u ovakve primjene ne može škoditi).

Svake godine na GUADECu se tradicionalno održava predavanje o stanju u GTK+-u, nakon čega obično izađe nova verzija istog. Tako je bilo i ove godine. Novi GTK+ donosi nam Tango ikone po defaultu, par novih widgeta, mnoga poboljšanja OSX backenda, ali najveća stvar je vjerojatno uključivanje GtkBuildera, zamjene za libglade. GtkBuilder omogućava da se u XML datoteci specificira sučelje i učita u program s vrlo malo koda. GtkBuilder sadrži mnoga poboljšanja u odnosu na libglade, a osim toga uključen je izravno u GTK+ a nije dodatna komponenta. XML definicije sučelja u libglade i GtkBuilderu se razlikuju, ali uz njega dolazi i nekoliko skripti koji bi trebali omogućiti jednostavnu konverziju starih definicija sučelja u nove.

Najviše prašine na konferenciji podigla su dva keynotea koji su se bavili problemom Linux desktopa (i desktopa općenito) i Weba.

Havoc Pennington (RH-ov Linux Desktop developer i tata D-Busa, u zadnje vrijeme radi na RH-ovom Mugshotu) imao je keynote u kojemu je postavio tezu da je tradicionalan desktop zastario i da se svi okreću prema webu. Djelomice se slažem s njegovim izjavama (treba smišljati nove ingeniozne načine za korištenje interneta kako bi mogli raditi kul stvari koje prije nismo mogli), ali mislim da je lagano pretjerao. Naime njegov je stav da sve podatke trebamo držati na netu, a desktop treba biti samo način za doći do tih podataka, te ga uopće ne brine činjenica da mora apsolutno vjerovati Googleu (ili bilo kojem drugom online servisu koji koristi, a koji nije njegov) da će se dobro odnositi prema njegovim podacima. Ovako nešto bilo je dosta kontroverzno i zapalilo polu-flame-war između publike i njega. Ono što me najviše uplašilo na cijelom keynoteu je da se i Jeff Waugh, čovjek za kojeg mi se čini da stvarno dobro zna o čemu priča kad priča (a priča mnogo :) složio s Havocom i stao u njegovu obranu.

Još jedan keynote kojem sam prisustvovao, je bio Alex Graveley-ev (Alex je poznat po F-Spot-u, Tomboyu, Gimmieu, a i netko je spomenuo da je on nacrtao Tuxa (logo, jel…), iako ne mogu sada naći nigdje reference na to na ‘netu). Alex je bio još veći fatalist od Havoca, prognozirao je kraj desktopa kao takvog, postavio Web kao put, istinu i život, i samo mu je nedostajao sandwich-plakat sa “End is near”, zvono i dernjava “Repent!”. Sad vjerojatno mislite da pretjerujem, ali ne :-) Uostalom, naslov njegovog keynotaje bio “Let’s make Linux desktop Web 3.0″. WTF? U osnovi njegova ideja ima smisla - velik broj developera radi nešto za web, hajd’mo ih privući da rade za desktop. Njegov novi projekt koji bi u tome trebao pomoći je Pyro Desktop, Firefox ekstenzija koja omogućuje da se web stranice ponašaju kao pravi desktop prozori - u osnovi, možete na desktopu imati simulirano desktop sučelje unutar HTML-a. Ako ste probali Meebo, zamislite da su oni njegovi prozori iscrtavani na pravom desktopu a ne unutar firefox prozora - e to je Pyro Desktop. Po meni, nema prevelikog smisla simulirati native desktop stvari u HTML-u koji se izvodi na tom istom native desktopu - puno bolje bi bilo omogućiti jednostavnije ubacivanje HTML unutar normalnog GUI-a (te normalnih GUI elemenata unutar HTML widgeta), i tako omogućiti developerima da iskoriste najbolje strane i jednog i drugog tamo gdje to ima smisla. Mislim da je nakon njegovog keynotea većina publike dobila mišljenje da je čovjek lagano skrenuo, a njegovo inzistiranje da je Firefox super, da bi on trebao biti platforma za sve, i da je grozno to što se razvijaju alternativni ne-Gecko browseri za Linux (port Appleovog WebKit enginea) samo je dolijalo ulje na vatru.

U danima nakon ova dva keynotea mnogo ljudi javilo se sa svojim mišljenjima na svojim blogovima ili u komentarima, tako da se rasprava “što ćemo mi [GNOME community] napraviti s tim webom?” dosta zahuktala. Kao nekom tko se poprilično bavi i Webom (pa i Webom 2.0), i Linux Desktopom, cijela stvar čini mi se poprilično čudnom - kao da su se neki ljudi probudili iz zimskog sna, pogledali oko sebe i rekli “U, kvragu, svi su ludi za ovim webom 2.0! Što ćemo sad?” i sad panično traže neko rješenje. Osobno ne mislim da web označava kraj desktopa, pa mi rješenja u stilu “we’re doomed, I for one welcome our new Web overlords” nisu pretjerano primamljiva. No, dobra stvar je da je rasprava započela, i vjerojatno ćemo u narednom razdoblju od GNOME ekipe čuti mnogo čudnih, uvrnutih, ali i (nadam se) ponekad i genijalnih ideja kako ostvariti suživot ta dva svijeta.

Uh, uspio završiti tekst. Ako ste i vi uspjeli pročitati sve ovo gore, svaka vam čast :-)

(Još jedna napomena: server ima nekakvih problema s mysqlom pa ne rade komentari, to je u procesu popravljanja, nadam se da će uskoro opet biti up & running).

  1. 1 Trackback(s)

  2. Aug 10, 2007: Free Software Stuff - Clutter

Post a Comment