Przełom - Mozilla zaczyna na nowo z Firefoksem 57

Opublikowane:

01.05.2018

Co nowego w Firefoksie 57 Quantum i dlaczego wprowadzone zmiany są tak istotne?

Firefox 57 Quantum to prawdopodobnie najważniejszy produkt w całej 15-letniej historii przeglądarek od Mozilli. Firefox 57 (FF57) to jak dotąd największa aktualizacja Firefoksa. Stawka jest wysoka – akceptacja FF57 lub jej brak ze strony użytkowników może zaważyć na przyszłości Mozilli.

Obserwatorzy rynku oceniają, że udziały Firefoksa na rynku wynoszą między 8% a 12%. Dla porównania, udziały Google Chrome to blisko 60%. Firefox ma jednak przewagę wśród użytkowników Linuksa. Jedni preferują go ze względów ideologicznych, innych zaś przyciąga szeroki wachlarz dodatków. Jednak w ciągu ostatnich lat Chrome zaczął nadrabiać straty nawet wśród użytkowników Linuksa.

Punkt wyjścia

Jednym z błędów popełnionych przez Mozillę było wprowadzenie Firefox OS-a. Firma wydała fortunę na feralny system operacyjny, a praca nad nim zajmowała cenne zasoby deweloperów, tym samym spowalniając prace nad flagową przeglądarką Mozilli. Integracja internetowego serwisu czytelniczego Pocket z Hello, usługą typu WebRTC, przysporzyła dodatkowych kłopotów. Mozilla podpadła też niektórym klientom, wyświetlając reklamy w nowo otwartych oknach i zbierając za dużo danych o użytkownikach.

Jednak najważniejszym powodem spadku popularności Firefoksa była jego 15-letnia podstruktura techniczna, w ramach której cała przeglądarka traktowana była jako jeden proces. Z kolei Chrome, który korzysta z nowoczesnej architektury, zyskiwał dobrą opinię, bo oferował lepsze osiągi.

Od dawna deweloperzy przeglądarki od Mozilli zdawali sobie sprawę, że muszą podjąć jakieś działania w tym kierunku, jeżeli chcą, by ich produkt był atrakcyjny dla nowego pokolenia użytkowników.

W ciągu ostatnich kilku lat Firefox stopniowo przechodził gruntowne modyfikacje. Programiści powoli szlifowali rozwiązania będące przez lata w fazie testów, między innymi Servo, silnik przeglądarki pisany w języku Rust [1].

Przeszła ona też dwa poważne zabiegi. Pierwszy z nich to nowy design i bezprecedensowa restrukturyzacja interfejsu znana pod nazwą Australis [2]. Pierwotnie Australis planowany był dla Firefoksa 24, jednak pojawił się on dopiero w kwietniu 2014 roku w Firefoksie 28. Zmiana interfejsu dzieli użytkowników po dziś, ale dzięki niej udało się osiągnąć cel, czyli dostarczyć bardziej użyteczny i bogaty w funkcje interfejs.

Prace nad silnikiem Servo rozpoczęły się w 2012 roku. Twórcy wykorzystali możliwości uwspółbieżnienia dostępne w Rust, które pod względem syntaktycznym są podobne do tych w C, aby umożliwić obsługę wieloprocesowej architektury z wieloma wątkami na kilku rdzeniach i przeglądanie przy użyciu procesora graficznego.

Dzięki Servo, Firefox odszedł od modelu jednoprocesowego, który uniemożliwiał przeglądarce konkurowanie z innymi nowoczesnymi przeglądarkami w kategoriach prędkości i stabilności. Rust jest szybszy niż C++, a dodatkowo dzięki zapobieganiu występowania błędów w dostępie do pamięci i przepełniania buforu sprawia, że aplikacje są bezpieczniejsze. Jednocześnie jest zaprojektowany tak, by wyeliminować najczęstsze przyczyny występowania błędów i uniknąć tzw. sytuacji wyścigu (race conditions).

Servo nie został jeszcze oficjalnie całkowicie zaimplementowany, jednak Mozilla używała niektórych jego elementów już przy poprzednim silniku – Gecko. Pierwszym składnikiem do zastąpienia C++ w Firefoksie 48 (FF48) był analizator składni metadanych MP4. Zastępując go, programiści podnieśli poziom bezpieczeństwa Rusta w obszarze, który jest stale narażony na ataki.

Quantum łączy wszystko

Już ponad rok temu Mozilla wypuściła na rynek Quantum, czyli projekt podparty technologią silnika Servo. Głównymi założeniami Quantum jest zapewnić bazę dla przetwarzania współbieżnego, który zwiększy wydajność, oraz wyeliminować sytuacje „zamarzania” otwartej karty lub źle wczytanej strony, które mogą powodować paraliż całej przeglądarki.

Podzbiorem Quantum jest Electrolysis, który istnieje od 2009 roku (E10S) [4]. Prace nad nim były przerywane kilka razy i w końcu w 2014 roku znowu nabrały tempa. Bardzo niewielka liczba użytkowników mogła testować nową architekturę FF48, co więcej, nie mogli korzystać z dodatków. Na początku przeglądarka stała na dwóch filarach – interfejs i treść. E10S został kolejno rozdystrybuowany wśród innych użytkowników w późniejszych wersjach. Celem było umieszczenie kart w piaskownicy i izolacja rozszerzeń w osobnych procesach. Programiści FF57 wzmocnili piaskownice jeszcze bardziej, żeby zapobiec narażeniu systemu na niebezpieczeństwo w przypadku jego zagrożenia. Nie jest zatem już możliwe posiadanie przez piaskownice dostępu do katalogów domowych.

Wtyczki i inne zmiany

Mozilla pracowała nad uczynieniem Fierfoxowych dodatków bardziej kompatybilnymi z innymi przeglądarkami, co znacznie uprościłoby rozwój wtyczek. Nazwa tego projektu to WebExtensions API [5]. Wielu programistów skarżyło się, że Mozilla oferuje głównie interfejsy API wysokiego poziomu, a wiele dodatków wymaga niskich API. WebExtensions API, który stał się standardem w FF57 i kolejnych wersjach, zmusza twórców wtyczek do przerzucenia się na nowy system. Najbardziej popularne z używanych rozszerzeń są już dostępne w formacie WebExtensions, ale zmiana spowodowała, że niektórzy programiści odeszli od rozwijania firefoksowych wtyczek. Inni próbowali przepisać swoje aplikacje, ale polegli z powodu niekompletnych bądź brakujących elementów interfejsu.

Niektórzy użytkownicy obawiają się utraty możliwości korzystania ze swoich ulubionych wtyczek, a ich obsługa jest wyjątkowo ważna dla Mozilli, gdyż bogata oferta wtyczek jest jednym z głównych powodów używania Firefoksa przez wiele osób.

Jeżeli chodzi o FF57, to popularne wtyczki, takie jak DownThemAll, Beyond Australis, OmniSidebar, Puzzle Bars, Classic Toolbar Buttons czy Forecast Plus, na dziś są niedostępne. Inne, takie jak Tab Mix Plus (Rysunek 1), są w fazie przechodzenia na nowy format.

Jednakże w dłuższej perspektywie przejście na nowy model architektury wtyczek wydaje się być istotnym krokiem. Poprzednio używane technologie, takie jak XML User Interface Language (XUL), były przestarzałe i niezgodne z innymi standardami rozszerzeń, co często powodowało awarie przeglądarki.

Przy projekcie Photon UI [6] deweloperzy zmodyfikowali interfejs użytkownika, menu i ustawienia. Poza innymi ulepszeniami, Photon UI z założenia ma pracować lepiej z monitorami wysokiej rozdzielczości. Dodatkowo wykrywa on czy używamy myszki, czy ekranu dotykowego, i odpowiednio dopasowuje rozmiar menu. W tym przypadku programiści również spotkali się z odrzuceniem.

Nowy silnik CSS napisany w języku Rust działa na kilku równoległych rdzeniach, zarówno na komputerach, jak i urządzeniach mobilnych. W ciągu ostatnich miesięcy programiści usunęli prawie 500 błędów, które wpływały na pracę przeglądarki.

f1-b02

Rysunek 1: Wtyczka Tab Mix Plus jest obecnie przepisywana na WebExtension.

Kolejne innowacje

Activity Stream wprowadza innowację, z której do tej pory użytkownicy mogli korzystać jedynie w eksperymentalnej wersji testowej [7]. W 2017 roku Mozilla przejęła Read It Later, czyli twórców Pocket. Sam Pocket jest teraz lepiej zintegrowany z Mozillą poprzez Activity Stream. Teraz, gdy otworzymy nową kartę zobaczymy, oprócz polecanych przez Pocket pozycji do przeczytania, zarówno nasze wyszukiwania, jak i często odwiedzane strony (Rysunek 2).

W nowej karcie z logo Firefoksa przeglądarka wyświetla samouczek pokazujący najważniejsze z nowych funkcji interfejsu. Nowością jest też menu Biblioteka, którego ikoną jest stos książek. Znajduje się ono po prawej stronie paska adresowego. Znajdziemy w nim zakładki, historię, zsynchronizowane karty, ściągnięte pozycje i narzędzie do robienia zrzutów ekranu (Rysunek 4).

W FF57 Mozilla połączyła pasek adresowy z polem wyszukiwania rzeczy w sieci – coś, co od dawna było dostępne w Chromie i innych przeglądarkach. Menu główne jest teraz prostsze w obsłudze – posiada małe ikonki znajdujące się w dobrze zorganizowanej liście (Rysunek 5).

f2-b03

Rysunek 2: Dzięki Activity Stream Firefox skupia sugestie Pocket w nowej karcie.

f3-b04

Rysunek 3: W samouczku Mozilla przedstawia nowe funkcje Firefox Quantum.

f4-b05

Rysunek 4: Menu Biblioteka posiada często używane funkcje, takie jak historia, ściągnięte pozycje i zakładki.

Przydatne ulepszenia

Poza wieloma ulepszeniami i lepiej umiejscowionym narzędziem zrzutów ekranu (Rysunek 6), do którego dostęp można teraz uzyskać, klikając trzy kropeczki po prawej stronie paska adresowego, Firefox Quantum oferuje jeszcze dwie przydatne funkcje. Pierwsza to narzędzie Udostępnij kartę, które pozwala udostępniać otwarte karty na inne urządzenia. Nowe menu kontekstowe kart dzięki funkcji Udostępnij kartę na urządzenie pozwala na otwieranie kart na wielu urządzeniach (Rysunek 7). W wersji na Androida nowa funkcja znajduje się na samej górze menu poniżej ikony Udostępnij.

FF57 potrafi też automatycznie wypełniać formularze adresowe. Na razie ta funkcja będzie działać tylko w USA, ale stopniowo będzie pojawiać się też w innych krajach.

W ostatniej chwili deweloperzy Firefoksa udostępnili też funkcję chroniącą przed śledzeniem, która z założenia była przygotowywana dla Firefoksa 58. Można ustawić, czy funkcja ma działać w trakcie surfowania po sieci tylko w trybie prywatnym, czy również w normalnym. Można też wybrać pomiędzy dwiema listami śledzenia. Należy jednak pamiętać, że ścisłe blokowanie śledzenia może wpłynąć na działanie niektórych stron internetowych.

Podsumowanie i perspektywy na przyszłość

Eksperci różnią się co do opinii na temat tego, czy Mozilla będzie w stanie zahamować zniżkową tendencję wskaźnika udziału w rynku. Andreas Gal, były dyrektor techniczny Mozilli, który odszedł z firmy dwa lata temu, uważa, że los Firefoksa jest przesądzony [8]. Przewiduje też morderczy wyścig przeglądarek, z którego zwycięsko wyjdą jedynie Chrome i Safari. Jednak Gal i inni krytycy zapominają, iż Mozilla Foundation nie musi wypracowywać zysku. Szef marketingu Mozilli, Jascha Kaykas-Wolff, mówi, że Firefox musi być czymś więcej niż tylko niszowym produktem, ale nie musi być tak popularny jak Google, Facebook czy Amazon. Głównym celem Mozilli jest ochrona wolności w Internecie i wprowadzanie innowacji, a nie maksymalizacja liczby pobrań.

Mozilla zrobiła wiele, aby Internet pozostał tak otwarty jak obecnie, a już teraz planuje interakcje z siecią wszystkich sieci w przyszłości. Ciągle rozwijane są nowe technologie, takie jak sztuczna inteligencja, rozszerzona wirtualna rzeczywistość i Common Voice [9], projekt open source mający na celu ulepszenie funkcji rozpoznawania mowy. Interfejs głosowy zupełnie zmieniłby to, jak wyglądałyby przeglądarki przyszłości.

f5-b06

Rysunek 5: Znacznie łatwiej jest się teraz poruszać po menu głównym. Duże ikony zastąpiono małymi i tekstem.

f6-eng

Rysunek 6: Firefox 57 pozwala wykonywać zrzuty ekranu bezpośrednio w przeglądarce i zapisywać je w chmurze. Niemniej jednak Opera jest w tej kwestii zdecydowanie na prowadzeniu.

f7-b08

Rysunek 7: Nowa funkcja pozwala na udostępnianie kart na inne urządzenia połączone z kontem Firefox.

Wnioski

FF57 sprawia, że Mozilla wraca do gry. Biorąc pod uwagę wszystko, co zostało powiedziane, zespół programistów wywrócił trzy czwarte (odpowiednik około 7 milionów linijek) kodu na lewą stronę i można to zauważyć w każdym aspekcie oprogramowania. W kwestii technologii Mozilla chwali się, że nowa przeglądarka jest 2 razy szybsza od Firefoksa 52, ale zużywa 30% mniej pamięci. Niestety, przeglądarka Mozilli dopiero co dogoniła swoich konkurentów od Mountain View i Redmond. FF57 wyrównuje szanse i dołącza do grona przeglądarek z architekturą nowego typu, jednak jedynie czas pokaże, czy wprowadzone zmiany wystarczą , aby ściągnąć z powrotem starych użytkowników i przyciągnąć nowych. 

Info

[1] Rust: https://github.com/rust-lang/rust/

[2] Australis: https://blog.mozilla.org/ux/2013/11/australis-is-landing-in-firefox-nightly/

[3] Quantum: https://medium.com/mozilla-tech/a-quantum-leap-for-the-web-a3b7174b3c12

[4] E10S: https://asadotzler.com/2016/06/06/firefox-48-beta-release-and-e10s/

[5] WebExtensions: https://developer.mozilla.org/en-US/Add-ons/WebExtensions

[6] Photon UI: https://www.askvg.com/review-new-photon-user-interface-ui-of-mozilla-firefox/

[7] Wersja testowa: https://testpilot.firefox.com/

[8] „Chrome zwyciężył”: https://andreasgal.com/2017/05/25/chrome-won/

[9] Common Voice: https://blog.mozilla.org/internetcitizen/2017/06/19/commonvoice/

Autor: Ferdinand Thommes

Aktualnie przeglądasz

Maj 2018 - Nr 171
may-2018a

Top 5 czytanych

Znajdź nas na Facebook'u

Opinie naszych czytelników

Nasze wyróżnienia i partnerzy:partnerzy linux magazine
wiper-pixel