Wielu uważa, że Firefox to coś więcej niż przeglądarka – to religia. Sama Mozilla nigdy nie rozwiała tego typu przekonań, przemycając w programie apokaliptycznie brzmiące wersy z Księgi Mozilli (dostępne po wpisaniu w pasku adresu about:mozilla). Zanim nowa przeglądarka zdobyła swoją dzisiejszą pozycję, musiała przejść długą drogę ku dojrzałości. Początki były trudne, a problemy z tożsamością – objawiane trzykrotną zmianą nazwy projektu – na pewno nie ułatwiły Firefoksowi startu. Teraz, gdy możemy się cieszyć oficjalnie udostępnioną, stabilną wersją trzeciej odsłony Firefoksa, warto przypomnieć, jak długą drogę przebyła nasza przeglądarka.
Projekt znany obecnie pod nazwą Firefox rozpoczął swoje życie jako eksperymentalne odgałęzienie pakietu Mozilla Suite (obecnie znanego jako SeaMonkey) – wolnej przeglądarki zbudowanej na bazie kodu Netscape Navigatora. Na początku narzędzie nazywało się po prostu m/b – od mozilla/browser. Jednak jego autorzy – David Hyatt i Blake Ross – po osiągnięciu przez kod pewnej zakładanej dojrzałości opublikowali go 23 września 2002 roku pod oficjalną nazwą Phoenix.
Phoenix 0.1 Pescadero (z hiszpańskiego – rybak) był mały i szybki, ładował się dwa razy szybciej niż Mozilla Suite i już wówczas miał interesujące funkcjonalności – możliwość przeglądania stron w oddzielnych kartach, menedżera pobierań, blokadę wyskakujących okienek i personalizowane paski narzędzi. W tamtych czasach było to znacznie więcej, niż można było znaleźć w dominującej na rynku przeglądarce z Redmond. Nie było jeszcze panelu bocznego, nie było paska wyszukiwania, menu konfiguracyjne było więcej niż ubogie – ale i tak projekt błyskawicznie zdobył sympatię zarówno użytkowników, jak i programistów.
Dwa tygodnie później pojawiła się kolejna wersja. Phoenix 0.2 Santa Cruz wprowadzał panel boczny, w którym można było przeglądać zakładki i historię, pasek wyszukiwania (pozwalający na wyszukiwanie w Google'u i dmoz.org) i opcje konfiguracyjne, dzięki którym można było wyłączać Javę, oraz – co chyba najważniejsze dla dalszych losów tej przeglądarki – wprowadzał obsługę rozszerzeń i skórek. Od tej pory każdy niezależny programista mógł wprowadzić do Firefoksa nowe funkcjonalności. Jak to się skończyło – wiemy dobrze, do dziś bowiem dla przeglądarki Mozilli stworzono tysiące rozszerzeń, a niektóre z nich to prawdziwe arcydzieła.
Kolejne wersje pojawiały się lawinowo. Phoenix 0.3 Lucia wprowadził nowy układ przycisków na pasku narzędzi, zmniejszono rozmiary ikon oraz dodano możliwość blokowania obrazków z wybranych witryn. W mechanizmie blokady wyskakujących okienek pojawiła się zaś „biała lista” – czyli metoda zezwalania wybranym witrynom na otwieranie treści poza głównym oknem przeglądarki.
Phoenix 0.4 Oceano udoskonalił mechanizm „białych list” – można już było dodawać wykluczone z blokowania witryny, podając ich adres. Wprowadzono też skróty klawiaturowe do przełączania się między stronami otwartymi w kartach i dodano możliwość wpisywania w pasku adresu samej nazwy domeny, bez prefiksów i sufiksów – Phoenix automatycznie dodawał „www.” i „.com”.
Phoenix 0.5 Naples nie wprowadzał natomiast żadnych widocznych zmian, udoskonalono jednak obsługę pamięci i usunięto usterki z menedżera pobierania oraz mechanizmu wyszukiwania fraz na stronie. Dodano też obsługę zapamiętywania stanu przeglądarki przed jej zamknięciem i obsługę pięcioprzyciskowych myszy.
I na tej wersji skończyło się życie Phoeniksa. Firma Phoenix Technologies, znana z tworzenia BIOS-ów do płyt głównych komputerów PC, złożyła w kwietniu 2003 roku pozew przeciwko Mozilli o naruszenie znaku towarowego; okazało się bowiem, że dostawca ten ma zarejestrowaną markę Phoenix FirstWare Connect, która odnosiła się do przeglądarki wbudowywanej w niektóre wersje BIOS-u. Mozilla w ramach ugody zdecydowała się zmienić nazwę swojego projektu na Mozilla Firebird.
Nowy wygląd i nowa nazwa – Firebird 0.6 Glendale – zaskoczył użytkowników przeglądarki Mozilli. Nie dość, że wprowadzono całkowicie nową skórkę dla programu, to wymieniono wszystkie ikony, zmieniono nazwy niektórych funkcji i przerobiono okno konfiguracyjne. Dzięki wykorzystaniu engine'u Gecko 1.5 Firebird 0.6 mógł także automatycznie skalować obrazki, tak by mieściły się one w otwartym oknie, i obsługiwał płynne przewijanie. Zwiększono też zabezpieczenie prywatności – użytkownik uzyskał możliwość usunięcia wszystkich swoich prywatnych danych z programu (ciasteczek, historii, danych z formularzy i pamięci podręcznej) za pomocą jednego kliknięcia.
Wydana rok po pierwszej wersji Phoeniksa edycja Firebird 0.7 Indio wprowadzała do okna Preferencji zakładkę Opcji zaawansowanych. Dodano także możliwość wyłączania i włączania takich opcji, jak płynne przewijanie stron i reskalowanie obrazków oraz zarządzanie prawami zapisywania ciasteczek dla poszczególnych witryn. Ale chyba najważniejszą zmianą było dodanie Menedżera Haseł.
Firebird nie był najszczęśliwszą nazwą – wkrótce okazało się, że nazwa ta jest już używana przez twórców otwartej relacyjnej bazy danych. Mozilla w panice zaczęła ogłaszać, że nazwą nowej przeglądarki nie jest „Firebird” lecz „Mozilla Firebird”. Nie przekonało to jednak społeczności bazy Firebird i w lutym 2004 roku przeglądarka otrzymała nazwę Firefox. Jedynym uzasadnieniem dla nowej nazwy było jej podobieństwo do Firebirda, ale spowodowało to lawinę ciętych komentarzy ze strony społeczności i zaowocowało nawet powstaniem rozszerzenia Firesomething, które losowo zmieniało nazwę przeglądarki przy każdym jej uruchomieniu. Dzięki temu mogliśmy się cieszyć Mozillą Firegiraffe, Fireturtle czy Firefish.
By w przyszłości uniknąć podobnych problemów z nazwą, Mozilla postanowiła zarejestrować nazwę „Firefox” oraz specjalnie stworzone nowe zestawy ikon (w tym sławetnego pomarańczowego lisa vel pandę małą na tle niebieskiego globu) jako znaki towarowe. Przyjęto także ścisły terminarz prac nad kolejnymi edycjami przeglądarki, ustalając wydanie wersji 1.0 na jesień 2004 roku.
Firefox 0.8 Royal Oak był pierwszym wydaniem skierowanym do „zwykłego użytkownika”. Przygotowano zatem w wersji dla Windows standardowy instalator, który umożliwiał łatwe i szybkie zainstalowanie przeglądarki w systemie. Wcześniej użytkownicy Windows musieli ręcznie rozpakowywać archiwum i uruchamiać plik binarny z wewnątrz katalogu, co przerastało możliwości wielu i przyczyniało się do postrzegania przeglądarki jako produktu dla wtajemniczonych. Dodano też możliwość przeglądania WWW w trybie offline (korzystając z zawartości pamięci podręcznej), ulepszono instalator rozszerzeń i skórek oraz menedżera pobierania. Cała przeglądarka bazowała na engine Gecko 1.6, a jako jedyną i domyślną wyszukiwarkę wybrano Google.
Rysunek 5b: Firefox 0.8 i jego zaawansowane opcje konfiguracyjne. Zaawansowane jak na tamte czasy oczywiście.
Firefox 0.9 One Tree Hill był wersją, w której jako najważniejszą innowację wprowadzono mechanizm importowania wszystkich ustawień Internet Explorera. W ten sposób twórcy Mozilli dali znać, że ich celem jest zastąpienie na Pulpitach komputerów ikonki „niebieskiego e” przez ikonkę pomarańczowego liska. Wprowadzono ładniejszą skórkę o nazwie Winstripe, udoskonalono menedżera rozszerzeń, znacznie zmniejszono rozmiar instalacji – a dla użytkowników Linuksa przygotowano instalatora graficznego, podobnego do znanego z Windows. Najważniejszą zmianą w środku była zmiana engine'u renderującego na Gecko w wersji 1.7.
Rysunek 6a: Firefox 0.9 – premiera skórki Winstripe. Z funkcją importu konfiguracji IE był to poważny pretendent do rządzenia na desktopie.
Po wydaniu kilku wersji łatających znalezione luki przyszedł czas na próbę generalną. Wydana we wrześniu 2004 roku wersja Firefox 0.10 PR Greenlane wprowadzała liczne udoskonalenia, które docelowo miały się znaleźć w finalnej edycji. Dodano możliwość odczytywania feedów RSS z paska zakładek, przeniesiono pasek narzędzi „Szukaj” na dół przeglądarki, dodając zarazem kolorowanie znalezionych na stronie fraz. Ułatwiono pracę z blokerem wyskakujących okienek, pozwalając użytkownikowi na wybranie, co z takimi obiektami zrobić. Zablokowano też domyślnie możliwość instalacji rozszerzeń z witryn innych niż oficjalna strona aktualizacji Mozilli i dodano obsługę innych niż Google wyszukiwarek.
Po dwóch wersjach Release Candidate przyszedł czas na Firefoksa 1.0. Premiera Phoeniksa – bo taką wynikającą z tęsknoty nazwę kodową otrzymała oficjalna edycja przeglądarki Mozilli – odbyła się 9 listopada 2004 roku. Wydano ją w 31 wersjach językowych, a jedyną nową funkcjonalnością była możliwość wybierania aplikacji, która otwierałaby zewnętrzne linki określonego typu. Poprawiono też kilkanaście błędów – ale najwidoczniej poprawek nie było dość, bo trzy miesiące później ukazała się wersja 1.0.1, a po niej w kilkutygodniowych odstępach 1.0.2, 1.0.3 aż do 1.0.8. Na tej edycji zakończył się cykl życia Firefoksa 1.
Wkrótce po wydaniu wersji 1.0 Firefoksa deweloperzy Mozilli rozpoczęli prace nad nową linią rozwojową przeglądarki, którą oznaczono nazwą kodową Deer Park. Pierwszy Firefox z tej linii – 1.1a1 – pojawił się 31 maja 2005 roku, a najważniejszą innowacją było wykorzystanie engine'u renderującego Gecko 1.8. Umożliwiło to wprowadzenie obsługi grafiki wektorowej w formacie SVG i elementu canvas nowej specyfikacji HTML. Wprowadzono też udoskonalenie obsługi JavaScriptu 1.5 i kaskadowych arkuszy stylów (CSS) w wersjach 2 i 3.
Wersja 1.1a2 służyła przetestowaniu nowych funkcjonalności interfejsu użytkownika – dodano możliwość przenoszenia kart za pomocą techniki przeciągnij i upuść, cache'owanie oglądanych stron, tak aby umożliwić szybki do nich powrót, udoskonalono blokadę wyskakujących okienek i wprowadzono zinternalizowane strony błędów przeglądarki, które zastąpiły dotychczasowe wyskakujące okienka.
Wydana we wrześniu 2005 roku wersja 1.4 wprowadziła zupełnie nowy system aktualizacji przeglądarki. Do tej pory, aby zainstalować nowego Firefoksa, należało pobrać paczkę instalatora, zapisać ją w systemie, odinstalować starą wersję i uruchomić instalator nowej. Dzięki systemowi binarnych aktualizacji w wersji 1.4 Firefox uzyskał możliwość automatycznego aktualizowania się, bez zbytecznych operacji użytkownika – wszystko, co było wymagane, to restart przeglądarki po pobraniu nowej wersji.
Następne edycje Firefoksa służyły przede wszystkim naprawianiu problemów z wyciekami pamięci i łataniu luk bezpieczeństwa. 29 listopada 2005 roku wydano wreszcie oficjalną edycję Firefoksa 1.5 Deer Park, która pochwalić się mogła ponad 40 zlokalizowanymi wersjami. Firefox stawał się znany na całym świecie. Znany także z dużej liczby luk – linia 1.5 zakończyła się dopiero na wersji 1.5.0.12 – dwanaście kolejnych wydań służyło wyłącznie łataniu dziur w bezpieczeństwie i próbom zatamowania wycieków pamięci.
Rysunek 9b: Jednak konfiguracja w FF 1.5 już z zupełnie innego świata – widać inspirację interfejsem Apple'a.
W miarę postępów wyzwania mogą stawać się tylko coraz trudniejsze. Popularność Firefoksa rosła – szczególnie wśród kompetentnych technicznie użytkowników – a wraz z nią rosła też liczba zarzutów stawianych produktowi Mozilli. Próbą wyjścia im naprzeciw było otwarcie prac nad kolejną linią rozwojową tej przeglądarki.
Firefox 2 Bon Echo doczekał się pierwszego wydania 22 marca 2006 roku. Wersje 2.0a1 i a2 wprowadzały domyślne otwieranie linków w nowych kartach, przycisk zamykania na każdej z kart, wbudowany mechanizm sprawdzania poprawności pisowni, odtwarzanie sesji po zawieszeniu się przeglądarki, sugerowanie fraz wyszukiwania dla Google'a i Yahoo! Search, nową wyszukiwarkę wtyczek i przerobiony system zarządzania rozszerzeniami. Dzięki wprowadzeniu engine'u Gecko 1.8.1 możliwa się stała obsługa obiektów tekstowych w SVG.
Wersja 2.0a3 wprowadziła – jako absolutne novum wśród przeglądarek – mechanizm antyphishingowy, edycja 2.0b1 – lepszą obsługę feedów RSS i JavaScriptu 1.7. W 2.0b2 mogliśmy już zobaczyć odświeżoną skórkę Winstripe i drobne przeróbki interfejsu użytkownika – głównie paska wyszukiwania i obsługi zakładek.
Po wydaniu trzech wersji Release Candidate 24 października 2006 roku pojawiła się oficjalna edycja Firefoksa 2 w ponad 40 językach. Była to najdłużej do tej pory opracowywana wersja przeglądarki Mozilli – przez prawie dwa lata doczekała się ona już 14 wersji poprawkowych, z których ostatnią wydano 16 kwietnia 2008 roku.
Oczywiście Firefox 2 był daleki od doskonałości. Był powolny, miał permanentne problemy z wyciekami pamięci, a jego engine JavaScriptu nie dawał sobie zbyt dobrze rady z nowymi stronami realizowanymi w technologii Ajax, zużywając momentami znaczną ilość mocy komputera na realizację najprostszych nawet operacji. Mimo to stał się w kilku krajach najpopularniejszą przeglądarką internetową, odbierając palmę pierwszeństwa Internet Explorerowi. Analitycy z Net Applications oceniali, że w połowie roku 2008 przeglądarka Mozilli może zdobyć 20% udziałów w światowym rynku.
Deweloperzy Mozilli zdawali sobie jednak sprawę z tego, że nie da rady dalej rozwijać obecnej bazy kodu – następna wersja Firefoksa musi być znacznie szybsza i lżejsza. To zaś oznaczało konieczność rozpoczęcia prac prawie od podstaw.
Pierwsza wersja Firefoksa 3 – Gran Paradiso 3.0a1 – wydana została 8 grudnia 2006 roku. Najważniejszą zmianą było wykorzystanie engine'u renderującego Gecko 1.9, który wykorzystywał bibliotekę grafiki wektorowej Cairo do renderowania nie tylko grafiki SVG, ale także całej zawartości strony oraz interfejsu użytkownika. Udoskonalono obsługę wątków, w wersjach dla Macintosha wprowadzono natywne widgety Cocoa, pojawiły się znaczne zmiany w regułach obsługi zdarzeń modelu DOM i kolejności ładowania obiektu HTML. Dodano też nowe elementy i filtry języka SVG, powoli zbliżając się do pełnej implementacji tego standardu grafiki.
W lutym 2007 roku pojawiła się kolejna wersja – Gran Paradiso 3.0a2. Jak na tak niewielką zmianę numeracji wprowadzała ona zaskakująco wiele nowości. Dodano obsługę API dla Web Applications 1.0, poprawne wyświetlanie własności inline-block i inline-table w CSS 2.1, zmieniono też sterowanie przepływem kodu, co umożliwiło nowej przeglądarce zdanie testu Acid2. Ulepszono też wyświetlanie grafiki w Cairo.
Wersje 3.0a3 i 3.0a4 pozwoliły również stronom internetowym na przechowywanie zasobów w pamięci podręcznej na dysku, wprowadziły obsługę animowanych obrazków PNG i rozszerzenia ciasteczek „HTTPOnly”, pozwalającego na zwiększenie prywatności użytkowników korzystających z serwisów internetowych przetrzymujących dane o logowaniu właśnie w ciasteczkach. Twórcy rozszerzeń uzyskali możliwość korzystania z biblioteki JavaScriptu – FUEL.
Gran Paradiso 3.0a5 wprowadziło kolejną wielką rewolucję. Teraz zakładki i historia zostały zintegrowane w ramach usługi Places, bazującej na miniaturowym engine'ie bazodanowym SQLite. Przepisano także na nowo menedżera haseł.
W Gran Paradiso 3.0a6 do SQLite przeniesiono także obsługę ciasteczek, co znacznie przyspieszyło pracę z nimi. Umożliwiono zachowywanie preferencji przeglądania dla konkretnych witryn, możliwe stało się również ustawianie różnych skal powiększania dla poszczególnych stron. Przerobiono też funkcję autoprzewijania, co dało znaczący wzrost wydajności.
3.0a7 wprowadziło kolejną funkcjonalność dostępną do tej pory jedynie w konkurencyjnej przeglądarce Opera – możliwość pełnostronicowego skalowania powiększenia strony, choć na razie bez możliwości kontrolowania tego z poziomu interfejsu użytkownika. Zwiększono także możliwości obsługi aplikacji internetowych, dodając kolejne API zgodne ze specyfikacją WHATWG – takie jak możliwość odczytywania plików z pól selekcyjnych bez konieczności ich umieszczania na serwerze, obsługę zdarzeń wycinania/wklejania/kopiowania oraz międzyserwisowy XMLHttpRequest.
Zmiany w Gran Paradiso 3.0a8 dotyczyły głównie interfejsu użytkownika. Wprowadzono zupełnie nowy mechanizm zaznaczania zakładek. Umożliwiono wybór zapamiętywania hasła w Menedżerze Haseł po ich wprowadzeniu, dzięki czemu użytkownik nie musiał się już obawiać konsekwencji błędnego podania hasła. Dodano panel aplikacji obsługujących typy plików w oknie Preferencji i obsługę czarnych list złośliwego oprogramowania. Wśród zmian znalazła się też podstawowa obsługa uchwytów protokołów sieciowych.
Po osiągnięciu kompletnej listy planowanych funkcjonalności deweloperzy Mozilli 19 listopada 2007 wydali pierwszą wersję beta Firefoksa 3. Następne bety pojawiały się co miesiąc, wprowadzając kolejne poprawki w interfejsie użytkownika, poprawnie działający Awesomebar – nowy pasek adresu, który umożliwiał dzięki engine'owi SQLite szybkie przeszukiwanie historii przeglądania, nowe wersje skórek dopasowane do docelowych systemów operacyjnych (dla Windows, Linuksa i Mac OS-u X) i udoskonalenia engine'u JavaScriptu.
Rysunek 11a: Firefox 3 w pierwszej stabilniejszej odsłonie (beta 1). Zmiany widoczne niemal we wszystkim.
Wtedy też deweloperzy Mozilli znaleźli motyw przewodni dla Firefoksa 3. Postanowili upamiętnić szlachetną rolę społeczności robotów w walce o otwarte standardy WWW. Potajemnie wprowadzono do Firefoksa przesłanie, dostępne po wpisaniu do paska adresu frazy „about:robots”. Tak, roboty widziały rzeczy, o których wam, ludziom, się nie śniło. Roboty to wasi plastikowi kumple, z którymi fajnie jest przebywać. I mają plan.
Dlatego zgodnie z planem 16 maja pojawiła się pierwsza wersja Release Candidate Firefoksa 3. 17 czerwca 2008 serwery Mozilli przeżyły prawdziwe oblężenie – ponad 8 milionów osób jednego dnia zdecydowało się pobrać finalną wersję tej przeglądarki. Resztę już znacie – być może nawet czytając ten tekst w najnowszym produkcie Mozilli.
Rysunek 12a. Firefox 3.0RC3 – tak, roboty są naszymi przyjaciółmi. Mozilla kocha wielkie kroczące monstra...
Jak bowiem przeczytać można w dziesiątym wydaniu Księgi Mozilli („about:mozilla”):
| „Mammon spał. A odrodzona Bestia potęgę swą na Ziemi budowała, a liczby jej wyznawców rosły w legiony. I przemówili poprzez Czas i plony w gorejącym ogniu poświęcone, a z przemyślnością lisią to uczynili. I tak oto nowy świat zbudowali, na obraz swój i podobieństwo, jako w świętych słowach przyrzeczone było, a o Bestii owej dzieciom swym powiadali. A gdy Mammon zbudził się, marnym jeno był naśladowcą”. |
Miłej pracy i zabawy z Firefoksem 3.