Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[Felieton] O popularności Androida i o różnych jego wersjach

Co pewien czas zaglądam na strony google'owe celem sprawdzenia, jakie wersje Androida obecnie są na topie. Dziś też news tego dotyczący pojawił się na dobrychprogramach Jelly Bean najpopularniejszy. Przeczytałem treść newsa, a potem kilka komentarzy, które zdążyli czytelnicy napisać na ten temat. Chciałbym się odnieść do niektórych z nich.

Problem fragmentacji

… oczywiście istnieje.

Tak, prawdą jest, że 30% urządzeń wciąż korzysta z Androida 2.3.x. Do tego również prawdą wynikającą z powyższego jest to, że programiści piszący aplikacje stają co chwila przed dylematem wyboru, którą najstarszą wersję Androida jest sens wspierać.

r   e   k   l   a   m   a

Najpierw o użytkownikach słów kilka… W tym momencie korzystam z kilkuletniego smartfona, w którym jest Cyanogen 10.1. I możliwe jest, że za pewien czas znajdzie się w nim następna wersja. Spieszyć się nie mam zamiaru, bo czym innym jest dla mnie to urządzenie, niż mój laptop, który zdecydowanie jest poligonem doświadczalnym programistów Intela (Arch Linux + Sandy Bridge ;) ). Kiedy więc patrzę na statystyki popularności różnych wersji Androida, zdarza mi się posmutnieć… Potem jednak łapię się na czymś – w przypadku wyciągania powierzchownych wniosków, trzeba pamiętać, że percepcja jest silnie ukształtowana przez własne oczekiwania, a te każdy może mieć inne. Dla ułatwienia można by pogrupować użytkowników androidowych urządzeń na kilka podgrup. Temat jest ciekawy, ale nie o tym chciałem pisać, więc szybko tylko skwituję to stwierdzeniem, że nie, ja nie należę do większości, a nawet do znaczącej mniejszości. I wątpię, by jakoś znacząco inaczej było ze sporą rzeszą czytelników zaglądających na DP.

Wydaje mi się, że zasadnym jest próba wejścia w skórę tzw. zwykłego użytkownika. Bo czy faktycznie te statystyki mają znaczenie dla większości osób, które używają Androida w którejś jego formie? Posłużę się podobnym przypadkiem… Myślę, że każdy ma jakiegoś znajomego, czy kogoś w rodzinie, kto bez problemu potrafi zmienić Windowsa XP na Windowsa 7. Nie trzeba do tego własnych umiejętności, wystarczy przysługa za przysługę, czy drobna opłata i ktoś tego Windowsa nam podmieni. Z tego, co zaobserwowałem, nie większym problemem dla takich początkujących informatyków jest podmiana wersji Androida w smartfonie i wielu też to czyni. Ale…

Statystyki mówią, że starutki (biorąc pod uwagę tempo postępu) Android 2.3.x ma obecnie jakieś 30% udziału w rynku. 30%? Gdzieś to już widziałem :)

Uprzedzając potrzebę niektórych bezsensownego atakowania mnie za każde nawiązanie do Windowsa, czy MS, od razu dodam, że przykład Windowsa XP wykorzystuję wyłącznie dlatego, że chwilowo nie mam nic lepszego pod ręką oraz nie przykładam żadnej większej wagi do jakości ukazanych statystyk i głównie zależało mi na wspomnieniu o pewnej tendencji, która się ujawnia również w innych statystykach, mimo że czasem te inne statystyki ukazują mocno odmienne wartości procentowe, jeśli się bliżej im przyjrzeć (np. StatCounter, który uwzględnia Linuksa, a Windowsowi XP daje tylko (choć według mnie to wciąż „aż!”) nieco ponad 20% udziału).
Skoro już zaprzepaściłem tę szansę na dodatkowe 20 komentarzy z wojenką, chciałbym wrócić do istotniejszych kwestii.

Wiecie, czego mi bardzo brakuje? Statystyk dotyczących zadowolenia użytkowników z posiadanych przez nich systemów albo statystyk dotyczących świadomości użytkowników tego czego używają. Mój tata ma w warsztacie komputer z Windowsem 98. Czemu? Bo mu inny niepotrzebny, mimo że nawet wolny jeden i to lepszy blaszak stoi nieużywany w domu. Na innym komputerze domowym przez lata trwał Windows XP. Czemu? Bo starczał (przynajmniej do czasu kiedy zaczął trochę za bardzo zamulać o czym pisałem kiedyś krótko ).

Idę o zakład, że większość Polaków odpowiedzialna za popularność WindowsPhone w naszym kraju miałoby problem powiedzieć, w jakiej wersji mają system, czy to jest WP7, czy WP8 i przede wszystkim, czy(m) one się różnią. Czemu o tym tu piszę? Zgadliście! Tak samo obstawiałbym w przypadku Androida. Bierze się to z obserwacji innych ludzi i mojego oczekiwania istnienia analogii do popularności różnych wersji Windowsa (dość subiektywnie, ale staram się rzeczowo bronić tezy, a poza tym to mój blog, ha!). W mojej rodzinie posiadaczka Samsunga SGII nigdy nie aktualizowała systemu, ani nawet nie wie jaką ma teraz wersję zainstalowaną, czy czym się różnią między sobą nowsze wersje. Ostatnio też rozmawiałem z kilkoma osobami z androidowego biznesu i okazało się, że żaden nie był pewny jaką wersję systemu ma zainstalowaną u siebie. I to ma sens, bo liczba nie sprawia magicznie, że coś działa, a coś potrafi działać (o dziwo!) nawet pozbawione wiedzy na temat liczb ;) .

Czy ten problem jest problematyczny?

Napisałem coś, z czego można by wysnuć wniosek, że ewolucyjny rozwój systemów operacyjnych nie ma sensu. Skoro ktoś nie czuje się źle z tym co ma, nie ma sensu przeznaczanie pieniędzy na rozwój tegoż. Ale marketing…

Zależności są zbyt złożone, by taki marny bloger jak ja mógł choćby spróbować to opisać w sposób zadowalający. Liczę więc na trzeźwy ogląd rzeczywistości u Ciebie czytelniku, że nie raz zdarzało Ci się czytać analizy dotyczące problemu kupowania przez ludzi rzeczy tylko dlatego, że są nowe, bądź ktoś ich do tego skutecznie przekonywał.

Też pobieżnie tylko mogę i chcę skupić się na rozwoju Androida. Sens rozwijania go wynika choćby możliwości tworzenia coraz to nowych urządzeń, które się czymś różnić będą od poprzedników (to bezpośrednio napędza koniunkturę). Wynika również z tego, że przez długi okres swojego istnienia na rynku Android głównie kojarzył się z marnym działaniem i kopiowaniem lepszych (iOS-a), a takie rzeczy chętnie były opisywane przez portale technologiczne. Te chętnie były czytane przez grupkę technologicznych zapaleńców. Do nich zaś zwracają się z pytaniami o radę niebędące w temacie osoby chcące sobie kupić jakiegoś smartfona (choćby ze względu na modę na te urządzenia). W efekcie system rozwijany jest pod oczekiwania niewielkiej grupy ludzi, po to by później urządzenia zaopatrywane w nie kupowały miliony osób, nie mających większego pojęcia o tym co kupują i prawdopodobnie nigdy nie wykorzystujące ich w pełni (i to jest już wpływ pośredni). Paradoks ten więc, jak widać, ma sens.
Znów chciałbym uprzedzić ewentualnych napuszonych. Nie interesuje mnie rola adwokata Google'a, ani tym bardziej innych producentów smartfonów z Androidem. Nie staję po żadnej stronie – MS, czy Apple swoją polityką sprawili, że „ich” smartfony, mówiąc obrazowo, nie cierpią na osierocenie przez rodziców zainteresowanych wyłącznie swoimi najmłodszymi dziećmi (i też tylko do czasu pojawienia się nowych dzieci). Android z czymś podobnym się nie kojarzy (choć mnie też dziwi, czemu ludzie tak tych aktualizacji potrzebujący, nie starają się trochę bardziej świadomie dokonywać wyborów w sklepie). W drugą stronę zaś WP i iOS nie wiele mają wspólnego z otwartością ekosystemu, co często jest w przypadku Androida wymieniane jako cecha nadrzędna. Nie jestem zdolny do zważenia tych korzyści i strat, potrafię jedynie ocenić, co mnie osobiście bardziej odpowiada (ale znów, nie tego dotyczy ten wpis, więc temat pominę).

Czy należy współczuć programistom?

Każda nowa wersja systemu to, tak „lubiane” przez programistów, zmiany w API. Podam dwa przykłady, żeby pokazać jak wygląda los programistów przy pojawianiu się nowszych wersji i jak istotne będą dylematy, przed którymi będą stawać.

Taki np. Android 4.1, który obecnie jest najpopularniejszą wersją systemu, wprowadza np. rozszerzone powiadomienia, tj. z możliwością wprowadzenia do nich dodatkowych treści i przycisków, które ujawnią się po rozwinięciu powiadomienia:


Pojawia się (powinno przynajmniej) pytanie, co jeśli ktoś ma Androida 4.0, czy drugiego najpopularniejszego, czyli w wersji 2.3.x? Pomijając to, że 30% urządzeń prędzej umrze śmiercią naturalną, niż dostanie aktualizację do wersji 4.1, nie trudno zgadnąć, że nie doczekają się nawet najmniejszej poprawki, np. do wersji 2.3.8, związanej z powiadomieniami.

Uprzedzę zawczasu, że o ile przyciski wydają się mieć sporo sensu, o tyle pasek powiadomień jest na tyle ulotny, że najwięcej irytacji bym miał z próby przeczytania większej ilości tekstu, przerywanej częstym przypadkowym chowaniem się belki powiadomień. Być może to się komuś spodoba, ale ja i tak dalej wolę zajrzeć wprost do aplikacji… Piszę o tym, bo wiem, że ten fragment może być niezadowalający, a ja po prostu mam świadomość, że tu mogę być daleki od obiektywizmu.

Czy zatem programiści dostali po premierze nowego Androida bólu głowy? Zacznijmy od tego, że nowe API poszerza funkcjonalność już istniejących mechanizmów. To co mamy dodatkowo to możliwość poprawienia działania powiadomień dla użytkowników nowszych wersji Androida. Jeśli ktoś teraz wpadł na pomysł umieszczenia przycisków w powiadomieniu, a jednocześnie myśli ciepło o tym, że nie każdy ma co najmniej wersję 4.1, może najzwyczajniej w świecie stworzyć od zera własny layout powiadomienia, a na nim i tuzin guziczków. Jeśli ktoś myśli o tych osieroconych biedakach, zostawionych przy wersjach 2.x Androida, cały czas ma możliwość ustawienia najprostszej jednej akcji w powiadomieniu. Zresztą Google w przewodnikach dla programistów sam zachęca programistów by nie umieszczać w powiadomieniach funkcji, których nie można znaleźć w samej aplikacji je generującej, a tak się składa, że w każdej wersji Androida obsługującej powiadomienia, można ustalić, że ich naciśnięcie przeniesie nas do wybranego ekranu aplikacji (zatem użytkownicy starszych wersji Androida korzystając z naszego odtwarzacza muzyki, powinni mieć możliwość obsługiwania go z poziomu samej aplikacji, a dopiero potem z poziomu powiadomień (mnie osobiście trudno jest sobie wyobrazić coś innego, ale widocznie i tacy geniusze się trafiają, którym trzeba to napisać i liczyć na to, że jeśli umieją czytać kod Javy, to i język angielski znają wystarczająco dobrze ;) ).

Pomijając ludzi odczuwających niepokój w sytuacji, kiedy ktoś pozwala im na dokonanie wyboru, trudno mi sobie wyobrazić jeszcze kogokolwiek, komu nowości w powiadomieniach mogły nastręczać jakichkolwiek problemów. Więc przejdę teraz do drugiego przykładu.

Był sobie Android 2.x. Był sobie też Android 3.0. Wreszcie zaczął sobie bycie Android 4.x. I to było dobre, tak właśnie i nie inaczej. Istotą tej nowej wersji systemu było połączenie w jeden klasycznej wersji dla smartfonów i młodziutkiej tabletowej. Zmiana ta była spora, pojawiło się sporo nowości w API. Jedną z nich były Fragmenty. Fragment to taki cuś, co powzala na dynamiczne pojawianie się w obrębie jednej aktywności (czyli potocznie ekranu, okna, czy widoku w aplikacji) złożonych layoutów. Dzięki temu można napisać pojedynczą aplikację, która będzie na małym ekranie przejrzysta, a na dużym wykorzysta dostępną większą przestrzeń. Nie ma sensu zagłębiać się w sprawy techniczne, skwituję to ponownie stwierdzeniem, że to było dobre.

Ponownie jednak pojawia się pytanie zasadnicze? Czy chcąc korzystać z nowoczesnych rozwiązań, zostaję skazany na porzucenie użytkowników starszych wersji systemu? Odpowiedź brzmi: nie, nie zostaję. Tak jak o tym napisał Łukasz Tkacz w dzisiejszym newsie, Google dobrze wie jak się ma sprawa popularności Androida. Dzięki dodatkowym pracom towarzyszącym rozwojowi kolejnych wersji ichniego systemu, programiści nie mają dylematów: nowość, czy powszechność. Odpowiedzią jest dodatkowa biblioteka kompatybilności z Androidem 4.x dla starszych wersji systemu. Zawiera ona większość nowości jakie pojawiają się w nowych wersjach API (pomijane są głównie te, które z powodów technicznych nie mają sensu na starszych urządzeniach). Użycie jej jest wręcz banalne i sprowadza się do tego, że dołączając biblioteki w kodzie Javy, wybieramy te, oferujące wsparcie dla starszych wersji systemu http://developer.android.com/tools/support-library/setup.html .

Znam jeden element z Androida 4.x, którego Google nie wspiera na starszych urządzeniach. I wiem też gdzie znajdę nadrabiającą ten brak dodatkową bibliotekę, będącą dziełem społeczności (chodzi o ActionBar, którego wsparcie dla starszych wersji systemu można szukać w bibliotece AcionBarSherlock http://actionbarsherlock.com/ – o tym, że działa sam się przekonałem).

Prawda jest taka, że największym dylematem, przed jakim stają programiści, to wybór, czy dalej wspierać Androida 2.2, czy wystarczy tylko 2.3.x. Wybór, którego nie muszą dokonywać, gdyż oficjalne IDE, czyli Eclipse sam domyślnie sugeruje wersję 2.2…

Jak sporym problemem jest fragmentacja oraz kilka uwag do komentarzy z newsa

Tak jak napisałem na początku, fragmentacja jest problemem. Problemem marketingowym Google'a, problemem programistów Google'a, mających więcej roboty ze wspieraniem starszych wersji systemu, problemem programistów aplikacji, którzy czasem muszą wykonać 101, a nie 100 kliknięć myszką by tej biblioteki wsparcia użyć :P i wreszcie problemem użytkowników, których większość pewnie by miała to w nosie, gdyby im ktoś nie powiedział, że mają być obrażeni na „najbardziej badziewny system w historii smartfonów!!!111”.

Chciałbym się też ogólnie odnieść do zaczepnych komentarzy dotyczących Androida 4.4.
Niektórzy niecierpliwią się, że Google już zapowiada nowego Androida, a jeszcze 4.3 nie zdołał się choć trochę spopularyzować. Ja mam dwa małe pytanka, może któraś z tych osób da radę mi na nie odpowiedzieć, czy Google podał już datę premiery nowego systemu i dlaczego kogokolwiek dziwi to, że Google pracuje nad kolejną wersją Androida? Z tego co mi wiadomo, Google poinformowało o tym jaką będzie nazwę nosić najnowsza wersja (z resztą nie po raz pierwszy, Key Lime Pie nic wam nie mówi?), ale bez daty wydania. A to, że obecnie trwają pracę na następcą Androida 4.3 wydawało mi się czymś tak oczywistym, że nawet przez chwilę się nie czułem zaskoczony. Powiem więcej, na pewno trwają obecnie pracę na następcą Androida 4.4 i prawdopodobnie również następcy jego następcy (i kto wie ile następnych iteracji). Ha!

Również do tych osób chciałbym skierować osobiste spostrzeżenie. Otóż, mam wrażenie, że pragmatyzmem jest dać chwilę Androidowi 4.3 pożyć poza naszymi urządzeniami i zaczekać przynajmniej do pierwszej aktualizacji łatającej błędy. Z pewnością jest wiele cech wartych uwagi, ale błędy też są (mnie i mojemu koledze przestały działać poprawnie aplikacje związane z odtwarzaniem zapętlonego dźwięku… prywatnie nie śpieszy mi się do żadnych aktualizacji).

PS

Wspomniałem w tekście, że mi brakuje badań odnośnie do zadowolenia i świadomości użytkowników systemów operacyjnych. Nie oznacza to jednak, że takowe nie istnieją. Jeśli ktoś potrafi coś takiego przytoczyć, to chętnie poczytam z ciekawości. 

oprogramowanie programowanie

Komentarze