Kowal zawinił, Cygana powiesili: polska kostka DICE+ wcale nie jest bezużyteczna

Kowal zawinił, Cygana powiesili: polska kostka DICE+ wcale nie jest bezużyteczna

Kowal zawinił, Cygana powiesili: polska kostka DICE+ wcale nie jest bezużyteczna
09.05.2016 13:28

Polską kostkę do mobilnych gier DICE+ testowaliśmydwa lata temu, przyznając temu produktowi wysoką ocenę, 4,5/5.Sprzedawany za 150 zł gadżet przez ten czas nie zmienił sięznacząco. Ot, pojawiło się nieco nowych gier, darmowych ipłatnych, które całkiem sprawnie wykorzystują ten sprzęt.Zmieniło się jednak środowisko mobilne – nowe wersje Androida iiOS-a stać się miały z DICE+ niekompatybilne, czyniąc z kostkicoś, co można użyć tylko jako ładny przycisk do papieru. Takmożna by przynajmniej sądzić po reakcjach na opublikowany kilkadni temu tekstp. Sławomira Wilka, „Polska kostka DICE+ stała siębezużyteczna”, w której autor stwierdził, że kostki nie da sięużywać na większości iPadów i nowych tabletach z Androidem. Wślad za tym poszły inne serwisy, deklarując, że DICE+ umarło, żejest tylko gratem.

Narzekania na kompatybilność DICE+ towarzyszyły gadżetowi jużod premiery. Wspomniany pan Wilk już w 2013 roku określił premierękostki „falstartem”, pisząc:jest tylko jeden minus tego przedsięwzięcia. Z listy tabletówkompatybilnych z DICE+ wyrzucono iPada 2. Dlaczego jednak ktośmiałby wyrzucić jeden z najpopularniejszych wówczas na rynkutabletów Apple'a, który sprzedał się w kilkudziesięciu milionachegzemplarzy? Autor nie potrafił tego zrozumieć – deliberował, żepominięcie iPada 2 przez twórców kostki jest więc całkowicieniezrozumiałe. Nawet jeśli na drodze stanęły problemy techniczne,należało zrobić wszystko, aby je ominąć. W informatyce nie masłowa "nie da się", tym bardziej, jeśli tworzymy takinnowacyjny produkt, jak DICE+.

Wystarczy jednak choć trochę znaćsię na technologiach mobilnych, by wiedzieć, że zarzuty stawianewtedy twórcom kostki są zupełnie bezpodstawne. iPad 2 nieobsługuje protokołu Bluetooth 4.0 Low Energy (BLE). Wsparcie dlaniego pojawiło się dopiero w iPadzie 3. Twierdzenie zaś, że winformatyce nie ma słowa „nie da się” jest już zupełnieniedorzeczne – czyżby p. Wilk oczekiwał, że autorzy prostegogadżetu wymyślą autorski protokół oszczędnej energetyczniekomunikacji radiowej, który będzie działał z jego iPadem? A możepowinni skorzystać ze zwykłego Bluetootha, robiąc w ten sposóbkostkę do gry, którą trzeba by było specjalnie parować ztabletami, która rozłączałaby się nieustannie i rozładowywałabypo kilku godzinach pracy? BT LE jako standard mobilny powstałwłaśnie specjalnie do obsługi prostych sensorów, gadżetów,które dysponują małymi zasobami energii, pracowały nad nim setkiinżynierów z dziesiątek firm. Podłączyć DICE+ do iPada 2 poprostu się nie da, tak samo, jak nie da się podłączyć do iPada 2praktycznie żadnej opaski fitness.

DICE+ działało jednak dobrze nanowocześniejszych urządzeniach z iOS-em, aż do wydania wersji 9.mobilnego systemu Apple'a. Firma z Cupertino, kompletnie się nietroszcząc o kompatybilność z wcześniej wydanym sprzętem,wprowadziła kilka zmian do swoich interfejsów programowaniaobsługujących BLE. Efekt? „Posypała się” zdecydowanawiększość aplikacji obsługujących BLE, w tym także aplikacjaBoard Games!, służąca do zarządzania kostką i grami dla niej.Można powiedzieć, że przecież producent kostki mógł poprawićswoją aplikację, iOS9 był przecież po to właśnie udostępnianyprzez wiele miesięcy wcześniej deweloperom – tyle sprawa jestnieco bardziej skomplikowana.

Problem z iPadami wynika z porzuceniadwóch metod w iOS-ie 9. Z oficjalnego API wyleciały*retrievePeripherals: i retrieveConnectedPeripherals:.Zastąpiły je metody retrievePeripheralsWithIdentifiers: orazretrieveConnectedPeripheralsWithServices:. Już w iOS-ie 8starsze metody zostały uznane za przestarzałe (deprecated), wciążjednak działały. W iOS-ie 9 ich wywołanie powodowało awarięaplikacji przy starcie lub podczas łączenia z urządzeniem. Sęk jednak w tym, że to samo Apple zalecało stosowanie wspomnianychmetod w swoich poradnikach dobrych praktyk dla programistów – ijeśli ktoś nie zapoznał się dokładnie z nowymi API, to miałproblem. Awarie dotknęły więc dziesiątki aplikacji, nie tylkoDICE+, ale i znacznie większych producentów, jak choćby Garmina.

Świat gier tabletowych nie kończy sięjednak na iPadzie. Zdaniem p. Wilka, problemy występują także naAndroidzie. Twierdzi: otóż po włączeniu aplikacji pojawia siękrótki filmik, po czym aplikacja nagle wyłącza się i następujepowrót do pulpitu. Sprawdzone na urządzeniach z systemem iOS iAndroid, winą obarczając nieaktualną aplikację – (…)podobnie z wersją na Androida, która ostatni raz byłaaktualizowana w listopadzie 2013 roku, czyli dwa miesiące popojawieniu się kostki w sprzedaży. Tymczasem dziś wsprzedaży są tablety z systemem w wersji 5, a pojawiła się juższóstka*.

Aplikacja DICE+ na tablecie NVIDIA SHIELD (Android 5.1.1) nie ma problemów z działaniem
Aplikacja DICE+ na tablecie NVIDIA SHIELD (Android 5.1.1) nie ma problemów z działaniem

Na google'owym systemie mobilnymtymczasem żadnych radykalnych zmian w API związanym z BluetoothemLE nie wprowadzano. Aplikacje, które działały na Androidzie 4.4,działały też na Androidze 5.x i 6.x. Problem jest w czymś innym –wiele sprzętowych implementacji BLE w niektórych czipsetach byłonie do końca zgodnych ze standardem. Po prostu DICE+ nie będziedziałała z każdym androidowym tabletem – i to już nie z winyproducenta. Podobne problemy występują z innymi gadżetami. NawetIntel sobie nie potrafił z tym poradzić, jego smartzegarek BASISPeak łączy się jedynie z tymi bardziej znanymi urządzeniami.

Mieliśmy okazję sprawdzić więc owąrzekomą niekompatybilność DICE+. Aplikacja Board Games! uruchamiasię bez żadnego problemu na tablecie NVIDIA Shield z Androidem5.1.1 oraz na smartfonie Elephone P9000, z Androidem 6.0. Gdzie taniekompatybilność? Ano tylko w sprzęcie. Zresztą sam producentkostki nie ukrywa, że gadżet jest zgodny jedynie z wybranymiurządzeniami. Listę kompatybilnych tabletów publikuje na swojejstronie.

Po publikacji p. Wilka i całej aferze,producent wziął się za przepraszanie klientów, pisząc:

Szczerze przepraszamy za zaistniałąsytuację. Proces aktualizacji wymagał od nas przepisania wszystkichbibliotek, obsługujących kostkę oraz na nowo zaimplementowania ichwe wszystkich naszych grach. Niestety, zadanie trochę nas przerosło,kończymy jednak proces submisji i nasze gry będą dostępne wprzyszłym tygodniu w AppStore. W przypadku Androida 5.x oraz 6.x niejesteśmy kompatybilni że wszystkimi urządzeniami ale pracujemy nadtym. Obiecujemy poprawę i prosimy, nie skreślajcie nas jeszcze –ostatnie miesiące ciężko pracowaliśmy, by naprawić błędy.

Oczywiście zmiany nie sprawią, żeDICE+ zacznie działać na iPadzie 2. Warto się jednak tutajzastanowić nad polityką Apple'a, a nie krytykować małegoproducenta. Wzorem może być Microsoft, gwarantujący na całedługie lata stabilność swoich systemowych interfejsów. Aplikacjana Windows napisana 20 lat temu nawet dziś powinna dać sięuruchomić bez przepisywania na najnowszych wersjach systemu – ijeśli ktoś stosował dobre praktyki win32, to zwykle tak jest. Wwypadku Apple wystarczą zaś dwa lata, by porzucić wcześniejoficjalnie zalecane metody.

Na samym końcu warto zastanowić sięnad jedną rzeczą. A co, jeśli producent DICE+ by upadł, a nabywcykostki pozostali po prostu z urządzeniem i kilkunastoma całkiemfajnymi grami, które nagle przestały działać? Kto wówczas miałbyzapewnić działanie gadżetu? Czy media oskarżyłyby wtedy Apple,że zepsuło działanie gadżetów Bluetooth Low Energy? Przecieżnaczelnym obowiązkiem producenta systemu operacyjnego jest tworzyćstabilne i przewidywalne środowisko dla niezależnych twórcówaplikacji, a nie eksperymentować z wrażliwymi API, psując to codziałało dobrze dla kaprysu.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (43)