Jan Odvárko: na Firebugu je radost pracovat

Jan Odvárko se věnuje vývoji známého nástroje Firebug určeného pro webové vývojáře. Zeptali jsme se ho, jak se k této práci dostal a jakým způsobem spolupráce uvnitř Firebug týmu probíhá. Pokusíme se i trochu poodhalit, jaká je budoucnost Firebugu a na co se můžeme v nejbližší době těšit.

Ahoj Honzo, poslední dobou se podílíš na vývoji Firebugu. Kolik lidí na něm pracuje a co přesně máš na starosti ty?

V základním Firebug týmu je nás v současné době pět: John J. Barton (IBM), Rob Campbell (Mozilla), John Resig (Mozilla), Steve Souders (Google) a já (Mozilla). Nicméně vývoje se účastní celá řada dalších lidí. Jsou to především ti, kteří jsou členy FWG (Firebug Working Group) a také velké množství komunitních přispěvovatelů, bez kterých bychom se určitě neobešli.

Já osobně jsem věnoval hodně energie práci na Net panelu zobrazujícím časový přehled informací o nahrávání webové stránky. V poslední době také pracuji na nových Firebug APIs, které zlepšují jeho extensibilitu a tvorbu rozšíření pro Firebug. Dále mám na starosti organizaci lokalizací do různých jazyků a samozřejmě opravu chyb, které pocházejí z různých oblastí Firebugu.

Jan Odvárko se s platformou Mozilla prvně setkal ve startupu AllPeers. Nyní žije v Českých Budějovicích a využívá svých zkušeností při práci na projektu Firebug, který je vyvíjen pod křídly Mozilla Corporation.

Na svém blogu Software is hard se Jan věnuje zejména Firebugu, mj. publikuje návody, jak mohou vývojáři pomocí rozšíření přidávat do Firebugu další funkce stejným způsobem, jakým je rozšiřován i samotný prohlížeč Firefox.

Pokud vím, pracuješ na vývoji Firebugu fulltime, ale žiješ tady v Čechách. Je snadné od nás pracovat pro Mozilla Corporation sídlící v Mountain View? Znáš se osobně s jejími zaměstnanci?

Práce na Firebugu, což zahrnuje také vývoj rozšíření pro Firebug, především Fireunit a Firecookie, zabírá prakticky veškerou mou pracovní energii. Pracuji tady v Čechách, ale nejsem v tomto ohledu výjimkou, protože celý Firebug tým je distribuovaný po světě. Myslím, že tento styl práce vyžaduje především dobré (e)komunikační schopnosti. Je nutné efektivně využívat dostupné elektronické kanály, nejčastěji newsgroups, IRC, blog, email a také starý dobrý telefon. Dobré je, že infrastruktura pro distribuované týmy je v Mozille dobře propracovaná. Největší problém, který mě teď napadá, jsou snad jen rozdílná časová pásma.

Měl jsem řadu příležitostí účastnit se konferencí, které Mozilla pořádala, nebo se jich účastnila, a osobně jsem se seznámil s mnoha lidmi, kteří pro Mozillu přímo pracují. Nicméně i v době moderních komunikačních technologií jsou tyto události a možnost setkat se osobně s lidmi, s kterými jsem v každodenním e-kontaktu, velmi užitečné. Byl jsem docela nadšený, když jsme se jako Firebug tým na summitu ve Vancouveru konečně všichni sešli.

Jan Odvárko

Jak si se k téhle práci dostal? Dělal jsi přijímací pohovor? Jak probíhal?

Už v AllPeers jsme úzce spolupracovali s Mozillou. Naším produktem bylo rozšíření pro Firefox, takže taková spolupráce byla důležitá. Pokud stavíte produkt založený na open source, je přínosné být členem komunity a získávat kontakty na vývojáře, kteří znají odpovědi na otázky. Přijímací pohovor jsem dělat nemusel, moje zkušenosti byly dostatečným osvědčením.

Pracovat na platformě Mozilla vyžaduje znalost řady technologií, někdy specifických přímo pro Mozillu a ne vždy plně zdokumentovaných. Co bylo pro tebe největší překážkou?

Neuvědomuji si právě žádnou zásadní překážku, kterou bych musel řešit. Samozřejmě nedostatek dokumentace představuje vždy bariéru, ale v tomto směru je MDC (Mozilla Development Center) a také online podpora na IRC a newsgroups velkou oporou.

Proč myslíš, že se Firebug stal u vývojářů tak oblíbený?

Převážná většina příspěvků, které dostáváme od komunity kolem Firebugu, začíná nějak takto: „The best tool ever“, „I can’t imagine my life without it.“, „Must have…“, „Finally I understood JavaScript, HTML, CSS“. Tak najdou se také negativní příspěvky, ale přesto je opravdu radost pracovat na takovém projektu.

Právě ten poslední z jmenovaných příspěvků snad vyjadřuje právě to, co vývojáři na Firebugu opravdu oceňují. V jednoduchosti je síla a uživatelské rozhraní Firebugu je jednoduché a rychle při ruce. Nezabírá celou obrazovku a není nutné číst dokumentaci při prvním použití. Okamžitě je vidět, jak vypadá zdrojové HTML nebo odpovídající CSS pro daný element. Je jednoduché umístit breakpoint a vidět případné javascriptové chyby na stránce. Řadu dalších a doplňujících funkcí pak uživatel postupně objevuje tím, jakFirebug více a více používá. Takový přístup je myslím zároveň Alfa a Omega každého přívětivého uživatelského rozhraní a také základ úspěchu nástroje, jako je právě Firebug.

Firebug

Firebug se prakticky stal průmyslovým standardem a dnes všechny významné prohlížeče mají jeho vlastní obdobu. Jak s nimi chcete soupeřit? Chystáte větší změny nebo půjdete cestou drobných vylepšení?

Ve výčtu nových funkcí, které bychom rádi ve Firebugu měli, jsme limitováni tím, co umí samotný Firefox. Například nový Memory panel je velmi žádaný, ale bohužel ještě neexistují odpovídající API, které by nám umožnily informace o použití paměti pro danou stránkou nějak prezentovat uživateli. V každém případě ale chystáme řadu dalších nových funkcí. Například podporu pro JSON a další standardní formáty, podporu pro unit-testing, rozmanitější API pro Firebug rozšíření, debugování událostí, export dat například z Net panelu a JavaScript profileru, možnost uložení CSS a HTML změn provedených přímo na stránce. Rád bych také více prozkoumal možnosti těsnější integrace s některými existujícími IDE například NetBeans nebo Aptana.

Nedokážu odhadnout, zda jsou to větší či menší změny, ale jsem si jistý, že správná implementace a integrace všech připravovaných funkcí do uživatelského rozhraní bude dalším důvodem, proč vybrat právě Firebug.

Pokud by tenhle rozhovor četl člověk, který by se rád zapojil do vývoje Firebugu, čím by měl začít? A co všechno musí umět?

Záleží na konkrétní roli, kterou by takový člověk chtěl zaujmout. Pokud se jedná o vývojáře, který chce přispívat do Firebug code base, musí jednoznačně znát JavaScript, XUL a Mozilla API. Jako tým ale nepotřebujeme pouze patche. Polovinu času při opravě nějakého problému často zabere jeho reprodukce. Už jen mít spolehlivý test-case, který ukazuje chybu, je velmi přínosné. Právě taková pomoc je myslím lepším začátkem než snaha okamžitě vyvářet patch bez znalosti kódu a souvislostí.

Nejlepšími zdroji informací o Firebug API je pak Firebug Newsgroup, nově zprovozněný Firebug blog, a také můj blog, kde jsem v sérii článků popsal, jak Firebug pracuje interně a jak psát nová rozšíření.

Jan Odvárko při prezentaci

Jako součást Firebugu vznikla i zajímavá knihovna Domplate, kterou se chystáte uvolnit jako samostatný projekt. Co je Domplate a k čemu slouží?

Domplate je modul zodpovědný za generování prakticky celého uživatelského rozhraní Firebugu. Z mnoha projektů jsem nasbíral velké zkušenosti s návrhem a vývojem UI a přístup, který Domplate používá pro generování HTML, je opravdu dobře propracovaný. Elegantně navržený objektově orientovaný způsob umožňuje definici UI šablon a jejich opětovné znovuvyužití. Domplate je velmi flexibilní a jeho výhody jsou zřejmé především při generování složitějšího UI.

Důležité je, že Domplate může být také samostatně použitý pro generování dynamických HTML stránek na straně klienta. Celý modul je složený z jednoho javascriptového souboru, který v nekomprimované verzi zabírá necelých 30 kB. Myslím, že právě Firebug je zde tím příkladem, který ukazuje, že generované rozhraní může být opravdu dynamické. Domplate byl původně napsán pouze pro Firefox, dobrou zprávou je, že patch, který umožňuje použití Domplate ve všech hlavních prohlížečích, už je také na světě.

Nedávno jsi se podílel na (nakonec neúspěšném) startupu AllPeers. Co ti ta práce dala? V čem spočívá riziko neúspěchu takového projektu?

Přestože jsme s AllPeers nedosáhli takového úspěchu, jaký jsme si představovali, byla to velká zkušenost. Budovat start-up od samého počátku přináší celou řadu příležitostí pro pochopení procesů, které s vybudováním takové firmy souvisí. Je třeba udělat celou řadu rozhodnutí, která zejména na začátku, mohou mít velký dopad. Viděno z dnešního pohledu, je jasné, že jsme byli příliš konzervativní, co se týče výše získaných investic a zároveň ambiciózní v množství práce, která s naším produktem souvisela. S výší ambic pak pochopitelně roste i riziko neúspěchu. Nicméně jsem si docela jistý, že sestavit tým složený z odborníků v dané oblasti a také z lidí, kteří se umí společně soustředit na konkrétní úkol, se nám opravdu podařilo. Právě práce na budování týmu a zavedení interních procesů byla pro mě jedna z těch nejzajímavějších zkušeností.

Jak AllPeers, tak Firebug jsou open source. Je open source lepší něž jiné varianty nebo na tom vůbec nezáleží?

Nedá se jednoduše říci, co je lepší, záleží na konkrétním projektu. Open source přístup nelze prostě aplikovat automaticky s představou, že to přinese pouze výhody. Pro komerční společnost, která vidí svůj zdrojový kód jako jedno z hlavních know-how, není open source pravděpodobně ta správná cesta. Na druhou stranu některé projekty mohou zveřejněním zdrojového opravdu více získat využitím vývojářské komunity než ztratit na poli konkurenčních výhod. Firebug je v tomto směru typickým open source produktem. Také proto, že je určený pro vývojáře. Nutno dodat, že komunita kolem Firebugu je velmi kvalitní a moje práce je z velké části řízena práve touto komunitou.

Děkuji za rozhovor a přeji, ať se tobě i Firebugu daří.

Otázky za Zdroják kladl Martin Hassman, odpovídal Jan Odvárko. Fotografie poskytl Jan Odvárko.

Používáte Firebug?

Vystudoval jsem biochemii. Vymyslel jsem a založil Zdroják. Jsem vyhlášeným expertem na likvidaci komentářů. Nejsem váš hodný tatínek, který vás bude brát za ručičku, já jsem zlý moderátor diskusí. Smiřte se s tím!

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 17

Přehled komentářů

David Kolibáč Chybí čárka
echy RE: Jan Odvárko: na Firebugu je radost pracovat
LesTR Díky
eee RE: Jan Odvárko: na Firebugu je radost pracovat
Jan.Odvarko RE: Jan Odvárko: na Firebugu je radost pracovat
Yaroukh RE: Jan Odvárko: na Firebugu je radost pracovat
naked Re: RE: Jan Odvárko: na Firebugu je radost pracovat
Yaroukh Měl bych dotaz
Jan.Odvarko Re: Měl bych dotaz
Yaroukh Re: Měl bych dotaz
trapet Hledani ve Furebugu
Jan.Odvarko Re: Hledani ve Furebugu
karmi Jeden ultra-pozitivni ohlas navic :)
Anonymní AllPeers je open jen z 1/2
Keff Poděkování a otázka na editor
Jan.Odvarko Re: Poděkování a otázka na editor
Keff Re: Poděkování a otázka na editor
Zdroj: http://www.zdrojak.cz/?p=2889