Ludzie Front-Endu: Piotr Zalewa

Piotr Zalewa – autor jsFiddle, narzędzia do testowania kodu JS/HTML/CSS, które zdobyło ostatnio bardzo dużą popularność. Oprócz jsFiddle, Piotr pracuje dla Mozilli, jako Lead Developer buildera dodatków do Firefoksa – builder.addons.mozilla.org. Poza tym, Zalun jest współorganizatorem London Ajax Meetup, a także aktywnie uczestniczy w społeczności MooTools. Wygląda to ciekawie? Jak najbardziej!

ferr: Fajnie jest być wyróżnionym na Ajaxianie?

Zalun: Oczywiście, choć było z tym trochę stresu – serwis był w wersji „proof of concept” i bardzo obciążał serwer. Dwa lub trzy razy zabrakło nam pamięci. Do tego akurat byłem w Stanach…

Mowa oczywiście o jsFiddle, skąd pomysł?

Jak wiele innych – zrodził się z potrzeby. Na kanale #mootools bawiliśmy się kto szybciej odpowie na pytanie zadane przez wpadające początkujące osoby. Z racji medium odpowiedź musiała się zmieścić w jednej linijce. W końcu ktoś zapytał o coś wymagającego użycia HTML… Następnego dnia miałem działający prototyp, spodobał się.

Spodziewałeś się aż takiej popularności? Dziś jsFiddle jest prawie wszędzie, choćby ostatnio widziałem go na blogu Paula Irisha

Wiedziałem, że narzędzie jest użyteczne. W pewnym momencie dołączył Oskar Krawczyk (@oskar), zaprojektował grafikę i serwis zaczął wyglądać dużo bardziej profesjonalnie. Stał się oficjalnym narzędziem MooTools. To było coś, co dało mi do myślenia. Postanowiłem rozszerzyć funkcjonalność i dodać inne frameworki. Bawiłem się dodawaniem różnych możliwości (testowanie Ajax było czymś, co uświadomiło mi siłę tego projektu) i jednocześnie pracowałem nad rozpropagowaniem go wśród społeczności. Kilka razy prezentowałem możliwości na London Ajax Meetup.

Znaliście się z Oskarem osobiście, czy raczej wspólnym mianownikiem było tutaj „MooTools”? Z tego co wiem, Oskar mieszkał jakiś czas na Wyspach…

Kiedy Oskar zgłosił się z chęcią zaprojektowania grafiki nawet nie wiedziałem, że jest Polakiem :) Znaliśmy się odrobinę z listy dyskusyjnej MooTools, ale nie osobiście. Później pracowaliśmy jeszcze wspólnie nad kilkoma komercyjnymi projektami.

Jesteś kolejnym „Londyńczykiem”, z którym mam przyjemność rozmawiać. Naprawdę tak tam dobrze dla developerów? ;-)

Zależy kto, czego szuka. Można się utrzymać od pierwszej pracy, nie trzeba mieć „papierów”, biurokracja jest pomijalna. Z drugiej strony – duża konkurencja, wysokie koszty utrzymania, blokada socjalna. Patrząc na to z mojej perspektywy – dobry wybór. Dużo się nauczyłem.

London Web Standards, wspomniany przez Ciebie London Ajax Meetup – na pewno jest gdzie spędzić czas. Bywasz często na tego typu spotkaniach?

Jestem współorganizatorem London Ajax Meetup, razem z Dylanem (Dojo) – jestem zawsze kiedy jestem w Londynie. Chodziłem jeszcze na spotkania Flag & Bell IT Networking, ale kolidowały z cotygodniowymi spotkaniami grupy Jetpack w Mozilli, więc musiałem zrezygnować. Dobrze jest uczestniczyć w tego typu imprezach, zwłaszcza gdy pracuje się zdalnie z domowego biura. Można się dowiedzieć, co się dzieje – IRC i Twitter to nie wszystko. Wolę jednak poświęcić czas dzieciom, to najważniejsze spotkania.

Jeszcze się czasem zdarzy pójść na spotkania Django i okazjonalnie na jakąś konferencję.

Witam wśród telecommuterów, wstajesz jeszcze rano?

Różnie to bywa – biura są w Dolinie Krzemowej – 8 godzin różnicy robi swoje. Jak muszę pogadać, albo wypuszczamy nową wersję (jak dziś) to siedzę do późna. Staram się kłaść przed 2am. Ze wstawaniem jest czasem kłopot.

No właśnie, możemy pochwalić się kolejnym Polakiem w Mozilli. Dla niektórych pracować tam to marzenie. Ciężko się dostać?

Szczerze mówiąc to się nie starałem. Pasowałem jak ulał do roli, którą mi powierzono. Trudno było się jedynie zdecydować, jako że miałem wtedy ciepłą posadkę :) Mozilla oferowała zajęcie na 3 miesiące, ale jakoś się przemogłem i nie żałuję.

Linkedin podpowiada mi, że 3 miesiące przedłużyły już do roku…

…i nie zapowiada się by to się szybko skończyło. Do Mozilli trafia się często przez polecenie, ale cały czas zatrudniają – warto się zgłosić.

Najsłynniejsze polskie postacie w Moz to m.in. Zbyszek Braniecki czy Staś Małolepszy, współpracujecie jakoś, czy jednak Wasze obowiązki zupełnie się nie przenikają?

Znam Zbyszka (jako gandalfa) i pracujemy razem nad wprowadzeniem lokalizacji do nowych „wtyczek” w Firefoksie.

Jesteś związany ze społecznością MooTools, pracujesz dla Mozilli, jednak usłyszałem o Tobie dopiero przy okazji jsFiddle. Czym zajmowałeś się nieco wcześniej?

Wcześniej pracowałem na chleb :) Tak serio to bawiłem się różnymi otwartymi pomysłami, ale każdy wymagałby dużych inwestycji, więc były odkładane na półkę, potem okazało się, że zrobił je ktoś inny. Wszystko pracowało na doświadczenie, które wykorzystuję w jsFiddle.

Ale nie można powiedzieć, że od zawsze byłeś front-endowcem lub JavaScriptowcem? W portfolio widzę m.in. wiele projektów PHPowych…

Grałem wszystkie skrzypce – zacząłem przed WWW jako grafik do reklam w magazynach, projektowałem też UI do interaktywnych CD i wtedy zobaczyłem, że programowanie ma sens w grafice. Kiedy w uniwersyteckiej bibliotece pojawiły się 3 komputery z interfacem graficznym (jakieś Win 3.11 chyba) okupowałem jeden z nich zawalając zajęcia. Uczyłem się HTMLa ze źródeł, na szczęście nie było wtedy FrontPage’a czy innego narzędzia WYSIWYG. Później Perl, PHP (Smarty, własny framework, potem Symfony), ActionScript, JavaScript (Prototype, MooTools) i w końcu Django. Tak to chyba wyglądało. Teraz jestem bardziej back- niż front-endowcem, ale czekam na moment, kiedy prace nad jsFiddle (beta) wejdą w fazę front-endu, bo mam wielką ochotę na wypróbowanie najnowszej wersji MooTools.

Bawię się też trochę NodeJS, na razie zabawa – czasu brak.

NodeJS… Uważasz, że ma szanse na podobną popularność co PHP? Entuzjazm dla tego projektu jest duży, wsparcie serwerowe o wiele mniejsze. W dodatku dochodzi aspekt samego, jako takiego skomplikowania JavaScriptu…

Popularność nie jest aż tak istotna jak się wydaje. Ktoś w końcu napisze jakieś silniki do blogowania, forum i stanie się popularne. Firmy hostingowe zawsze reagują z opóźnieniem, widać to choćby po Django. W MooTools dzięki wysokiej krzywej uczenia nie mamy problemów z użytkownikami nie znającymi podstaw JavaScript. To samo będzie z NodeJS. Jednak coś trzeba wiedzieć o programowaniu, żeby stosować callback w sposób umożliwiający stworzenie sensownego systemu.

Mi się coś wydaje, że ja nawet preferuję rozwiązania niszowe.

Czyżbyś nawiązywał do słynnych developerów JS, pardon, jQuery?

Jeśli chodzi o „developerów” to tak. Wystarczy wejść na kanał #jquery albo na StackOverflow i porównać poziom pytań, stare dobre RTFM samo się ciśnie na usta.

Ostatnio furorę robiło pytanie, jak dodać dwie liczby w JavaScript…

I tu nie ma nic śmiesznego – to naprawdę przeszkadza w rozwoju. Proszę spojrzeć na książki z jQuery i MooTools – MooTools pewnie z 5 pozycji, z czego 3 naprawdę wartościowe, jQuery – lepiej nie mówić.

Śmiejemy się z JavaScriptowców z bożej łaski, ale zadam prowokacyjne pytanie – nie sądzisz, że w dobie rozwijających się przeglądarek, standardów sieciowych, HTML5 i ficzerów CSS3 frameworki JS znacznie się odchudzą i często staną się zupełnie niepotrzebne?

Raczej pójdą w stronę MooTools (syntax z Object Oriented) albo zbiorów efektów jak Scriptaculous. Będzie też więcej takich rzeczy jak Coffeescript, czy Prototype – gdzie tworzy się nowy język „kompilowany” do JavaScript. jsFiddle już się na to przygotowuje.

Myślisz, że czegoś brakuje w CSS3 Animations i Transitions?

Szczerze powiem, że nie patrzyłem, ale zawsze znajdzie się coś co można połączyć, zamieszać i stworzyć nowy efekt. Frameworki, czy pluginy mają dużo mniejszy czas implementacji, a przecież każdy chce to coś świecącego już i teraz. Inna rzecz to biblioteki tworzące gotowe UI jak np. Dijit.

Śledzisz w ogóle nowości jeśli chodzi o nowe JSowe API w HTML5?

To zależy od definicji „śledzisz” :) Czytałem co jest nowego i jakie daje możliwości. Trochę nowych rzeczy wprowadzimy w jsFiddle, trochę w Addons Builder. Słuchałem też kilku wystąpień Brendana Eicha. Jakoś ostatnio bardziej mnie ciągnie JS na serwerze.

Co do Eicha i JSa, podoba Ci się ECMA5?

Tak – programowanie będzie bardziej bezpieczne dzięki zmianom w samym języku, no i implementacje powinny być stabilniejsze.

Powiem szczerze, że mi wszystkie Object.* z Object.create na czele nie przypadły do gustu. Są dla mnie ekhm nieJSowe, nienatualne.

Chyba kwestia gustu, zawsze coś nowego. W MooTools od 1.3 używamy Object.forEach i jakoś leci – czystsze. Dość łatwo też napisać funkcje, które wprowadzą odwrotną notację.

Mozilla zapowiada w ogóle rewolucje, jeśli chodzi o sposób budowania addonów. Rozumiem, że koniec z natywnymi dodatkami, pora na HTML5, CSS3 i JS?

W skrócie „tak”, ale jest tego więcej. HTML/CSS/JS już był możliwy w Chrome i (jak mi się zdaje) w Operze. W Firefoksie ma się dostęp do całego chrome z poziomu addona napisanego w JS. Naprawdę proste. To nad czym ja pracuję to takie jsFiddle dla addonów. Otwierasz stronę piszesz prosty kod, klikasz Test i addon działa. Tego jeszcze nie było.

Niezłe, wyjdzie z Firefoksem czwórką?
Już jest (alpha) – Addons Builder wystarczy użyć ostatniej bety Firefoksa. Wersja beta Buildera wyjdzie na koniec marca.

Wiele razy wspomniałeś o MooTools… Dlaczego akurat „ta” biblioteka?

Dobrą odpowiedzią będzie jak się na nią natknąłem. W nowej pracy miałem określone zadanie – napisać dość skomplikowany system intranetowy z elementami social networking. Django, które już znałem odpowiadało za back-end. Poprosiłem o tydzień na przeanalizowanie wszystkich ważniejszych frameworków. Polecam każdemu. 40 godzin czytania i analizowania, rozmów na IRCu itd. Spodobało mi się, że kod jest przejrzysty, dokumentacja z sensem, nacisk głównego projektanta na „piękno w kodzie” (późniejsza dyskusja na temat nazwy jednej z funkcji zajęła tydzień). Oczywiście notacja ObjectOriented i ładne dziedziczenie.

Zdarza Ci się jeszcze pisać bez frameworków?

Ostatnio – przyznam, że współczynnik kodowanie/czytanie spada dramatycznie. Ale Daniel Buchner zaimplementował wczoraj porządnie MooTools w addonach, więc już niedługo.

W jakim kierunku idzie web? Współpracujesz z Mozillą, jsFiddle też daje jakąś perspektywę by mieć zdanie o tym, co się dzieje. Wiek XXI wiekiem JSa i HTML5?

Wiek to trochę duża perspektywa, jeśli chodzi o rzecz, która ma lat kilkanaście :) Na pewno w najbliższej przyszłości JS, dzięki rozwojowi w stronę serwera będzie brylował, HTML5 jest płynnym standardem, więc jego rozwój również nie jest zagrożony. To czego się obawiam to silnego skomercjalizowania sieci. Dlatego tak się cieszę, że mogę walczyć po jasnej stronie Mocy.

Głównym motto Mozilli jest oddać sieć użytkownikom – zwłaszcza zawartość, którą sami wprowadzili.

Nie pytam przypadkowo, mały cytat z porneLa: „W tej chwili kształtuje się platforma, która będzie napędzała dużą część światowej kultury i komunikacji przez co najmniej najbliższe kilka dekad (HTML ma już prawie 20 lat i ma się świetnie), a być może i stuleci (Håkon Lie obstawia 500 lat).”

:)

Fakt, odważna teza…

Dla mnie technologia nie jest aż tak ważna – ważne jest by sieć była wolna (w sensie freedom). Wydaje się, że HTML/JS współpracuje świetnie i nie widać żadnego zagrożenia. Myślałem, że mobilny internet zmieni tą sytuację, ale raczej wydaje się, że aplikacje pójdą bardziej w stronę HTML/JS niż odwrotnie.

Właśnie, wierzysz w Fenneca 1?

Na pewno znajdzie rzeszę zwolenników. Jego szanse upatruję głównie w addonach i synchronizacji. Zapowiadano synchronizację na poziomie otwierania strony w tym samym miejscu, w którym była na komputerze. Czyli zmiana urządzenia bez przerwy w czytaniu – piękne. Coś a’la Kindle z jego aplikacjami.

A działa jsFiddle na mobile’ach?

Testowanie tak – i to całkiem wygodnie – wystarczy wejść na komórce na http://jsFiddle.net/draft/ i wyświetli się to, co ostatnio było uruchamiane na komputerze. Bardzo przyjemne. Edycja działa na iPadzie – nie mamy na razie wersji pod komórki.

W wersji beta rozważamy dwie możliwości – aplikacja albo wersja mobile (albo obie naraz :)

Dzielisz się w ogóle statystykami dot. odwiedzin/użytkowników?

Jak na wersję alpha to jest dobrze. 10 tysięcy osób dziennie. Nie uwzględniam tutaj wyświetleń fiddli załączanych na innych stronach (blogi, dokumentacja MooTools, bugi jQuery). Prawie 10 tysięcy zarejestrowanych użytkowników. Co bardziej interesujące – ponad 120 tysięcy fiddli w 640 tysiącach wersji.

Może być jeszcze lepiej?

Na pewno.

Zapytałem o wiek pod panowaniem HTML5 i JS… Więc czyżby rok 2011 był z kolei m.in. rokiem jsFiddle?

Wersja beta rozwijana jest pod kątem społecznościowym, wybrane osoby będą zarządzać frameworkami, profil użytkownika pozwoli na konfigurację wszystkich ważniejszych aspektów tworzenia fiddli. Rozwijamy API, mam nadzieję na współpracę z portalami jak Forrst i StackOverflow. Pełna współpraca z Github itd. Pojawiły się już addony na Google Chrome, z racji ubogiego API ograniczone, ale już użyteczne. Chcemy też coś zrobić w kierunku łatwiejszego testowania. Całość piszemy od początku…. Odpowiadając więc na pytanie: zdecydowanie!


  1. Żeby było śmieszniej, w czasie wywiadu pojawiło się następujące info: Firefox Mobile won the award today for „Best OpenSource Application for (Linux) Mobile Devices” – and they mentioned in the laudatio for our Award our efforts in Mobile on Android and Maemo and progress and that there are great chances for the future for Firefox Mobile on devices like Android etc..

Komentarze

1

Niesamowity tydzień na ferrante.pl, mam nadzieję, że utrzymasz tempo co najmniej przez resztę roku :).

2

Na pewno nie braknie Ludzi Front-Endu, oby podobnie było z wpisami technicznymi ;-) Dzięki!

3

I z tego co wiem to jest to pierwszy Polski wywiad z Piotrem! O dziwo, JsFiddle jest dużo bardziej popularne za oceanem niż w Europie.

4

+1 do odpowiedzi @Szafranek

Przyznam, że nie miałem pojęcia, iż za jsFiddle stoją Polacy. Fajnie :)

5

Po pierwsze – Damia, masz chyba za dużo czasu :P Jak Ty się organizujesz, że masz taki przerób? Trzymaj tak dalej! :)

Po drugie – podoba mi się pomysł wywiadów. Miło się dowiedzieć o Polakach, którzy tyle osiągnęli, w szczególności że do niedawna wydawało mi się, że jest susza. Tylko ta zazdrość ;>

6

To ja taki lekki offtop ale powiązany z wywiadem. Może jakiś wpis na temat narzędzi typu coffeescript? Ich zalet, wad, przyszłości? Czy warto czy nie?

salmon
7

[…] w menu. Za jej powstaniem stoi Polak, Piotr Zalewa, na co dzień pracujący w Mozilli (przy okazji: ciekawy wywiad z nim).Tworzenie fidli to jedno, ale ich wykorzystanie to druga strona medalu – dzięki […]

8

[…] tej branży nie widać. Powstała więc seria o Ludziach Front-endu z PorneLem, Marcoosem, Kacprem, Piotrem Zalewą oraz AKAI i kilka tekstów zachęcających do wzięcia się za front-end na […]

Dodaj komentarz

Dozwolone tagi: <blockquote>, <code>, <strong>