Firefox OS to projekt tak samo wyjątkowy, jak wprowadzona dawno temu na skostniały, korporacyjny rynek przeglądarka Firefox, która wszystko odmieniła. Dlaczego jest tak wyjątkowy, co za nim przemawia i dlaczego w ogóle powinieneś się nim zainteresować? To wszystko znajdziesz w poniższym tłumaczeniu oryginalnego artykułu, którego autorem jest Rob Hawkes.

Poniżej znajduje się tłumaczenie oryginalnego artykułu "There is something magical about Firefox OS" napisanego przez Roba Hawkesa - człowieka pracującego dla Mozilli przy projekcie Firefox OS, pasjonata tworzenia gier HTML5, prelegenta wielu konferencji.


Przez ostatnie półtora roku spędzałem coraz więcej czasu pracując nad najnowszym projektem Mozilli, Firefox OS. W tym czasie pokochałem ten projekt i to, co sobą reprezentuje, w sposób, którego nigdy wcześniej nie doświadczyłem.

Firefox OS


Chcę być dobrze zrozumiany: Firefox OS to początek czegoś ogromnego. To rewolucja, powiew świeżego powietrza, połączenie najnowszych technologii. To coś magicznego, co zmieni wszystko.

Czym jest Firefox OS?

Dla tych, którzy zastanawiają się o czym w ogóle piszę, przytoczę cytat z MDN:

Firefox OS to nowy, mobilny system operacyjny stworzony przez projekt Boot to Gecko (B2G) Mozilli. Korzysta z jądra Linuxa i bootuje się do silnika uruchomieniowego opartego o Gecko, który umożliwia użytkownikom uruchamianie aplikacji napisanych w całości przy użyciu HTML, JavaScript i innych API dedykowanych aplikacjom stworzonym w Otwartych Technologiach.

Mozilla Developer Network


W skrócie w Firefox OS chodzi o to, by wziąć technologie dotychczas używane do tworzenia stron internetowych, np. JavaScript, i użyć ich do stworzenia całego, mobilnego systemu operacyjnego. Zastanówcię się nad tym przez chwilę - cały system operacyjny napisany w JavaScripcie!

Aby tego dokonać stworzyliśmy lekko zmodyfikowaną wersję Gecko (silnika przeglądarki Firefox), która umożliwia korzystanie z różnych JavaScriptowych API niezbędnych do stworzenia doświadczenia korzystania z telefonu komórkowego. Chodzi tu na przykład o WebTelephony do wykonywania połączeń telefonicznych, WebSMS do wysyłania wiadomości czy Vibration API do, no wiecie, wibracji telefonu.


Firefox OS to znacznie więcej niż tylko najnowsze technologie używane w szalony sposób, mimo że brzmi to świetnie, ale także połączenie wielu innych projektów Mozilli w jedną wizję - Sieć jako platformę. Niektórymi z tych projektów są: inicjatywa Open Web Apps czy Persona, czyli nasze rozwiązanie umożliwiające rozpoznawanie tożsamości i logowanie do usług w Sieci (wcześniej znane jako BrowserID). To niesamowite obserwować tak wiele projektów Mozilli połączonych w jedną, spójną wizję.

Zatrzymam się na powyższym opisie, ponieważ celem tego artykułu nie jest dokładne tłumaczenie każdego detalu projektu, natomiast po więcej informacji zapraszam do strony o Firefox OS na MDN - polecam zapoznanie się z nimi.

Dlaczego Firefox OS?

Możecie sobie myśleć "to brzmi nieźle, ale po co używać JavaScriptu by zbudować system dla telefonu?". Macie rację, właściwie to jest bardzo ważne pytanie. Na szczęście jest mnóstwo powodów przemawiających za tym, że to bardzo dobry pomysł, poza oczywistym faktem uradowania web developerów.

Dwa najważniejsze powody to fakt, iż Firefox OS wypełnia lukę na rynku urządzeń mobilnych, oraz to, że dostarcza alternatywę dla aktualnych, restrykcyjnych ekosystemów.

Wypełniając lukę na rynku urządzeń mobilnych

Nie jest niespodzianką fakt, że smartfony bywają bardzo drogie, nawet w krajach postrzeganych za wysoko rozwinięte. Jeśli myślałeś, że dużo kosztują w krajach, w których ludzi na nie stać ze średniej pensji, to spróbuj wyobrazić sobie sytuację, w której iPhone 4S 16 GB kosztuje 615 funtów (około 3.100 złotych) w Brazylii, a więc o 100 funtów (500 złotych) drożej niż cena tego samego telefonu w Wielkiej Brytanii!

Te zawyżone ceny w Brazylii spowodowane są głównie wysokim podatkiem importowym. Apple pracuje nad tym, by go obniżyć budując fabryki w tym kraju. To pokazuje, że posiadanie drogiego, najnowszego urządzenia nie wszędzie na świecie jest w ogóle możliwe. Pomijając fakt, że w niektórych rejonach lepiej nie pokazywać się publicznie z telefonem wartym tyle samo, co mały samochód.

Co więc robisz, jeśli chcesz mieć smartfona i jednocześnie nie chcesz wydawać na niego małej fortuny? Możesz zdecydować się na tanie urządzenia z Androidem, ale one mają tendencję do działania dosyć słabo.

Na szczęście w tym momencie wkracza Firefox OS...

Celem Firefox OS nie jest współzawodnictwo z urządzeniami najwyższej klasy, ale zaoferowanie funkcjonalności średniej klasy smartfona na urządzeniach kosztujących niewielkie pieniądze.

Bonnie Cha


Firefox OS wypełnia tę lukę idealnie. Oferuje funkcje smartfona na tanich, słabych technicznie urządzeniach, które dzięki temu można porównać do średniej klasy smartfonów z systemem Android. I to nie jest żart.

Ja na przykład testuję gry JavaScript na telefonie z zainstalowanym systemem Firefox OS, który kosztował 50 funtów (około 250 złotych), a więc na bardzo słabym urządzeniu. Można by się spodziewać, że gry będą działać bardzo wolno, ale nie dość, że działają o wiele szybciej niż na przeglądarce pod systemem Android (Firefox lub Chrome) tego samego urządzenia, to działają równie szybko, jeśli nie szybciej w porównaniu do tej samej gry uruchomionej w domyślnej przeglądarce systemu Android na o wiele lepszym urządzeniu, które kosztuje 4 lub 5 razy więcej.

Dlaczego da się zauważyć tak znaczne różnice w wydajności w stosunku do Androida na tym samym urządzeniu? To przez brak dodatkowych warstw pośredniczących między silnikiem Gecko i samym sprzętem urządzenia, dzięki czemu JavaScript może działać bez ograniczeń. Mit o wolnym JavaScripcie właśnie został obalony!

Ta wysoka wydajność JavaScriptu na tak tanim urządzeniu jest jednym z powodów dlaczego jestem przekonany, że Firefox OS jest początkiem czegoś dużego.

Powinienem wyjaśnić, że Mozilla nie musi wypuszczać telefonu ze swoim systemem w cenie dokładnie 50 funtów (250 złotych) - to tylko urządzenie, którego używamy do developmentu i testów.

Dostarczając alternatywną, otwartą platformę

Drugą odpowiedzią na pytanie "Dlaczego Firefox OS?" jest fakt, iż jest to próba nie tylko dostarczenia alternatywnej, mobilnej platformy, ale także wywarcia wpływu na wielkich graczy rynku mobilnego i zmuszenia ich do zmian.

Misją Mozilli od samego początku, czyli roku 1998, najpierw jako projektu oprogramowania, później jako fundacji i firmy, było dostarczenie otwartych technologii, które konkurują z dominującymi produktami korporacyjnymi.

Steve Lohr


Mozilla stara się powtórzyć swój sukces przeglądarki Firefox, która przebojem wdarła się na rynek przeglądarek i pokazała użytkownikom, że istnieje alternatywa, która pozwala im mieć kontrolę nad korzystaniem z Internetu.

Tym razem Sieć mobilna jest zagrożona, nie przez Microsoft ale przez Apple i Google, wiodące platformy dla smartfonów. Poprzez ich natywne aplikacje, dedykowane im sklepy, zamknięte platformy i niejasne zasady dla developerów, Apple i Google umniejszają ważność technologii Internetowych.

Thomas Claburn


W mobilnym ekosystemie jednym z głównych obszarów, które należy usprawnić, jest przenośność aplikacji:

Pomimo wielkiego sukcesu mobilnych aplikacji wydają się one krokiem wstecz pod pewnym względem: wiążą użytkowników do konkretnego systemu operacyjnego i urządzeń, które go wspierają. Sieć natomiast ewoluuje - dzięki niej treść może być doświadczana na dowolnie wybranym urządzeniu.

Mozilla, twórca przeglądarki Firefox, jest zdeterminowana uczynić to samo dla smartfonów.

Don Clark


Firefox OS próbuje użyć natywnej wszechstronności Sieci, by dostarczyć platformę umożliwiającą korzystanie z aplikacji na urządzeniu mobilnym, komputerze stacjonarnym, tablecie czy każdym innym urządzeniu, które ma dostęp do przeglądarki internetowej. Czy chciałbyś mieć możliwość kontynuowania gry w Angry Birds na komputerze od momentu, w którym zakończyłeś rozgrywkę na urządzeniu mobilnym? Ja na pewno bym chciał!

Modyfikowalne marzenie developerów

Ostatecznym powodem dlaczego Firefox OS jest potrzebny to fakt, iż nie mamy w tym momencie tak naprawdę porównywalnej, modyfikowalnej mobilnej platformy (można oczywiście w pewnym stopniu modyfikować Androida, ale nie jest to takie proste).

Ponieważ Firefox OS jest zbudowany za pomocą HTMLa, JavaScripta i CSSa oznacza to, że potrzebujesz jedynie podstawowych umiejętności front-endowych, by móc samemu całkowicie zmodyfikować system. Możesz na przykład, zmieniając jedną linijkę CSS, całkowicie zmienić wygląd ikon na ekranie początkowym, albo zupełnie przepisać JavaScriptowe metody odpowiedzialne za wykonywanie połączeń telefonicznych.

Jest to prawdziwa platforma dedykowana developerom, jestem podekscytowany i już nie mogę się doczekać, by zobaczyć, co z nią zrobią wychodząc poza wizję Mozilli.

Idealne wyczucie czasu

Coś, czego byłem całkowicie świadomy podczas mojej półtorarocznej pracy w Mozilli to fakt, iż jestem niesamowitym szczęściarzem będąc w projekcie Firefox OS od samego początku. Jeśli dobrze pamiętam, to został on ogłoszony wewnętrznie (jako Boot to Gecko) podczas kilku moich pierwszych tygodni w pracy.

To wszystko było wtedy bardzo ekscytujące, ale z czasem stały się jeszcze ciekawsze. Firefox OS jest moim numerem 1, zdecydowanie najważniejszym projektem, nad którym teraz pracuję i po prostu zakochałem się w nim, czuję się bardzo uprzywilejowany mogąc być jego częścią.

Zastanawiałem się wiele razy czy takie uczucie towarzyszyło ludziom pracującym w Mozilli podczas pierwszego opublikowania przeglądarki Firefox: podniecenie, pasja, nerwowość oraz niemożność wyjaśnienia jak niesamowity jest to projekt i dlaczego ludzie powinni się nim zainteresować.

Wydaje mi się, że niewiele osób zrozumie na czym polega fenomen Firefox OS i dlaczego ma on tak duże znaczenie dopóki nie będzie już dawno po wystartowaniu samego projektu. Pewnie tak samo, jak w przypadku przeglądarki Firefox.

Na razie jestem szczęśliwy będąc w Mozilli w bardzo ciekawym momencie jej życia.

Mózg rozsadzony

Ludzie rozumiejący w tej chwili o co chodzi, to głównie developerzy, którzy mieli bezpośredni kontakt z urządzeniami przyniesionymi na różne spotkania przez pracowników Mozilli. Jest niewiele rzeczy, które dają mi więcej radości od patrzenia na ich różne emocje podczas zabawy z urządzeniem...

  1. Zaczyna się od zmieszania - coś w stylu "Dlaczego dałeś mi zwykły telefon z Androidem?"
  2. Zakłopotanie szybko zamienia się w zrozumienie, że to nie Android, tylko system zbudowany w oparciu o JavaScript
  3. Po chwili pojawia się ekscytacja w formie okrzyków "O kurde!"
  4. Po dłuższej chwili skupieni są na przeglądaniu każdego zakamarka urządzenia i zadawaniu mnóstwa pytań
  5. Ostatni etap to delikatna niechęć oddania telefonu kiedy o niego proszę i ostateczne "To nie byo takie złe, jestem pod wrażeniem!", kiedy go oddają


Może Wam się wydawać, że wymyśliłem to wszystko tylko po to, by historia brzmiała bardzo ładnie, ale ja naprawdę widzę takie reakcje u bardzo wielu osób, którym pokazuję urządzenie. Te sytuacje są bardzo zabawne.

Dochodzę do wniosku, że im częściej widzę innych bawiących się urządzeniem z systemem Firefox OS, tym bardziej jestem przekonany, że jest to coś bardzo ważnego, co zmieni rynek na zawsze. To po prostu rozsadza ludziom mózgi, bez potrzeby tłumaczenia im czegokolwiek.

Wiele wyzwań

To byłoby nieuczciwe pisać o wszystkim co wspaniałe w Firefox OS bez wspominania o wielu wyzwaniach, które musimy podjąć.

Z jednej strony są sprawy dosyć ogólne, na przykład jak zarządzać ekosystemem, który jest otwarty i nierestrykcyjny, lub narażony na fragmentację podobną do tej z urządzeniami posiadającymi Androida. Te problemy są ważne, ale dla mnie osobiście nie są interesujące.

Jestem natomiast zainteresowany wyzwaniami, jakie mamy z grami HTML5 na urządzeniach mobilnych - postrzegane i realne problemy z wydajnością, na które developerzy często narzekają. To nie jest oczywiście problem jedynie Firefox OS (Android i iOS mają te same problemy), ale teraz jestem skupiony głównie na Firefox OS i tym jak można to usprawnić.

Niestety większość istniejących gier HTML5 działa na urządzeniach mobilnych bardzo słabo (0-20 FPS), lub względnie znośnie (20-30 FPS). Przez większość czasu te gry nie wyświetlają stabilnej liczby klatek na sekundę (FPS - frames per second), przez co gra nie jest zbyt przyjemna.

Jak się okazuje większość problemów nie zawsze musi dotyczyć samego urządzenia lub JavaScriptu. Istnieje kilka świetnych gier, na przykład Biolab Disaster, które działają zadziwiająco dobrze nawet na urządzeniu za 250 złotych, na którym je testuję - uzyskują stabilne 40-60 FPS.

Pomimo faktu, iż często winę ponosi urządzenie lub system operacyjny (ale nie tak często, jak niektórzy by chcieli), to jednak wiele możemy nauczyć się od gier, które działają bardzo dobrze na tanich urządzeniach podglądając ich techniki rozwiązywania problemów i ucząc innych odpowiedniego tworzenia gier HTML5 na urządzenia mobilne.

Wierzę w to, że rozbudowane gry HTML5 mogą działać bardzo dobrze na urządzeniach mobilnych, nawet tych najtańszych. Dlaczego jestem tego taki pewien? Ponieważ ludzie tworzą takie gry już dzisiaj. Są dwie rzeczy, którym ufam najbardziej na świecie... to moje oczy.

Dojdziemy do tego.

Poza telefonem mobilnym

To, co ekscytuje mnie najbardziej w Firefox OS nie ma nic wspólnego z urządzeniami mobilnymi, które wprowadzimy w przyszłym roku - chodzi natomiast o to, co przyniesie przyszłość. Wspominałem już o tym mówiąc, że Firefox OS jest marzeniem developera, ponieważ każdy może z niego skorzystać i rozwinąć go ponad wizję Mozilli.


Dobra wiadomość jest taka, że to dzieje się już teraz. Mamy już działający port Firefox OS na urządzenie Raspberry Pi a także na Pandaboard. Nie są idealne, ale co jest w stym niesamowitego (starałem się bardzo unikać tego słowa) to fakt, że wszystko to miało miejsce zanim Firefox OS w ogóle osiągnął pierwszą oficjalną wersję publiczną.

Jest także możliwość uruchomienia Firefox OS na komputerze z systemem Mac, Windows czy Linux. Co prawda nie będzie go można używać tak samo jak na urządzeniu mobilnym, ale mimo wszystko oferuje możliwość przetestowania wielu funkcji systemu (na przykład uruchamianie aplikacji w oddzielnych procesach) i jest bardzo prosty do skonfigurowania.

Wyobrażam sobie dzień z niedalekiej przyszłości, kiedy wsparcie Gamepad API pojawi się w Gecko i będzie można z niego korzystać za pomocą klienta Firefox OS na komputerze. Czemu jest to takie fajne? Nie jest trudno wyobrazić sobie sytuację, w której klient uruchomiony na urządzeniu podłączonym do telewizora służy jako sterownik dzięki obsłudze Gamepad API zamiast myszy i dotyku (pamiętaj, że to wszystko JavaScript).

Jest to początek konsoli gier HTML5 i coś, nad czym będę chciał popracować w czasie wolnym poza Mozillą.

Chodzi mi o to, że dochodzimy do pewnego punktu, w którym urządzenia są sterowane za pomocą tych samych technologii, których używamy do tworzenia stron internetowych. Co moglibyśmy zrobić ze światem pełnym urządzeń napędzanych tymi technologiami, gdzie wszystkie te urządzenia mogą komunikować się ze sobą za pomocą tych samych API?

Nie mogę się doczekać, by zobaczyć jak ten świat będzie wyglądać!

Jeśli masz jakieś uwagi bądź sugestie do powyższego tłumaczenia, to pisz śmiało w komentarzach. Będę wdzięczny także za dzielenie się tym linkiem w obrębie polskiej społeczności za każdym razem, gdy ktoś zapyta się o Firefox OS.