Kod Biznesu

(Nie)MOŻLIWE obietnice producenta

W ramach kontynuacji serii artykułów rozpoczętej w 3. wydaniu magazynu Kod Biznesu (Patrz), rozwinę tematykę Androida do zadań specjalnych.

Cała branża terminali do sczytywania kodów kreskowych i szerzej automatycznej identyfikacji cieszyła się prawdopodobnie najdłuższym cyklem życia produktu spośród wszystkich związanych z mobilnością. Działo się tak m.in. ze względu na brak przez prawie 20 lat zmian w zakresie wspieranych przez urządzenia systemów operacyjnych. Był to albo dedykowany firmware, jak np. w terminalach znakowych, albo systemy z mobilnej rodziny Windows (CE, Mobile i ich wersje) produkowane przez Microsoft. Wraz z rezygnacją Microsoftu ze wsparcia dla swoich produktów, naturalną konsekwencją dla branży była adopcja systemu Android produkowanego przez Google, na tyle nowoczesnego i elastycznego, że stanowi on rewolucję na wielu płaszczyznach. Słynie także ze swojej zmienności i fragmentacji, a znaczna kompatybilność sprzętowa, głównie chipsetów, pogłębia problem zachowania spójności wersji oprogramowania. Problem ten w najmniejszym nawet stopniu nie dotyczył systemów mobilnych Microsoft działających na ograniczonej liczbie platform sprzętowych.

Biznes, który z jednej strony musi dążyć do cyfryzacji, mobilności, innowacyjności,
a z drugiej potrzebuje bezpieczeństwa i stabilności w zakresie środowiska informatycznego, aby zaspokoić te potrzeby musi decydować o wyborze urządzeń producenta, który podoła wyzwaniu zapewnienia długiego wsparcia systemu operacyjnego. Warto więc wiedzieć jak przebiega proces aktualizacji systemu Android i na co ma w nim wpływ producent urządzenia, a które decyzje są poza jego zasięgiem.

Obietnice producentów
Release nie jest zwykłą aktualizacją w postaci łat bezpieczeństwa czy drobnych poprawek. Wprowadza zazwyczaj znaczne zmiany na wielu płaszczyznach i wymaga aktualizacji całego obrazu systemu w urządzeniu, a nie jedynie fragmentów istniejącej instalacji. Jeśli więc wprowadzenie kolejnego releasu systemu Android sprawia, że znacznie różni się on od poprzedniej wersji czy może on działać na tym samym sprzęcie? Odpowiedź nie jest ani łatwa, ani uniwersalna dla całego rynku. Jak daleko powinny iść tutaj obietnice producentów? Aby odpowiedzieć na to pytanie należy zrozumieć jak złożony jest, w biznesowym oraz technicznym ekosystemie firmy Google i jej partnerów sprzętowych i telekomunikacyjnych, proces tworzenia kolejnego releasu systemu Android.

Kolejne kroki różnią się w zależności od typu i odbiorcy urządzenia. Urządzenia kupowane w określonych sieciach operatorskich mogą wymagać dodatkowych zmian, które dostosują oprogramowanie do współpracy z siecią i jej specyficznymi usługami (nie jest to reguła, w zasadzie występuje dzisiaj rzadko). Branży AutoID dotyczy to bardzo rzadko, natomiast było typowe dla urządzeń konsumenckich. Nie będziemy się tym zajmować szczegółowo, ale warto wiedzieć, że kolejnym ogniwem, które może spowodować brak aktualizacji do kolejnego releasu systemu Android może być operator sieci komórkowej. Np. jeśli nowe oprogramowanie okaże się niezgodne z niektórymi usługami lub standardami sieci, operator nie wprowadzi danej aktualizacji do urządzeń sprzedanych w swojej sieci. Dzieje się tak bardzo rzadko, jednak wciąż prowadzi do pogłębienia fragmentacji wersji systemu Android dostępnych na rynku.

Uwagi do fazy 1

Jeśli producent chipsetu zdecydował o nie wspieraniu kolejnego releasu Androida przez dany chipset, aktualizacja nie pojawi się na urządzeniach wyposażonych w ten chipset.

Jeśli producent chipsetu zdecydował o wsparciu nowego releasu przez dany chipset, przygotowuje dla nowej wersji Androida sterowniki do swojego chipsetu oraz przekazuje paczkę BSP (Board Support Package) producentom OEM terminali/smartfonów/tabletów wykorzystujących ten chipset w swoich urządzeniach

Uwagi do fazy 2

Producent OEM terminali/ smartfonów/ tabletów alokuje własne zasobyi przygotowuje nowe wersje systemu operacyjnego w tak zwanym Maintenance Release, trwają testy zgodności
i stabilności. Jeśli testy mają dobre wyniki producent opracowuje kolejny release Androida dla swoich urządzeń wyposażonych w chipsety wspierane przez producenta chipsetów. Jeśli testy wypadają źle – aktualizacja nie powstanie. Na tym etapie producent urządzenia dodaje charakterystyczne dla siebie elementy systemu,w przypadku terminali mobilnych są to na przykład aplikacje do obsługi czytnika kodów kreskowych itp.

Producent terminala przygotowuje nowy release zawierający niezbędne integracje i testuje go wewnętrznie. Błędy są naprawiane, a udoskonalony obraz systemu przekazywany jest do testów akceptacyjnych w Google. Nie dotyczy to urządzeń z systemem bez wsparcia dla usług Google Mobile Services, użytkownik końcowy może więc narazić się na wprowadzenie do swojej infrastruktury potencjalnie podatnych na ataki urządzeń, które nie będą otrzymywać wymaganych przez Google updateów.

Producent urządzenia udostępnia certyfikowany przez Google obraz systemu albo w usłudze OTA (Over The Air) albo w inny sposób (np. portale wsparcia technicznego)

ĆWICZENIE

Kolejny release Androida pojawia się mniej więcej raz do roku.
Zastanów się, kiedy otrzymałeś tak dużą aktualizację dla swojego smartfonu?
W którym roku smartfon, którego używasz miał premierę?
Porównaj te dwie daty. Następnie sprawdź plany producenta Twojego smartfonu odnośnie Androida 11 i Androida 12 – czy planuje on aktualizację? Jeśli nie, poszukaj więcej informacji dlaczego tak się stało.

Do tego czy kolejny release systemu Android pojawi się na danym urządzeniu kluczowych jest więc w naszych rozważaniach kilka spraw, o których często nie wiadomo w momencie jego zakupu, tj.:

  1. Czy producent chipsetu zobowiązał się do wsparcia poprzez przygotowanie odpowiednich sterowników kolejnych wersji Androida i do której?
  2. Czy chipset spełni wymagania Google odnośnie kolejnych wersji Androida?
  3. Czy specyficzne dla danego producenta OEM cechy urządzeń i jego oprogramowania będą wspierane w kolejnej wersji Androida? Czy będzie możliwe ich dostosowanie?

Obecnie również działy IT są zainteresowane wsparciem kolejnych releasów. Terminale mobilne jako, urządzenia profesjonalne, zazwyczaj droższe od konsumenckich, powinny pozwolić firmie na bezpieczną amortyzację inwestycji z dostępem do nowych standardów. Ważne więc, aby terminal mógł być aktualizowany w tym okresie. Skąd firma może mieć jednak pewność, że aktualizacje powstaną? Trzeba zaufać zobowiązaniom producenta chipsetu i producenta OEM, powinny one być jednak racjonalne i bez przysłowiowej „gwiazdki”. Obiecywanie obecnie aktualizacji do wersji 14 czy 15 może być trudne do dochowania, bo nie wszystko w procesie zależne jest od producenta OEM, a jeszcze mniej wiadomo o długofalowych kierunkach rozwoju systemu Android, na które pomysły dopiero rodzą się w głowach managerów Google.

Inną sprawą jest czy dla firm gonitwa za najnowszymi releasami i obietnice producentów z tym związane wnosi wartość dodaną do inwestycji w terminale mobilne. Zmiany jakie owe aktualizacje wnoszą od strony użytkowej często koncentrują się na elementach nie mających istotnego wpływu na kształt bądź wydajność procesów biznesowych. Przypomnę tylko dla przykładu – zmiana w interfejsie użytkownika w postaci nowego paska powiadomień,
czy w procesie biznesowym wniesie istotną wartość, jeśli większość terminali pracuje w trybie kiosku. Dodatkowo, jeśli zmieni się framework Android Enterprise dostawcy oprogramowania EMM również będą zmuszeni dostosować swoje platformy do obsługi nowych wersji. Generalnie przejście w organizacji operacji aktualizacji do kolejnych releasów Androida jest dużą operacją. Ciężko także wyobrazić sobie, że proces będzie dopasowywał się do terminala mobilnego czy wersji systemu operacyjnego, a nie na odwrót. Warto więc skupić się, tak jak dawniej, na stabilności i pewności, kupić urządzenia z aktualną sprawdzoną wersją systemu
i potencjałem na dalsze aktualizacje. Np. terminale M3Mobile obsługujące obecnie sprawdzony już Android 10 i 11. Obietnice wychodzące jednak zbyt daleko poza obecne niezwykle szybkie tempo zmian związanych z cyfryzacją procesów należy zawsze weryfikować.

W M3Mobile na podstawie historii sukcesu wieloletniej współpracy z wiodącymi w branży kurierskiej i logistycznej firmami dbamy o aktualność technologii i bezpieczeństwo inwestycji klienta na wiele sposobów, utrzymując przez lata floty nawet kilkunastu tysięcy terminali mobilnych. Jeśli chcesz dowiedzieć się więcej – porozmawiajmy.

Słownik pojęć

Release – kolejna duża aktualizacja systemu Android udostępniana użytkownikom końcowym, z poprawionymi błędami, do niedawna oznaczana literami (z rozwinięciem nazw deserów, np. Android 8 = O – Oreo, Android 9 = P – Pie; obecnie oznaczany jest tylko liczbą jak Android 10 lub Android 11). Release wprowadza często znaczne zmiany w procesach, frameworku czy funkcjonalnościach systemu, zmienia się również często interfejs użytkownika).
Platform Development Kit (PDK) – zestaw narzędzi technicznych umożliwiających budowę oprogramowania na określone platformy sprzętowe, np. sterowników, kodów źródłowych. To pojęcie węższe od SDK (Software Development Kit).
OEM – Original Equipment Manufacturer, producent urządzeń dla użytkownika końcowego, terminal mobilny, tablet, smartfon etc.
Framework – albo platforma programistyczna – szkielet do budowy aplikacji. Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań.
OTA – over the air, mechanizm instalacji aktualizacji oprogramowania bezpośrednio z plików przechowywanych na zewnętrznym serwerze najczęściej przygotowanym przez producenta urządzenia. (https://en.wikipedia.org/wiki/Over-the-air_programming)