Google radzi sobie z fragmentacją Androida? Co z tego, skoro teraz czeka nas fragmentacja... aplikacji
Miesiąc w miesiąc opisuję na łamach Spider’s Web statystyki fragmentacji Androida. Samo zjawisko ze względu na cwane ruchy Google powoli traci na znaczeniu, ale zauważyłem, że problem fragmentacji przeniósł się z systemu w kierunku… aplikacji.
To, że Android jest pofragmentowany, to fakt, z którym ciężko dyskutować. W końcu nadal jedna czwarta łączących się z Google Play urządzeń korzysta z archaicznego Gingerbreada, a adopcja najnowszej odsłony Jelly Beana w wersji 4.3 jest… po prostu słaba i nie zapowiada się na to, aby w przypadku KitKata było lepiej. Ale głównym winnym jest oczywiście długi łańcuszek podmiotów, które muszą aktualizację przygotować i zaakceptować przed udostępnieniem jej użytkownikom, to zgodzę się, że nie jest to tak istotne, jak jeszcze kilka miesięcy temu. Google wpadło na niezły pomysł, jak z problemem fragmentacji walczyć.
Google Play Services i przeniesienie aplikacji do sklepu
Walka z fragmentacją prowadzona jest na dwóch frontach. Po pierwsze, kolejne wersje Androida wprowadzają nowości, ale nie wszystkie wymagają wgrania nowego wydania z numerkiem o “oczko” wyżej, aby z nich korzystać. Google pewne funkcje systemowe dystrybuuje za pomocą “cichych” aktualizacji aplikacji o nazwie “Google Play Services”. Dzięki temu smartfony sprzed roku też mogą chociażby korzystać z funkcji zdobywania osiągnięć w Google Play Games.
Co więcej, niektóre integralne części systemu zostały od niego “oderwane” i funkcjonują teraz jako “zwykłe” aplikacje w sklepie Google Play. Jeszcze rok czy dwa lata temu taki, dajmy na to, Kalendarz dostarczany był w pakiecie razem z całym Androidem, a teraz można pobrać go na dowolne urządzenie jak dowolny inny program. Google może też aktualizować go niezależnie od reszty softu, a nie tylko raz na pół roku czy też rok. To samo miało miejsce w przypadku klawiatury ekranowej od Google, a także przeglądarki, zastąpionej przez mobilne wydanie Chrome. W KitKacie instalowane przez Google Play Hangouty zastąpiły SMS-y i tak dalej.
Więc co jest nie tak z tymi aplikacjami?
W przypadku zamkniętych systemów, takich jak iOS czy Windows Phone, można założyć że większość użytkowników korzysta z tej samej wersji oprogramowania. W przypadku Androida, jak się okazuje… niekoniecznie. Dobrym przykładem jest tutaj właśnie komunikator Hangouts. Dostępny jest już blisko dwa tygodnie, a ja nadal nie mogę bo pobrać. Bo nie i już. A przecież widzę, że moi redakcyjni koledzy cieszą się już z nowego FB Messengera i psioczą na nowe Hangouty.
Nie widzę aktualizacji, ale okazuje się, że tym razem “it’s not a bug, it’s a feature!”. Wszystko przez zapowiedzianą na tegorocznej konferencji Google I/O funkcję “staged rollouts”. Jest to narzędzie dla dewelopera, które pozwala twórcom aplikacji na wypuszczenie aktualizacji tylko dla małej grupy użytkowników określonej w procentach. Dzięki temu dochodzi do takich paradoksów, że nowe Hangouty otrzymały już aktualizację do wersji 2.0.1, a ja na możliwość integracji SMS-ów w komunikatorze Google nadal czekam.
Wieczne betatesty
I wiecie co? Może i “staged rollouts” to dobre narzędzie z perspektywy dewelopera, ale dla użytkowników to naprawdę kiepska wiadomość. Ja rozumiem, że idea jest w sumie szczytna i ma minimalizować szkody - jeśli aktualizacja okaże się wadliwa, to problem dotknie tylko x%, a nie wszystkich użytkowników aplikacji. Nie zdziwię się jednak, jeśli ta idea szybko się wypaczy. Już dawno temu pisałem o słabości tego naszego całego nowoczesnego internetu, jaką jest obcowanie z wiecznymi wersjami beta, gdzie my staliśmy się mimowolnymi betatesterami.
“Staged rollouts” aż prosi się o to, żeby wykorzystać do testowania aplikacji na “żywym organizmie”. Zamiast ochrony użytkowników przed jakimś paskudnym fuckupem twórcy, ta funkcja okaże się idealnym narzędziem do testowania aplikacji “na ludziach”. Zamiast prowadzić prawdziwe betatesty, wygodniej przecież wypuścić nową wersję dla 5% użytkowników. Jeśli nagle skrzynka mailowa podana przez dewelopera w Google Play padnie pod naporem maili zgłaszających błędy, to znaczy że trzeba się przyjrzeć; jeśli będzie cicho, to znaczy że wszystko się udało.
Co z tego, że ktoś się wkurzy, przecież to tylko 5 osób na 100. Co prawda efektem ubocznym staged rollouts będzie to, że będziemy wszyscy korzystać z różnych wersji softu oferujących różne funkcje – ale czy taka “fragmentacja” to duży problem? Też nie tak do końca. Zwykły użytkownik o opóźnionej aktualizacji się nigdy nie dowie, zaawansowany user i tak znajdzie w sieci .apk i zaktualizuje sobie aplikację sam, a osób którym coś aktualizacja schrzani będzie… relatywnie mało.
Sam jednak jestem niepocieszony, bo lubię mieć zawsze aktualny soft, a naprawdę znudziło mi się już grzebanie w bebechach systemu i szukanie po sieci jakiś-tam-plików .apk.