Google walczy z fragmentacją Androida, a w tym celu przejmuje firmę z branży... graficznej
Android to system niezwykle pofragmentowany i posiadacze mnóstwa urządzeń nadal dostępnych w sprzedaży nawet nie mają co liczyć na aktualizację do Androida L. Mleko się rozlało, a sposób dystrybucji mobilnego systemu operacyjnego do smartfonów i tabletów doprowadził do strasznego rozdrobnienia. Każda firma przepisuje kod systemu we własnym zakresie, a producenci używają najróżniejszych, a niekiedy wręcz egzotycznych podzespołów.
Zwykle temat fragmentacji poruszam na łamach Spider’s Web raz w miesiącu, kiedy to Google publikuje informacje dotyczące popularności poszczególnych dystrybucji zielonego robota wśród użytkowników. Lipcowe tabele i wykresy pojawiły się już wiele dni temu, ale do omówienia po raz kolejny zagadnienia rozdrobnienia mobilnej platformy Android skłoniło mnie samo Google kolejnym przejęciem.
Google już i tak sporo robi
W Mountain View starają się nie tyle co wyeliminować problem fragmentacji, co zmniejszyć jego znaczenie i negatywny impakt na ekosystem swoich usług zbudowany dookoła zielonego robota. Praktycznie wszystkie aplikacje systemowe trafiły już do Google Play, a ich aktualizacja odbywa się bez konieczności uaktualniania całego oprogramowania telefonu.
Najważniejsze usługi Google zostały zresztą oderwane od systemu i aktualizowane są w ramach Google Play Services. Pozwoliło to upiec Google’owi dwie pieczenie na jednym ogniu: po pierwsze, nieco naokoło naprawiają problem fragmentacji, a po drugie wycinają z Androida kolejne usługi, z których nie mogą korzystać twórcy “forków”, czyli odłamów bazujących na AOSP.
Adopcja Androida 4.4 KitKat przez rynek jest mizerna
Producenci i operatorzy nie kwapią się z przygotowaniem, testowaniem i dystrybucją aktualizacji. Te muszą najpierw powstać na bazie modyfikacji poprzedniej wersji oprogramowania i nowego Androida od Google, gdzie gigant z Mountain View musi każdorazowo update zatwierdzić; producent hardware’u musi też udostępnić przecież sterowniki.
Dla producentów liczba podmiotów biorących udział w procesie aktulizacji każdego modelu to ogromny problem. Liczba kroków jakie trzeba wykonać przy każdej łatce powoduje, że staje się to po prostu nieopłacalne. Z tego powodu aktualizacje do nowego Androida dostają zwykle tylko flagowce lub te najpopularniejsze modele. Generuje to koszty, ale dobrze działa na wizerunek producenta.
Oczywiście lwiej części użytkowników smartfonów, które nie doczekały się aktualizacji, nie jest ona potrzebna do szczęścia. Nowe funkcje rozprowadzane są niezależnie od wersji systemu przez aktualizacje aplikacji Google Play i bezpośrednio przez nowe wersje Google Play Services. Nie dajmy się jednak zwieść: fragmentacja to nadal problem w szerszej perspektywie.
I to nie tylko dla Google, ale też dla deweloperów, producentów, użytkowników
Fragmentacja Androida jest niejako pokłosiem tego, że producenci sprzętu pakują Androida na niemal dowolny hardware - podobnie jak miało to miejsce z Windowsem dekadę lub dwie temu. W obu przypadkach Apple miało i ma pełną kontrolę nad mariażem hardware’u z softwarem, a wcześniej Microsoft, a teraz Google, kontroluje tylko system operacyjny.
Sprawia to, że twórcy systemu muszą brać pod uwagę, projektując system, mnóstwo konfiguracji, w których Android będzie pracował, zamiast skupić się na ulepszaniu najważniejszych funkcji i dodawaniu nowych. To też utrudnienie dla deweloperów: w przypadku iOS nową wersję aplikacji wystarczy przetestować na kilku urządzeniach.
W Androdzie nie sposób mieć pewności, że na każdym uruchomi się bez zarzutu. Nie dość, że urządzenia z Androidem mają w sobie najróżniejsze podzespoły - fabryki składają je niczym z klocków Lego - to jeszcze w użyciu są wersje różniące się poziomem API. Google stara się ułatwiać programistom życie, ale i tak jest im znacznie trudniej, niż na konkurencyjnych platformach.
Dla użytkowników to też nie jest komfortowa sytuacja
Dzięki aktualizajcjom Google Play i Google Play Services sytuacje, w których dostępność aplikacji uzależniona jest od wgranej na urządzenie użytkownika wersji systemu, odchodzą do przeszłości. To oczywiście bardzo dobry kierunek rozwoju, ale i tak fragmentacja jest dla użytkownika końcowego problemem.
Nie dość, że użytkownik nie może on pracować na najnowszym możliwym sofcie (bo producenci sprzętu nie wyrabiają się z aktualizacjami) to jeszcze rozwój samego Androida jest przez to spowolniony. Google przetraca czas i środki nad dopasowaniem oprogramowania pod każdą możliwą konfigurację sprzętową.
Na szczęście w Mountain View mają plan, jak temu problemowi zaradzić
Google ratuje jak może użytkowników obecnych na rynku urządzeń, ale nie ma co się łudzić: jest mała szansa na to, że tegoroczne flagowce dostaną Androida L w dniu jego oficjalnej premiery razem z Nexusami. Twórcy najpopularniejszego mobilnego systemu operacyjnego dla smartfonów i tabletów świata planują jednak zniwelować problem fragmentacji w przyszłości. W tym celu przejęli firmę, która zajmuje się… “analityką mobilnej grafiki 3D”.
Ta fińska firma nosi nazwę drawElements i zajmuje się testowaniem zgodności aplikacji z Androidem. Dzięki przejęciu i wykorzystaniu wiedzy odpowiedzialnego za firmę zespołu, kolejne wersje Androida mają jeszcze lepiej radzić sobie na najróżniejszych sprzętach mobilnych. Ma to pozwolić na jeszcze prostsze dostosowanie oprogramowania pod konkretny model urządzenia, a w przyszłości zniwelować problem fragmentacji.
To bardzo dobry ruch Google. Na ostatniej konferencji I/O 2014 przedstawiono nam bowiem wizję “Androida totalnego”, gdzie smartfony i tablety to tylko jeden element układanki. Zielony robot w dedykowanej wersji ma trafić przecież na urządzenia noszone i telewizory, a nawet do samochodów. Liczba podzespołów, które Android będzie musiał umieć obsłużyć, powiększać się będzie lawinowo.
Nie łudziłbym się jednak, że efekty tego przejęcia zobaczymy już tej jesieni. Walka z fragmentacją nie skończy się tak szybko.
--
Zdjęcia pochodzą z serwisu Shutterstock