Fragmentacja ekosystemu Androida na przykładzie naszej aplikacji Polska Prasa RSS

Android

Pierwsza wersja systemu operacyjnego Android została wydana we wrześniu 2008 roku. Od tego czasu firma Google wydała 33 kolejne wersje swojego mobilnego systemu - ostatnia Android 5.0 (Lollipop), co przez około 6 lat czasu daje nam średnio nieco ponad 2 miesiące przerwy między wydaniami. Oczywiście niektóre wersje pośrednie wiązały się z krytycznymi poprawkami bezpieczeństwa, jednakże skutkiem przyjęcia takiego cyklu wydawnicznego przez firmę z Mountain View jest totalna fragmentacja rynku urządzeń mobilnych z logiem zielonego robocika...


Zjawisko fragmentacji w ekosystemie Androida wśród społeczności deweloperskiej jest już powszechnie znane, wśród użytkowników tego systemu siłą rzeczy mniej. Dlatego też postanowiliśmy rozpocząć naszego bloga właśnie tym wpisem. Być może uda nam się nieco przemówić do świadomości nie tylko tzw. power user'om lecz zwykłym użytkownikom. Jednocześnie wpis ten będzie informacją jak wiele trudu na dzień dzisiejszy trzeba włożyć w tworzenie i utrzymanie aplikacji na omawianej platformie.

Pierwsza wersja systemu operacyjnego Android została wydana we wrześniu 2008 roku. Od tego czasu firma Google wydała 33 kolejne wersje swojego mobilnego systemu - ostatnia Android 5.0 (Lollipop), co przez około 6 lat czasu daje nam średnio nieco ponad 2 miesiące przerwy między wydaniami. Oczywiście niektóre wersje pośrednie wiązały się z krytycznymi poprawkami bezpieczeństwa, jednakże skutkiem przyjęcia takiego cyklu wydawnicznego przez firmę z Mountain View jest totalna fragmentacja rynku urządzeń mobilnych z logiem zielonego robocika.

Znakomita większość producentów urządzeń nie spieszy się z aktualizowaniem swoich produktów najnowszym systemem Google'a czego powodem są oczywiście pieniądze. Współczesne urządzenia są na tyle mocne podzespołowo, że spokojnie mogą być użytkowane przez minimum 2 lata i dłużej, lecz niestety jest to niweczone bardzo często polityką producenta. Naturalnym profitem dla niego jest zakup co jakiś czas nowego urządzenia przez użytkownika, niż by miał używać przez kilka lat jednego i tego samego urządzenia. Problemem nie jest już elektronika, problemem jest oprogramowanie i bezpieczeństwo.

Znakomita większość użytkowników starszych wersji Androida, nie ma dostępu do najnowszych systemowych API, co wiąże się z brakiem możliwości instalcji aplikacji nowej generacji lub aplikacje te są nie w pełni funkcjonalne, bądź co gorsza zdarzają się błędy. Nie jest to spowodowane lenistwem programistów czy zaniechań twórców aplikacji. Przyczyna jest o wiele bardziej kuriozalna - skomplikowanie kodu źródłowego takiego programu, który musi obsłużyć czasami po kilkanaście przypadków, aby działać na różnych wersjach Androida. To wiąże się z wysokimi kosztami utrzymania...resztę już wszyscy znają.

Z oczywistych względów nawet poświęcenie przez producenta aplikacji więcej czasu na proces dostosowywania, nie gwarantuje bezawryjności czy dostępności na wszystkich urządzeniach, co więcej zawsze zdarzy się przypadek, w którym coś nie zadziała. Pół biedy gdyby producenci urządzeń preinstalowali czyste systemy dostarczane przez Google (przykładem linia Nexus) - okazuje się że i w tym przypadku wszystko działa na naszą niekorzyść. Ingerencja producentów często jest na tyle głęboka, że wpływa znacząco na działanie systemowych mechanizmów, co rodzi kolejne komplikacje i problemy.

Poniżej przedstawiamy statystykę fragmentacji w przypadku naszej znanej aplikacji Polska Prasa RSS. Tworzymy aplikację począwszy od wersji Androida numerowaną 1.6 - w zasadzie początki tego systemu mobilnego w Polsce. Niedawno, bo w październiku tego roku musieliśmy podjąć kluczową decyzję - doskonalić dalej wersje z linii 1.x - Polska Prasa, czy stworzyć całkowicie nową, odrębną aplikację i skorzystać z możliwości oferowanych przez nowsze systemy, zachowując jednocześnie starszą wersję. Takie pytania zadają sobie tylko deweloperzy tej platformy, co jest znamienne.



Wersja systemu Wersja API Procent użycia
Android 4.4 API 20 22,96%
Android 4.1 API 16 21,08%
Android 4.0.3 - 4.0.4 API 15 16,36%
Android 4.2 API 17 13,62%
Android 2.3.3 - 2.3.7 API 10 12,10%
Android 4.3 API 18 8,41%
Android 2.2 API 8 2,42%
Android 3.2 API 13 1,02%
Android 5.0.0 API 21 0,78%
Android 2.1 API 7 0,58%
Inne -- 0,68%
Fragmentacja androida na dzień 03.12.2014
Fragmentacja androida na dzień 03.12.2014, źródło: Google Developer Console
Opublikowano Grudzień 2014