Kategorie
Bez kategorii

Małe jest… górą!

Jak myślicie – kto będzie zwycięzcą na globalnym ringu (rynku) komputerowym za rok, dwa, trzy? Według International Data Company (badanie Worldwide Tablet Tracker, 28.05.2013) numerem jeden staną się… Małe i tanie tablety. W bieżącym roku sprzedaż tych urządzeń (przekątna ekranu poniżej 8 cali) przekroczy (w sztukach) sprzedaż komputerów przenośnych, a za dwa lata (2015) pobije na głowę sprzedaż wszystkich komputerów PC.

Sprzedaż tabletów w 2013 roku ma wzrosnąć o prawie 59% (rok-do-roku) i osiągnie niemal 230 mln sztuk (w 2012 roku „zaledwie” 144 miliony). O ile jeszcze dwa lata temu najchętniej kupowane były duże tablety (8-11 cali – 73%), to już obecnie sprzedaż „maleństw” stanowić będzie ponad połowę (55%). Za cztery lata sytuacja niewiele się zmieni (przynajmniej według prognoz IDC) i tablety o przekątnej poniżej 8 cali zajmą 57% rynku tych urządzeń (w sztukach).

Jak będzie naprawdę – poczekamy, zobaczymy. Jednak dość oczywiste jest, że na wielkich rynkach „wschodzących”, czyli w Chinach, Indiach, Brazylii, popularne będą tanie urządzenia – po prostu małe tablety, które dadzą użytkownikom podstawowe funkcjonalności przy przeciętnej wygodzie pracy i zabawy.

tablety1

Podział rynku tabletów w latach 2011-2017 według IDC
Kategorie
Bez kategorii

Czym pisać i w jakim języku?

Trochę się naszukałem, a może i „przeszukałem„, w sieci. Czego szukałem? Narzędzia, środowiska programistycznego, kompilatora i… W skrócie to szukałem „czegoś„, co by mi się spodobało i było wygodne do pisania aplikacji dla Androida. Szczególnie aplikacji multimedialnych, aplikacji graficznych, gierek. Oczywiście – profesjonaliści piszą w Javie pod Eclipse-m (a prawdziwi twardziele to chyba kompilują projekt z linii poleceń za pomocą batch-y). No może ten trend się zmieni, gdyż w połowie maja ’13 Google opublikowało Android Studio – nowe środowisko do tworzenia aplikacji – też w języku Java. Android Studio to połączenie SDK (bibliotek) ze środowiskiem IntelliJ IDEA. Jest to wersja testowa (early access preview) i jako taka ma prawo mieć swoje narowy. Ja czym prędzej (już 16. maja) ściągnąłem instalator i uruchomiłem Studio… Hm… Z wyglądu o wiele prostsze od Eclipse’a (cóż może być bardziej skomplikowane?). Ale w działaniu to Studio jest jeszcze w fazie bardzo „preview”. Błyskawicznie rozprawiło się z zasobami Windows i zamknięcie programu było możliwe dopiero po dłuższej gimnastyce z menedżerem aplikacji. Jeszcze poczekajmy, co się w wygugla z tego Studia.

W każdym bądź razie mam za sobą kilka eksperymentów „językowośrodowiskowych” zakończonych niepowodzeniem. Najpierw umordowałem się z HTML5. Nie tędy droga dla aplikacji, które z grafiki korzystają w sposób dynamiczny – przynajmniej dopóki ktoś nie wymyśli szybszych przeglądarek internetowych. Może w Firefox OS to będzie sprawniej działać, ale nie pod Androidem. Zwłaszcza gdy tablet lub smartfon jest, jakby to delikatnie ująć, o już mam – z niższej półki. Może będzie śmigać, gdy odpalimy aplikację w HTML-u na tabliczce z czterordzeniowym prockiem i solidną kartą graficzną… Może i będzie, ale ile osób zdąży się zniechęcić nie mając tak wypasionego sprzętu.

Pierwszy nie Javowy i nie html-owy programik napisałem w… Basic-u. Jednak RFO-Basic okazał się niewygodny z dwóch powodów:

  • bardzo proste środowisko działa tylko pod Androidem (chociaż program do tworzenia aplikacji z kodu w basic-u jest przygotowany pod Windows), a na tablecie nie daje się efektywnie pisać kodu;
  • oprogramowanie ma wirusową licencję GPL i każda aplikacja (zawiera w sobie interpreter RFO-Basica) musi być otwarta dla użytkowników (o ile w przypadku demek to nie ma znaczenia, jednak komercyjne zastosowania są wykluczone).

Szukałem zatem dalej i dalej. W świecie PC jestem praktykiem programowania w Delphi. Mam jeszcze krążek z wersją 3.0. W takiej jednej instytucji, w której zdarzyło mi się ostatnio pracować, programujemy w Delphi 2007 (zaczęliśmy właśnie A.D. 2007)… Ale jest jeszcze Lazarus – open source’owe środowisko „delfiopodobne” dla kompilatora FreePascal (z którego nota bene firma CodeGear, obecny właściciel marki Delphi, korzysta przy kompilacji dla MacOS-a). Właśnie dla tego środowiska przygotowany został kompilator FPC (na razie wersja testowa) pozwalający kompilować aplikacje dla Androida w oparciu o NDK i jni (dla grafiki). Przeczytałem, ściągnąłem, skonfigurowałem, skompilowałem, przetestowałem i zapomniałem. Aplikacje nie są „produkowane” stabilnie – działają „czasem tak, czasem siak„. Tak, jak wspomniane wcześniej Android Studio – poczekam aż dojrzeje. Wtedy „egoistycznie” zerwę i spróbuję… Może wcześniej firma CodeGear opublikuje nowe Delphi z serii XE (obecnie jest czwórka na topie), dla którego zrealizowane będą obietnice (wygłaszane już od trzech lat) włączenia do środowiska RAD interfejsu do tworzenia aplikacji androidowych.

Żeby wyczerpać „do cna” temat basic-a, to miałem jeszcze epizod z trial-em Basic4Android. Zainstalowałem środowisko, coś tam popraktykowałem… Na pierwszy rzut oka wyglądało to na translator basic -> java. Struktura aplikacji w basic-u analogiczna jak w Eclipsie. Trial produkował projekt właśnie dla Eclipsa. Nie było automatycznego build-owania do formatu APK. Ponieważ dla mnie liczy się pierwsze wrażenie – więcej tego trial-a nie uruchomiłem. I w tym przypadku nie będę czekał – zapominam! Nie dam nawet linku, a co!

Zwiedziłem sporo stron internetowych wyszukanych pod kątem hasła „game engine„. Jak ktoś chce pójść moimi śladami, to uprzejmie informuję: jest strona na anglojęzycznej Wikipedii poświęcona temu hasłu i znajduje się na niej sporo wartościowych odnośników. Ze sporego zbioru wziętych pod uwagę i aktywnych „game engine’ów” szybko eliminowałem takie, które opierają się na HTML5 i tylko oferują „przepakowanie” kodu javascript-owego w opakowanie dla Androida lub iOS-a. Chwilę zatrzymałem się przy Blenderze i jego dwóch „growych silnikach„: Game Engine i Game Development Kit. Pierwszy jest publikowany na licencji GPL i wymaga udostępniania źródłowego kodu aplikacji (ponadto z opinii – jest dość wolny), a drugi engine jest jeszcze w fazie eksperymentalnej i nie udało mi się zbudować na jego podstawie nawet demonstracyjnej aplikacyjki.

Już, już byłem niebezpiecznie blisko kapitulacji. Tak sobie myślałem – może „przełamać się” i zagłębić w Javę – wszak już kiedyś popełniłem jakieś mniej lub bardziej rozbudowane applety w tym języku, które miały po kilka tysięcy linii kodu. A może zainwestować w Unity lub Unreal Development Kit? Jednak wersje tych silników oferowane „za free” nie zyskały w moich oczach uznania (np. takie zdanie ze strony producenta „Please also be aware that the feature set of the free version is not intended for the production of professional games and interactive content„). A cena komercyjnych „modeli” przekraczała moje możliwości. To może po prostu porzucić mobilne programowanie i zająć się znanymi, okienkowymi problemami?

Jednak upór zwyciężył i nie skapitulowałem. Przypomniałem sobie, a także trochę podpowiedziała mi moja Nieoceniona Córka, że istniej taki język co się nazywa Lua. Kiedyś natrafiłem na Luę, gdy próbowałem pisać oprogramowanie dla 3Com-owskich Palm-ów – zatem temat nie był mi obcy. Na rynku mamy sporo game engine’ów wykorzystujących ten język. Ponoć najpopularniejsza aplikacja świata (Angry Birds) została napisana właśnie w tym języku (silnik o nazwie Moscrif, o ile mnie pamięć nie myli). Znalazłem w sieci kilka silników do pisania w języku Lua, które mają swoje w pełni funkcjonalne darmowe wersje. Zacząłem od Gideros-a, ściągnąłem też i zainstalowałem SDK CoronaLabs ( w wersji starter), chwilę się zatrzymałem nad środowiskiem o wdzięcznej nazwie Marmalade, a także nad Moai. Trochę więcej czasu „badałem” w pełni open-source’owe (licencja zlib) Love. Wspomnianego wcześniej Moscrif-a też „spróbowałem” ale wersja free/trial była wyjątkowa – uniemożliwiała stworzenie funkcjonalnej aplikacji. Z tej wycieczki po game engine’ach dla programujących w języku Lua zwycięsko wyszły: Gideros i Corona.

W międzyczasie zwróciłem uwagę na innowacyjny projekt MIT AppInventor. Nawet trochę w nim zaprogramowałem (rysowanie palcem po śladzie, a także nową wersję układanki 4×4 tzw. 15-puzzle). Jednak wydajność kodu tworzonego przez AppInventor-a jest wysoce niezadowalająca. W mojej ocenie szybkość działania graficznych aplikacji jest porównywalna (a może i gorsza) niż podobnych aplikacji napisanych w HTML5. Ale AppInventor to, w mojej ocenie, całkiem przydatne narzędzie do tworzenia szkieletów aplikacji, które trzeba czasem pokazać w formie wczesnego prototypu. Łatwo się projektuje przejścia pomiędzy ekranami, łatwo się ustawia komponenty i definiuje logikę. Jeszcze będę się zastanawiał, jak wykorzystać to narzędzie. Może jako centrum do uruchamiania innych apk-ów? A może do aplikacji, w których nie trzeba stosować ruchomej grafiki? Zobaczymy…

Od kilku lat korzystam ze strony, na której autor zbiera multum informacji o darmowych narzędziach programistycznych. Na tej stronie znalazłem kiedyś odnośnik do środowiska zwanego Processing. Przypomniałem sobie o nim i zajrzałem niedawno ponownie pod ten adres. Okazuje się, że Processing posiada w pełni funkcjonalny interfejs dla Androida – tworzone są projekty przygotowane do „buildowana” pod Eclipse’m. W dodatku aplikacje graficzne tworzone w tym języku – właściwie nie jest to nowy język lecz Java opakowana super wygodnymi bibliotekami – są uniwersalne tzn. działają pod Windows, Mac OS-em, Linux-em (jako aplikacje Javy) oraz Androidem (też jako standardowe apk-i zbudowane przez Eclipse). Można też wyeksportować projekt jako aplikację javascript-ową – HTML5. Jak na razie sprawdziłem Androida i Windows (full screen i okienko). Działa.

Na Processing-u zakończyłem obecną fazę poszukiwań i rozpocząłem fazę produkcyjną. Najpierw przygotowałem pięć aplikacyjek realizujących tę samą funkcję – przesuwanie bitmapy palcem po ekranie. Mam tablet (właściwie „tablecik”) siedmiocalowy, kupiony w hipermarkecie za circa 270 PLN (i to już jakiś czas temu). Jego wydajność jest… Nie do końca zadowalająca – chyba jedną z najniższych wśród mobilnych urządzeń na rynku. I dlatego doskonale nadaje się do wszelakich testów – różnicuje wyśmienicie efektywność aplikacji. Ponadto mam Samsunga Galaxy Mini (S5570), który też do demonów szybkości nie należy (procesor 600 MHz, nie za dużo pamięci, ekranik o nietypowych wymiarach). Warsztat sprzętowy w sam raz do oceny „silników„.

Pod względem wydajności (przynajmniej graficznej 2D) „silniki” można podzielić na dwie rodziny:

  • wydajną (oparte na Lua, czyli Gideros i Corona, a także oparty na Javie – Processing);
  • niewydajną (HTML5 i AppInventor).

Różnice są wprost wyczuwalne „pod palcami” – raz obrazki przesuwają się płynnie, raz nie. Raz ruch bitmapy lepiej nadąża za ruchem palca, raz gorzej.

Porównajmy jeszcze wielkości zbudowanych plików apk (w przypadku HTML5 – strony internetowej). Największe apk-i tworzone są przez Coronę. Prosta aplikacja to ponad 4 MB. Coronie dorównuje Gideros – ta sama funkcjonalność i… prawie 3 MB. AppInventor zamyka się w 1,3 MB, a najoszczędniejszy plik apk powstaje dla „silnika” Processing – zaledwie 300 kB. Dla porównania – strona www (HTML5) to niecałe 30 kB, z czego przytłaczającą większość zajmuje grafika. Ale trzeba pamiętać, że taka sama strona „opakowana” w projekt Eclipse’a to już kilkaset kilobajtów.

Inne są też ścieżki prowadzące do instalacyjnych plików apk. Corona i AppInventor pracują w trybie kompilacji w „chmurze„. Użytkownik otrzymuje zbudowaną na zdalnym serwerze aplikację, po tym jak kod programu został wysłany „w świat„. Gideros i Processing przygotowują projekt do zbudowania w Eclipsie. Obydwa modele mają swoje wady i zalety. Kompilacja/budowanie w „chmurze” uwalnia programistę od utrzymywania środowiska – dbania o aktualizacje, konfigurowania, ściągania wielosetmegowych paczek etc. Własna kompilacja pozwala (przynajmniej w teorii) na modyfikowanie wszystkiego w aplikacji np. można w prosty sposób wymieniać ikonki, grafiki, zasoby, modyfikować plik manifestu. A ponadto – nie wysyła się kodu „w świat„.

Poniżej zamieszczam odnośniki do testowych „aplikacyjek” – należy pamiętać aby uaktywnić opcję instalowania z nieznanych źródeł.

  1. Aplikacja napisana w Gideros Mobile.
  2. Aplikacja napisana w Corona Labs.
  3. Aplikacja napisana w Processing.
  4. Aplikacja napisana w AppInventor.
  5. Aplikacja (stroniczka) w HTML5.

Aha! Na koniec warto wspomnieć, że darmowa wersja Gideros-a wyświetla przy starcie aplikacji ekran „Made with Gideros”. Aplikacja przygotowana w środowisku Corona ma problemy z uruchomieniem na smartfonie z Androidem 2.3. Na tablecie i smartfonie z Androidem 4 działa bez problemów.

Kategorie
Bez kategorii

Android – jest nas 900 milionów

Dwa lata temu firma Google ogłosiła androidowy jubileusz – 100 milionów aktywacji tego mobilnego systemu operacyjnego. Rok temu liczba aktywacji przekroczyła oczekiwania – Google pochwaliło się aż 400 milionami aktywacji, a dzisiaj (drugi kwartał 2013)? Obecnie liczba aktywacji systemu Android przekroczyła kolejną barierę – 900 milionów. Miliard już niedługo… Przyrost aktywacji jest szybszy niż prosty liniowy wzrost.

Jeszcze bardziej imponująco prezentuje się liczba pobranych aplikacji z Google Play (wcześniej AppStore). Według oficjalnych danych Google’a użytkownicy mobilnych urządzeń pobrali ponad 48 miliardów aplikacji. Statystycznie każdy Android pobrał sobie ponad 50 aplikacji – i to tylko z oficjalnego serwisu z aplikacjami. Szkoda, że Google nie podaje podziału na darmowe i płatne apk-i. Jedyną informacją finansową, podaną przez oficjalnych przedstawicieli firmy, jest 2,5-krotny wzrost przychodów na jednego użytkownika w porównaniu do roku ubiegłego.

Kategorie
Bez kategorii

Pierwszy kwartał 2013 – Android „miażdży” konkurencję

Według nowego raportu firmy badawczej Canalyst, system Android zdominował rynek urządzeń mobilnych. Raport objął nie tylko smartfony i tablety (gdzie Android już dawno temu wygrał), lecz również notebooki! Dostawy całej grupy urządzeń w pierwszym kwartale 2013 przekroczyły 308 milionów sztuk – wzrost o ponad 37% rok-do-roku. Analitycy podają także „najsilniejszego” wzrostowo gracza w tym segmencie – jest nim tablet, wyrastający na prawdziwego „konia pociągowego” segmentu mobility (choć niektórzy wieszczą mu krótką przyszłość). Rynek wchłonął w pierwszym kwartale 2013 prawie 42 miliony sztuk „tabliczek”, co oznacza ponad 100% wzrost r-d-r.

Podsumowując – wśród systemów operacyjnych dla smartfonów, tabletów i notebooków, numerem 1 jest… Android. Z udziałem prawie 60% nie da się łatwo wysadzić z siodła. Drugie i trzecie miejsce (prawie łeb w łeb) zajmują systemy Apple i Microsoftu. Ciekawe, czy któremukolwiek z nowych graczy (Firefox OS, Chrome OS czy Linux for mobile) uda się zmienić istniejącą konfigurację rynkową?

q12013aPodział rynku systemów operacyjnych dla urządzeń mobilnych (w tym notebooków) w I kwartale 2013

Podział rynku mobility według producentów staje się „nudny”. Jak można było oczekiwać, Samsung zajmuje najwyższe miejsce na podium, Apple drugie, a Lenovo (czołowy producent notebooków PC) trzecie. Rynek widziany przez pryzmat producentów jest podzielony i istniejące linie demarkacyjne będzie trudno komukolwiek przełamać. Chociaż z drugiej strony to dywersyfikacja jest tutaj dużo większa niż w przypadku systemów operacyjnych, a także obszar zagospodarowany przez „pozostałych” dostawców stanowi dominującą część tortu. Może nastąpi fuzja producentów notebooków (np. Acera z Asus-em, albo MSI?), która choć trochę wstrząśnie rynkiem.

q12013bPodział rynku mobility według producentów sprzętu w I kwartale 2013
Kategorie
Bez kategorii

Czy jesteśmy „okiennikami”?

Według informacji przekazanych przez Microsoft, Polska jest jednym z siedmiu krajów, w których sprzedaż smartfonów z systemem Windows przewyższa sprzedaż apple’owskich iPhonów. Zgodnie z danymi IDC telefony z Windows-ami stanowią 12% naszego rynku mobility. Z tą wielkością polemizuje Microsoft – według Redmont liczba ta przekracza 16%. Summa summarum zarówno 12 jak i 16% to więcej niż 4%, które przypada urządzeniom z systemem iOS w Polsce (dane IDC). Skąd taka wielka różnica – przecież w skali świata Apple zajmuje ok. 19% rynku smartfonów? Odpowiedź jest oczywista – polityka cenowa. Jesteśmy krajem hm… ubogim? Krajem hm… ludzi wrażliwych na cenę (to brzmi lepiej). Jeśli operatorzy GSM nie są w stanie sprzedawać telefonów z logo przedstawiającym nadgryzione jabłko, za przysłowiową złotówkę, to takie telefony sprzedają się słabiutko.

A jak wyjaśnić stosunkowo wysoką pozycję Nokii na nadwiślańskim rynku? Wynika to chyba z zaszłości historycznych. Nokia jest w Polsce postrzegana od dawna jako symbol skandynawskiej jakości. O tę jakość Samsung musiał walczyć długo – gdyż sporo osób pamięta jak w latach 80. Samsung był postrzegany jako początkująca koreańska marka, której jakość pozostawiała (lub wszyscy mieli wrażenie, że pozostawia) sporo do życzenia. Jednak sama Polska nie uratuje Nokii, legendy rynku telefonii komórkowej, której akcje ostatnio spadły o ponad 12% – na wiadomość o spadku sprzedaży o 20%. Polacy jednak kochają „okienka” – w microsoftowym sklepie z aplikacjami mobilnymi krajowe produkcje zajmują wysokie trzecie miejsce (ok. 6000 z ponad 100 000 aplikacji).

plmarket2012

Podział polskiego rynku smartfonów w 2012 roku (IDC/Microsoft)
Kategorie
Bez kategorii

Pattern Draw – rysowanie palcem po śladzie

Kilkanaście tygodni temu przyrządziłem MaxPainta – prostego apk-a dla Maksa, aby mógł sobie pomazać palcem po tablecie. MaxPaint został napisany w rfo-basic-u, który jest prostym interpreterem działającym bezpośrednio na Androidzie i nie ma swojego odpowiednika windowsowego. Jest do niego na Windows fajne narzędzie do budowania gotowych plików APK, które ochoczo wykorzystałem.

Jednak pisanie aplikacji na tablecie nie jest… Hm… W najmniejszym stopniu ergonomiczne (jest po prostu cholernie niewygodne). Pisanie w notepadzie (++) i przenoszenie na tablet w celu testowania – do kitu… Szukałem zatem innego rozwiązania, które uwolniłoby mnie od kodowania w Javie (choć i tego summa summarum pewnie nie uniknę, gdy trzeba będzie zrobić coś wyrafinowanego). Na jakimś forum znalazłem komentarz odnoszący się do systemu tworzenia aplikacji androidowych online w MIT. Zajrzałem na strony App Inventora i… Zrobiłem modyfikację poprzedniej aplikacji – Pattern Draw, służącą do rysowania palcem po śladzie.

Pierwszy wieczór poświęciłem na obejrzenie przykładowej aplikacyjki – PaintPot – służącej do tego samego co MaxPaint, czyli do mazania (w odmienny nieco sposób) palcem po ekranie. Drugi wieczór „poszedł” na przygotowanie PatternDraw, który można stąd pobrać. Jest to dopiero prototyp, ale już działający! Powstał bez napisania żadnej linii kodu. Jestem sam zaskoczony, co opracowano w MIT – App Inventor daje dostęp do wielu funkcji Androida (też np. na czytanie tekstu i to po polsku), a pisanie aplikacji polega na montowaniu z klocków.

AppInventor

Tak wygląda applet Javy służący do przygotowania kodu aplikacji w MIT App Inventor

 

Kategorie
Bez kategorii

Niedoceniane tabliczki

Nikt się nie spodziewał tak dobrych wyników sprzedaży tabletów w Polsce. W ostatnim kwartale ubiegłego (2012) roku tradycyjnie miała miejsce hossa zakupowa, jednak w segmencie „tabliczek” wyniki przeszły najśmielsze oczekiwania. Według danych zgromadzonych przez IDC sprzedano wtedy około 450 tys. sztuk tych urządzeń. Co ciekawsze – zmienia się też nastawienie firm analitycznych do tej technologii. Jeszcze 12 miesięcy temu prognozy na 2012 rok nie dawały mobilnym urządzeniom wielkich szans. Sprzedaż na poziomie 270 tys. sztuk – tak wyrokowano…

niedoceniane

Sprzedaż rzeczywista i prognozy sprzedaży tabletów (w tys. sztuk) na rynku polskim (2010-2012)

I cóż z tych wyroczni zostało? Nawet po modyfikacjach „w trakcie jazdy”, gdy w połowie 2012 roku było już wiadome, że sprzedaż będzie lepsza niż oczekiwano, kolejne werdykty nie przekraczały granicy 1/2 miliona sztuk. A fakty mówią same za siebie – jak się do ostatniej prognozy (ok. 475 tys.) doda faktyczną sprzedaż w IV kwartale 2012 (450 tys.) to otrzymamy wielkość zbliżoną do prawdziwej wartości – czyli 880 tysięcy sztuk.

Tablety już za chwilę, bo w bieżącym (2013) roku, przegonią pod względem ilościowym sprzedaż komputerów typu desktop, a za 2-3 lata „dopadną” i segment notebooków. Czym jednak wtedy będzie tablet? Czterordzeniowy procesor, GPU z 64 jednostkami, modem LTE 100 Mbit/s, filmy full HD. Czy komukolwiek będzie brakować przycisku „Start”?

Kategorie
Bez kategorii

Za oceanem Android wygrywa, Windows przegrywa…

Badanie wykonane wśród użytkowników smartfonów w USA (osoby w wieku od 13 lat wzwyż, badanie MobiLens firmy comScore) wykazało, że liderem systemów operacyjnych jest Android. W dodatku udział rynkowy systemu ze stajni Google cały czas rośnie. Rośnie także udział apple’owskiego iOS-a. Wyraźny regres przeżywa mobilny Windows i to pomimo silnej promocji Windows 8 pod koniec ubiegłego roku (badanie objęło początek i koniec IV kwartału 2012). Przegranym jest też BlackBerry – zobaczymy czy wielkie halo, związane z promocją systemu BlackBerry 10 (system oparty o wiekowy unix/linux QNX) i zmianą nazwy firmy z Research in Motion na BlackBerry, coś tutaj pomoże. Poza tymi czterema graczami na rynku amerykańskim już praktycznie nic się nie liczy. Ciekawe, czy w przyszłości da się zauważyć mobilny Linux – wszak już opublikowano taką wersję Debiana.

graf1

Podział rynku systemów operacyjnych dla smartfonów w USA
Kategorie
Bez kategorii

MaxPaint – mazanie palcem dla Maksymiliana

Od jakiegoś (dość długiego) czasu chodził za mną pomysł na prościutką aplikacyjkę, która pozwoliła by Maksowi (Maks ma 7 lat – tu jest o Nim więcej) rysować palcem po tablecie. Skoro, jak wcześniej pisałem, jestem entuzjastą HTML-a 5 to i dość szybko przyrządziłem kod javascriptowy, który pozwala na mazanie palcem (także myszką) po elemencie Canvas – kod jest dostępny tutaj. Jest to aplikacyjka HTML-owa z obsługą dotyku i wyłączoną obsługą myszki – zatem będzie działać tylko na tabletach i smartfonach, ale można ją bez problemu zmienić tak, aby funkcjonowała na PeCecie. Otworzyłem ten link na domowym tablecie i… Porażka.

Mazanie palcem działa. Tylko szybkość działania jest, oględnie pisząc, fatalna. Nie wiem jak by działało na jakimś „wypasionym” urządzeniu, ale na tanim androidowym tablecie 7″ zachowuje się „wołowato”. Sprawdziłem jak funkcjonuje Autodesk-owy SketchBook (na tym samym tablecie) i… Nie ma porównania. HTML 5 sucks! Przynajmniej w takim zastosowaniu. Trudno – trzeba będzie wrócić i przeprosić się z Javą.

Jednak przypomniałem sobie, że już kilka miesięcy temu ściągnąłem na Androida interpreter Basic-a – RFO Basic. Ten program pozwala pisać i uruchamiać aplikacje wprost na urządzeniu androidowym – ale to nie wszystkie jego możliwości. Autor udostępnia projekt w Eclips-ie dla swojego interpretera, a także instruuje jak na bazie napisanego przez programistę kodu w Basic-u przygotować pełnoprawnego APK-a. Jest także PeCetowa aplikacja RFO-BASIC! Android’s AppBuilder, która „sama” wykrywa Android SDK, pobiera projekt RFO Basic-a, analizuje kod źródłowy apk-a (w Basic-u) i kompiluje pełnoprawny, androidowy program.

Przypomniałem sobie swoje dokonania w Basic-u… Dawno to było, ale ten język jest na tyle prosty, że wystarczyły dwa wieczory aby przygotować aplikację MaxPaint. Muszę przyznać, że nie udało mi się za pierwszym razem osiągnąć zadowalającej szybkości działania. Pierwsza apk-a działała znacząco szybciej niż HTML 5, jednak do SketchBook-a trochę brakowało. Nie załamałem się jednak – przeanalizowałem sposób wyświetlania grafiki w systemie Android (Display List i okolice) i usprawniłem kod. Na początku przyjąłem proste, w efekcie błędne, założenie że aplikacja będzie działała dodając kolejne rysowane elementy (punkty i odcinki) do systemowej listy wyświetlania (Display List). O ile na początku tworzenia „rysunku” program pracował płynnie, to po chwili wyraźnie spowalniał. Ponadto segmenty linii stawały się coraz dłuższe i tym samym rysunek stawał się „kanciasty”.

Nie załamałem sie i zmieniłem front. Wszystkie operacje rysowania wykonuję na wirtualnej bitmapie, która jako jedyna znajduje się na liście wyświetlania (na może jedyna poza stałymi elementami aplikacji tj. paletą kolorów). Bitmapa ma wymiary ekranu i każdy dotyk powoduje stworzenie punktu lub linii. Odświeżenie ekranu jest błyskawiczne i przebiega bez żadnych „mrugnięć”. A szybkość? Praktycznie odtworzyłem szybkość pracy aplikacji renomowanego Autodesku-u. Uznaję że osiągnąłem cel, a przynajmniej pierwszy kamień milowy – teraz będę pracował nad nowymi funkcjami MaxPaint-a.

Aplikacja dla Androida 4.0 (lub nowszego) jest do pobrania „za free” – tutaj.

A tak z MaxPainta korzysta Maks:

mp3

Kategorie
Bez kategorii

Zainteresowanie „ruchomościami” rośnie…

W polskim internecie wyraźnie widać wzrost konsumenckiego zainteresowania technologiami mobilnymi. W 2012 roku o 120% wzrósł ruch w wyszukiwarkach cenowych w „temacie” tabletów. Na tabletowym podium też nastąpiły przetasowania. Pozycję lidera utraciło Apple – to miejsce zajął Samsung. Drugą pozycję zajęła marka Goclever, a dopiero trzecią – Apple. Tak z pierwszego rzutu okiem na tę klasyfikację, można pokusić się o dość oczywistą opinię, że polski rynek konsumencki jest bardzo, ale to bardzo, wrażliwy na cenę produktu. Apple, który oferuje dość „kosztowne” urządzenia, ma dynamikę wzrostu konsumenckiego zainteresowania o prawie 100% niższą niż cały rynek tabletowy.

Wzrost zainteresowania smartfonami nie jest już tak spektakularny. Wzrost ruchu w „temacie” smartfonów to zaledwie 20% (rok do roku 2011/2012). Liderem konsumenckiego zainteresowania jest znów Samsung. Wśród systemów operacyjnych największym wzrostem zainteresowania cieszy się Android (10% wzrostu y2y), potem iOS (8%), a dopiero na końcu Windows.