Internet bez Flasha?
Flash Player to najpopularniejsza wtyczka do przeglądarek WWW. Prawie każdy komputer jest w nią wyposażony. A jednak ostatnio, głównie za sprawą Applea, coraz donośniejsze są głosy krytyki tego programu. Czy to możliwe, by potęga Flasha mogła runąć a wraz z nią internet, jakim go dziś znamy?
Tyle dziur ma Flash Player
Według statystyk organizacji Secunia wykryto jak dotąd we Flash Playerze 9.x aż 49 poważnych luk bezpieczeństwa, a w nowszej wersji programu, 10.x, „tylko” 25. Łatane są w miarę szybko, ale jedna z dziur istniała np. rok (patrz strona www.pcformat.pl/u/23). Produkt Adobe stwarza więc zagrożenie dla użytkowników, zwłaszcza tych rzadko aktualizujących zainstalowane oprogramowanie. Drugi sztandarowy produkt Adobe, czytnik PDF-ów Reader 9, ma tych dziur jeszcze więcej, bo 73.
Punktem zapalnym toczącej się w internecie dyskusji na temat przyszłości Flasha jest niedostępność tej wtyczki na kultowe urządzenia Apple’a: iPhone, iPod oraz iPad. Choć użytkowników ten brak irytuje, Apple pozostaje nieugięte. Co więcej, szef Apple’a, Steve Jobs, opublikował otwarty list, wyjaśniający, czemu jego firma nie lubi Flasha.
List skrytykowała nie tylko, co oczywiste, firma Adobe (www.pcformat.pl/u/20), ale też np. Free Software Foundation (www.pcformat.pl/u/21). Jobsowi zarzucono, że ukrywa prawdziwe powody odrzucenia Flasha. Obie strony mają swoje racje.
Jobs kontra Flash
Koronny argument to wydajność Flasha. Odtwarzanie wideo jakości SD czy nawet bardziej złożonego baneru mocno obciąża wydajne, wielordzeniowe procesory pecetów. Na urządzeniach mobilnych, których jednordzeniowe CPU są taktowane poniżej 1 GHz, a RAM-u jest tak mało, że np. iPhone nie dopuszcza uruchomienia wielu programów naraz, jest to poważny problem. Sam Flash mógłby zająć wszystkie dostępne zasoby. Poza tym Flash Player nie potrafi korzystać z akceleracji 2D oferowanej przez układy graficzne takich urządzeń, co oznacza wysokie obciążenie pozostałych podzespołów smartfonów, a w efekcie szybsze zużycie baterii.
W „poważnych” makach są zastrzeżenia głównie do jakości kodu Flasha. Jobs utrzymuje, że większość zawieszeń MacOS-a powoduje właśnie Flash Player (www.pcformat.pl/u/22).
Są też innego gatunku argumenty. Używanie wieloplatformowych narzędzi do tworzenia aplikacji nie jest optymalne, bo nie wykorzystują one w pełni potencjału każdej z platform, na jaką są tworzone. W przypadku iPodów oraz iPadów może to być np. multitouch, czego Flash nie potrafi obsłużyć. Apple chce, by developerzy użyli technologii obsługiwanych przez ten minikomputer natywnie.
"Flash został opracowany w erze PC – dla PC obsłu giwanych myszą (…). Ale dziś mamy erę niskowydajnych urządzeń mobilnych, dotyko wych ekranów i otwartych standardów sieciowych – a w tym wszystkim Flash zawodzi"
Steve Jobs podsumowanie listu otwartego szefa Apple’a, opublikowanego 26 kwietnia br. na stronie www.apple.com/hotnews/thoughts-on-flash.
Jak uruchomić Flasha w iPhonie
Uruchomienie technologii Flash w przeglądarce internetowej iPhone’a i iPoda Touch wymaga odblokowania urządzenia przez wgranie nieoficjalnego oprogramowania (operacja ta to tzw. jailbrake). Wówczas możliwe jest zainstalowanie dodatkowych pluginów do przeglądarki Safari – można je pobrać, np. z bazy aplikacji Cydia. Złamanie zabezpieczeń urządzenia oznacza utratę gwarancji oraz wsparcia technicznego. Korzystanie z Flasha jest też możliwe bez wykonywania jailbrake’a, dzięki aplikacji Cloud Browse (dostępna tylko w amerykańskim AppStore). Program łączy się ze zdalnym serwerem, na którym działa przeglądarka internetowa z pełnym dostępem do wszystkich usług, także Flasha. Bezpłatna wersja programu ma pewne ograniczenia, m.in. obniżoną płynność filmów. Pełna wersja kosztuje 10 USD miesięcznie.
Co irytuje internautów
Flash Player jest wyjątkowo zasobożerny. Nic dziwnego – powstał jako narzędzie do wzbogacania zawartości stron WWW o interaktywne elementy, a do strumieniowania filmów przystosowano go pod presją rynku. Do odtworzenia czegokolwiek ładuje własny interpreter instrukcji języka ActionScript, w jakim kodowane są pliki. Choćby dlatego użycie CPU i pamięci są tak wysokie.
Nowa wersja Flasha, 10.1, mająca m.in. optymalizować te niedociągnięcia, po prawie roku osiągnęła fazę RC (release candidate). Wersja 64-bitowa (alpha) istnieje jedynie do Linuksa. W Windows, jeśli ktoś zdecyduje się używać 64-bitowych edycji Internet Explorera czy Firefoksa, musi się obyć bez Flasha. A przecież użycie 64-bitowego przetwarzania danych mogłoby przyspieszyć wtyczkę. Także pod względem bezpieczeństwa użytkowania Flash Player się nie wyróżnia.
Flash a standardy
Flash nie jest jedyną niedoskonałą technologią na rynku. O co więc ten krzyk? O to, że sieć jest uzależniona od jednego quasi-standardu.
Globalna sieć bazuje od podstaw na otwartych rozwiązaniach: językach HTML i jego wariantach, CSS czy JavaScript, oraz protokołach transmisji, jak HTTP. Flash to zamknięta technologia, w pełni zależna od jednej firmy. Próby stworzenia open source’owego odtwarzacza Flash idą dość kiepsko i skazane są na porażkę, co pokazuje projekt Gnash, który nawet z filmami z YouTube radzi sobie średnio.
Jest też absurdem, że do korzystania z powszechnej dziś technologii strumieniowania wideo internauta musi wyposażyć swoją przeglądarkę w jakąkolwiek wtyczkę. Takie zadania powinien realizować bezpośrednio program. Rozwiązanie problemu musi bazować na otwartym i akceptowanym standardzie.
HTML5 – nowa nadzieja
Przygotowywana nowa odsłona języka opisu stron WWW – HTML5 – zastąpi obecną XHTML 1.0. Przewiduje ona nowe „tagi”, czyli elementy tworzące witrynę. Dwa z nich mogą pomóc pozbyć się Flasha.
Pierwszy to <canvas> – definiujące obszar strony wirtualne „płótno”, na którym można umieszczać elementy graficzne. Tag jest wyposażony w zbiór funkcji do operowania na elementach. Rysować można tekst i elementy 2D, dodawać im cienie, obracać je czy poruszać, także wedle ustalonych ścieżek.
Drugi tag <video> służy do osadzania filmów. Wymaga od przeglądarki natywnego wsparcia strumieni wideo, bez użycia wtyczek. Autor umieszcza w tagu adres klipu i jego parametry, a przeglądarka ma zadbać o jego odtworzenie. Można wykorzystać własne lub systemowe implementacje kodeków. W odróżnieniu od Flasha twórca witryny musi sam oprogramować kontrol- ki (start, pauza itd.). HTML5 nie jest doskonałym rozwiązaniem. Trudne będzie choćby nakłonienie autorów banerów napisanych we Flashu do przepisania kodu. Tak długo, jak istniejące biblioteki wspomagające pisanie kodu w JavaScripcie nie wzbogacą się o obsługę tagu <canvas> (i jego nowe funkcje), niewiele nowych projektów będzie miało miniprogramy pod Canvas API. Argument Jobsa, jakoby bogaty zbiór aplikacji w AppStore dowodził, że bez Flasha da się żyć, nie ma tu racji bytu – tam Flasha od początku nie było, więc twórcy od razu używali innych narzędzi.
Wojna na kodeki
Problemem jest też ustalenie, jakim kodekiem mają być kompresowane materiały wideo. Wybór początkowo padł na OGG Theora. Ten otwarty format nadaje się także do kompresji materiałów HD, bo zapewnia dobrą jakość przy zachowaniu niskiej objętości wideo. Niestety, nie da się na tym zarabiać.
Rozważany jest też kodek H.264 – format licencjonowany przez MPEG-LA, którego członkami są m.in. Microsoft i Apple. Do końca 2016 r. dostawca treści może go użyć bez wnoszenia opłat, o ile wideo oferuje odbiorcom za darmo . To jednak może się zmienić w przyszłości. Nic więc dziwnego, że Jobs lobbuje za HTML-em 5 i kodekiem H.264, a Microsoft zapowiedział, że IE9 będzie wspierał tylko H.264 dla tagu <video>.
Z drugiej strony, H.264 jest problemem dla twórców przeglądarek. Muszą oni uiścić opłatę licencyjną (na tzw. klienta, czyli upraszczając – odtwarzacz). To odetnie niszowe przeglądarki, jak Konqueror czy Arora, od tej możliwości. Firefox zaś, jako produkt open source, nie może mieć w podstawowej wersji zamkniętych rozwiązań. W tych produktach obsługiwane będzie więc tylko <video> w formacie Theora.
Co zastąpi Flasha
Reasumując, Jobs chciałby zaś zastąpić Flasha przez H.264, bo to potencjalny zarobek. Ale ta detronizacja nastąpi nieprędko. Latem ma się ukazać Flash Player 10.1 także do Androida, zaś na iUrządzeniach można próbować „nieoficjalnie” odtwarzać takie animacje (patrz ramka obok). Pozostanie też otwarty format Theora.
Niezależnie od wojny kodeków, przeglądarki będą zmierzać w kierunku „odwtyczkowania” i powrotu do otwartych standardów. Największe szanse ma nowa wersja HTML5, która oferuje tagi pozwalające na umieszczanie na stronie WWW nowych elementów.
Teraz wiele zależy od producentów przeglądarek. Jeśli Opera czy Firefox szybko zaimplementują pełną obsługę HTML5, da to impuls do przesiadki serwisów WWW na ten standard. A w przypadku wideo wiele do powiedzenia ma Google. Standardem stanie się to, co zostanie wykorzystane do kodowania filmów w YouTube.
Wsparcie dla HTML5 – języka opisu stron WWW
HTML5 jest adaptowany powoli. Nowe wersje popularnych przeglądarek wspierają sporo z definiowanych przez standard elementów. Obsługę najważniejszych pod kątem uwolnienia sieci od Flasha elementów przedstawia tabelka. Problemem jest jednak nikłe użycie HTML-a 5 przez twórców witryn. Nieliczne z wielkich portali oferują materiały przy użyciu tagu <video>. Taką transmisję w formacie H.264 testuje np. YouTube (wejdź na stronę youtube.com/html5 i aktywuj tryb HTML5). Dailymotion (openvideo.dailymotion.com) transmituje wideo w H.264 i Theorze. Niestety, w obu przypadkach filmy mają rozmiar do 480x320 pikseli.