Paradygmaty, Tolkien i dlaczego fragmentacja Androida jest dobra

Od lat fragmentacja mobilnego systemu od Google jest jednym z jego głównych grzechów. Ale czy nie przykładamy do niej zbyt wielkiej wagi? W końcu zróżnicowanie to też główna zaleta Androida!

W zasadzie wszyscy znają główne problemy Androida na pamięć. Lagowanie nawet w najszybszych, flagowych modelach. Stabilność (czy raczej jej brak) działania systemu. Dziury i błędy w zabezpieczeniach. Masa śmieciowych i nie dających się odinstalować aplikacji na siłę dokładana przez producentów urządzenia. Oraz niemożność aktualizacji modeli ze starszymi wersjami systemu, powodująca fragmentację właśnie.

Fragmentacja – czyli tak z amerykańska, żeby nie było nie nudno po polsku: „podział” – to bardzo ładne słowo, trochę z gatunku korpomowy (leży gdzieś obok optymalizacji procesów, miękkich skillsów czy brifowania i czerdżowania podwładnych). Wszyscy znamy też fragmentację z pecetowego Windowsa. Może niekoniecznie wszyscy wiemy, o co w niej chodzi, ale jesteśmy pewni, że jak się dysk zdefragmentuje, to będzie działał lepiej i szybciej.

W 2015 roku na świecie było ok. 24 tys. różnych modeli urządzeń wyposażonych w Androida. Wydawanych przez ponad 1300 producentów. Każdy z nich może modyfikować system do woli. Żaden nie ma obowiązku aktualizowania swego sprzętu. Google nie ma żadnej władzy nad producentami, ani kontroli nad ich urządzeniami, za wyjątkiem kilku modeli Nexus. W związku z tym na rynku, w rękach użytkowników, znajduje się wiele urządzeń z tym samym systemem, ale z odmiennymi jego wersjami; wersje pomiędzy sobą różnią się na tyle, że części usług nie da się w niektórych wersjach uruchomić, niektóre wersje mają znane błędy i problemy, których bez aktualizacji nie da się naprawić.

Fragmentacja oznacza zatem, że Androidów mamy tak naprawdę nie 13 (czy 14, licząc jeszcze niewydanego Androida 7/N), a co najmniej kilkanaście tysięcy!

Paradygmat: fragmentacja to problem

Niejaki Thomas Kuhn, w 1962 roku ujął paradygmat jako ogólny model nauki, zawierający m. in. określenie tego, co jest w niej problemem, celem i rozwiązaniem. Paradygmat to zatem ramy rozumowania. Przykładowo: jest nim świat, w którym prędkość światła jest nieprzekraczalna – ta jest więc stałą, którą używa się w obliczeniach, a my tak naprawdę myślimy o tym, jak latać taniej, a nie szybciej. Sposobem na dokonanie rewolucji naukowej nie jest więc wymyślenie zaskakującej hipotezy (np. napędu warp ze Star Treka), nikt bowiem na gruncie paradygmatu nie uzna jej za pożądaną i możliwą. Sposobem jest zmiana paradygmatu, która modyfikuje nasz obraz świata i umożliwi inne spojrzenie na to, co mamy przed nosem.

W naszym paradygmacie traktujemy fragmentację Androida zwyczajowo jako problem, ponieważ idealnym i docelowym stanem jest dla nas jej brak. Ujednolicenie. Standaryzacja. Jeden aktualny system. Zatem również jeden jego zarządca. Który decyduje o tym, co pojawi się na wszystkich urządzeniach.

Jak jeden Pierścień Władzy z „Władcy pierścieni” Tolkiena, kontrolujący wszystkie urządzenia.

8459155714_b75b9aebc8_o

W tym paradygmacie nie sposób zliczyć zalet takiego idealnego świata, nieprawdaż?

– Brak zróżnicowania oznacza prostsze kodowanie aplikacji, mniej błędów, a przez to zmniejszenie kosztów dla wydawców. Obecnie aplikacje pisze się na różne wersje Androida. I to niekoniecznie na najnowsze, skoro najwięcej użytkowników ma wersje sprzed 2 lat. Często to nie jest tylko kilka linijek kodu, a kawał ciężkiej pracy, zwłaszcza zaś testowania na licznych urządzeniach, przez co wydawca zwykle decyduje o rezygnacji z użytkowników którejś ze starszych wersji systemu. Zresztą czasem nawet w obrębie tej samej wersji aplikacja potrafi nie działać na jakimś urządzeniu. A w świecie jednego aktualnego zunifikowanego systemu wydawca pisze tylko jedną wersję kodu. I już. Zatem produkt może być tańszy. Łatwiej też eliminować błędy. Krócej trwa ich poprawianie i testowanie. O ileż mniejsze koszty zatrudnienia ludzi: programistów, obsługi błędów, utrzymywania drogiego działu Q&A i supportu. I łożenia na marketing, który kosztownymi kampaniami przykryje niezadowolenie!

– Brak fragmentacji to większe bezpieczeństwo wszystkich użytkowników. Ocenia się, że używanych przez ludzi urządzeń z Androidem, które są już nie aktualizowane i posiadają znane dziury bezpieczeństwa, już w 2015 roku było ponad miliard. Wypuszczenie nowej poprawki przez Google musi przejść przez etap kontroli i modyfikacji przez producentów urządzeń i trafia do smartfonów i tabletów nie w ciągu dni, a tygodni, a nawet miesięcy daty od wydania. Nawet mając bardzo świeże urządzenie – jeśli nie jest to Nexus – nie możemy być pewni, że producent prędko załata w naszym urządzeniu dziurę, o której trąbią wszystkie media. Natomiast świat jednego systemu bez fragmentacji to świat, w którym po wydaniu poprawki otrzymują ją wszyscy użytkownicy, bez przeszkód i bez wyjątku. Wystarczy ją zainstalować. I już.

– Brak fragmentacji to szybsze poprawianie błędów systemu. No jasne. Poprawki błędów nie mogą być przez Google bezpośrednio wrzucane na urządzenia, zatem często są pakietowane i przerzucane do nowych wersji systemu. W związku z tym użytkownicy muszą czekać, aż ich producent zdecyduje o tym, że urządzenie zostanie zaktualizowane. To trwa. Na dodatek przez modyfikowanie czystego Androida producenci potrafią sami namieszać w systemie – i na to już nawet Google nie pomoże. A w idealnym świecie nikt nie majstruje w Androidzie. Google dzieli i rządzi – zatem nie występują błędy producentów. Poprawki samego Androida zaś – w sytuacji, gdy poprawki dostają wszyscy użytkownicy bez wyjątku – są szybkie i częste.

Kontrola nad systemem. Obecnie Google w zasadzie po prostu jej nie ma. Jakiekolwiek zmiany, próba wymuszenia, np. rezygnacji z jakiejś aplikacji, usługi, implementacja nowych, mogą nastąpić jedynie w urządzeniach linii Nexus, otrzymujących aktualizacje bezpośrednio od Google. Pozostałe urządzenia posiadają wersje systemu brandowane przez producenta, co oznacza, że tylko od ich dobrej woli zależy, kiedy – i czy w ogóle – modyfikacje wprowadzone przez Google dotrą do użytkowników. A w idealnym świecie Google ma władzę absolutną. I koniec.

OK. Już wiemy, o co w tym chodzi. Chcielibyśmy, aby Android był iOS-em po prostu, prawda? Ale i Apple nie daje rady i ubija starsze modele podczas kolejnych aktualizacji. Choćby iPhone: 3GS w iOS 7, 4 w iOS 8 a 4S nie będzie wspierany przez iOS 10. Apple też sobie szykuje fragmentację, tyle że w znacznie mniejszej i mniej groźnej oraz mniej głośnej medialnie skali…

A może fragmentacja wcale nie jest taka zła?

Paradygmat: fragmentacja to zaleta

Czy pamiętacie, dlaczego we „Władcy pierścieni” Drużyna Pierścienia przeprowadziła tę całą w zasadzie skazaną z góry na porażkę wyprawę, by unicestwić Pierścień Władzy? Owszem, po to, by utłuc pradawne zło oczywiście, ale… Równie ważnym celem było to, aby posiadacz Pierścienia Władzy nie przejął władzy nad posiadaczami innych magicznych pierścieni. Tak, ich właściciele nie chcieli zrezygnować z ich noszenia (co byłoby przecież rozwiązaniem), ale nie chcieli się również poddać mocy Pierścienia Władzy. Coś nam to przypomina?

Zróżnicowanie to również idea. W świecie technologii wydaje się być, złem które trzeba niwelować, ale… W rzeczywistości, w świecie ludzi zróżnicowanie to po prostu normalność. To podstawa innowacji, rozwoju, ekspresji artystycznej, bodziec do poznawania. Zbytnia unifikacja często prowadzi do fanatyzmu i stagnacji; kontrola do totalitaryzmu a chów wsobny powoduje choroby genetyczne i degenerację. No dobrze, pomijając humanistyczne konteksty w stylu „pięknie jest się różnić”, jest kilka bardzo konkretnych zalet fragmentacji.

Fragmentacja pozwala ludziom na użytkowanie ich urządzeń tak, jak chcą. Wspomniana wyżej kontrola nad systemem i jego składowymi może oznaczać, że wydawca dokona w oprogramowaniu zmian, których nie jesteśmy w stanie uniknąć. A przeciwników aktualizacji jest całkiem sporo, na co wskazuje np. mnogość poradników downgrade systemu. Fragmentacja pozwala np. osobom, które nie lubią i nie akceptują np. Material Designu używać różnych urządzeń bez obawy o nagłą, niepożądaną aktualizację. Przykładem takiej niepożądanej (od strony użytkowników) całkowitej kontroli jest mobilna aplikacja Facebooka i wyrzucenie z niej wiadomości facebookowych do FB Messengera, co wymusiło pobranie Messengera przez tych, którzy mobilnie chcą odczytywać te wiadomości.

– Paradoksalnie – fragmentacja to ogólnie większe bezpieczeństwo! Mnogość wersji Androida oznacza, że nie da się ot-tak nad wszystkimi przejąć kontroli,  zhackować, zarazić złośliwym oprogramowaniem. Nawet,  gdyby nagle pojawił się jakiś superwirus, który zaraził większość urządzeń, nawet gdyby w kodzie Androida znalazł się jakiś backdoor, jest ogromna szansa, że na którejś wersji systemu, on po prostu nie zadziała…

– Fragmentacja to brak hamulca dla rozwoju systemu. Skoro obecnie funkcjonuje kilka wersji Androida, często mocno się od siebie różniących, Google nie musi się starać, by nowy system działał na wszystkich starszych urządzeniach. O tym, jak iluzoryczne jest to podejście świadczy to, że tak Apple, jak i Microsoft sukcesywnie przesuwają dolną granicę modeli, które obsłużą nowe wersje ich systemów. Inaczej się po prostu nie da, jeśli chce system unowocześniać i dokładać nowe funkcje! Uparta konieczność zgodności wstecz oznacza, że nie można wprowadzić rewolucyjnych zmian, zatem nie jest się tak innowacyjnym, jak by się chciało.

– Fragmentacja to jeden z ważniejszych bodźców dla kupujących nowe urządzenia. Któż z nas myśląc o zakupie nowego smartfona z Androidem nie marzy o tym, by wejść w posiadanie takiego, który nie dość, że ma Androida 6, to i na pewno dostanie Androida 7? W sytuacji pełnej aktualizacji wszystkich urządzeń, potrzeba kupienia nowego sprzętu często w ogóle by nie powstała.

Fragmentacja to wskazówka

Tak po prostu. Fakt jej istnienia, zapewne niezaplanowany przez Google, pokazuje kilka ważnych dla Google i producentów urządzeń (jakichkolwiek) rzeczy.

– Że „tańsze”, „ma lepszą baterię”, „ma wymienną baterię” lub „mój kuzyn taki ma i jest zadowolony” jest najczęściej znacznie ważniejsze, niż „najnowsze” czy „ma androida 6.0.1”.

– Że „bycie na czasie”, czyli w tym wypadku posiadanie ostatniej wersji systemu, jest ważne dla blogerów technologicznych i geeków, którzy są głośni, ale kupują rzadko.

– Że wielu z najnowszych funkcji ludzie nie tylko nie doceniają, ale też po prostu nie używają, przyzwyczajeni do tego, że radzą sobie z tym w inny, często prostszy dla nich (choć nie domyślny) sposób.

– Że jeśli czegoś ludziom w systemie brakuje, to znajdą sobie na to apkę.

– Że ludzie nie znają swoich urządzeń i często traktują funkcje jako błędy.

– Że ludzie mają opór przed modyfikowaniem czegoś, co działa dobrze i do czego się przyzwyczaili, nawet, jeśli nie są do końca z tego działania zadowoleni.

– Że znane błędy i problemy są po stokroć mniej złe, niż nieznane, które mogą wystąpić po aktualizacji.

– Że brak naprawy w nowej wersji starego i wkurzającego błędu jest dla ludzi znacznie gorsze, niż brak nowej wersji w ogóle.

– Że ktoś może lubić coś takie, jakie było rok, dwa czy pięć temu. Po prostu.

5126305895_bd0099ef10_b

 

Źródła:
1. http://www.businessinsider.com/android-may-not-be-as-fragmented-as-we-thought-2016-6
2. http://www.digitaltrends.com/mobile/what-is-android-fragmentation-and-can-google-ever-fix-it/
3. http://www.digitaltrends.com/mobile/why-a-billion-android-phones-will-never-be-safe/
4. http://www.informationweek.com/mobile/mobile-devices/why-android-fragmentation-is-a-good-thing/a/d-id/1321650

Źródła ilustracji:
1. Obrazek ilustracyjny: Quinn Dombrowski, flickr, licencja CC-BY
2. Themeplus, flickr, licencja CC-BY
3. alpha, flickr, licencja CC-BY