PHP w nowej wersji, czyli dlaczego moja strona nie działa?

PHP jest językiem programowania, który kryje się za 95 proc. stron internetowych i systemów współcześnie dostępnych w Internecie. Do pewnego momentu był „przezroczysty” dla użytkowników. Powstawały kolejne wersje, były aktualizowane „gdzieś tam” w czeluściach konta hostingowego, a ponieważ nowsze wersje zawsze były wstecznie kompatybilne zatem mało kto zauważał fakt aktualizacji jakiegoś enigmatycznego języka skryptowego w tle, skoro jego WordPress, Joomla, czy inny Drupal działają jak działały. Luki bezpieczeństwa, kiepska wydajność, coraz większe problemy z zabezpieczeniem serwerów przez słabe zabezpieczenia języka co najwyżej spędzały sen z powiek administratorom serwerów. Tak było do wersji 5.6 tego języka. Zespół odpowiedzialny za PHP zauważył, że zmiany są niezbędne, gdyż coraz więcej firm hostingowych i administratorów serwerów wprost odradza klientom używanie PHP. Postawiono na radykalne rozwiązania. Radykalne rozwiązania w IT często oznaczają porzucenie balastu przeszłości, a to zazwyczaj oznacza brak kompatybilności wstecznej. Tak też stało się z PHP – z powodu dużych zmian w jądrze tego języka pominięto całkowicie numerację 6 i od razu przeskoczono do wersji 7. Wprowadzono też zasadę, że każda kolejna wersja będzie wspierana tylko do pewnego momentu – w praktyce jest to ok. 2 lat – a potem stanie się wersją przestarzałą i niewspieraną. Zespół odpowiedzialny za PHP doszedł także do wniosku, iż utrzymywanie „na siłę” wstecznej kompatybilności w nieustannie zmieniającym się środowisku Internetu, gdzie nowe zagrożenia pojawiają się z dnia na dzień, nie ma żadnego uzasadnienia, w związku z czym nowe wersje niekoniecznie muszą być wstecznie kompatybilne o ile  jest to uzasadnione zwiększonym bezpieczeństwem i stabilnością. Większość właścicieli stron internetowych przeżyła nieprzyjemne zaskoczenie, gdy ich normalnie dotychczas działająca strona WWW nagle zaczęła generować dziwne błędy lub całkowicie przestała funkcjonować po którejś z kolejnych aktualizacji systemu hostingu. Powodem okazywała się zmiana wersji języka PHP z 5.6 na 7.1, a potem na 7.2 itd. aż do aktualnie kończącej wsparcie wersji 7.4. Jak wspomniano, nowe wersje PHP nie zawsze są wstecznie kompatybilne – wprawdzie w obrębie jednej gałęzi te niekompatybilności nie są znaczące, a dostosowanie kodu strony do nowej wersji PHP jest stosunkowo łatwe, niemniej jednak istnieją. Powstaje zatem konieczność stałej opieki nad stroną WWW – czy to samodzielnej, czy zleconej.

Obecnie aktualną wersją języka PHP jest wersja 8.0. Najczęściej stosowana jeszcze wersja 7.4 kończy wsparcie w grudniu 2022. Ponownie – PHP 8.0 nie jest w pełni kompatybilny wstecznie. Znacząca ilość stron i systemów udostępnionych poprzez WWW będzie wymagała prac dostosowujących – każdy właściciel takiego systemu ma do wprowadzania pozycję do kalendarza na rok 2023.

Kosztów uniknąć się nie da – albo trzeba ponieść je na dostosowanie strony lub systemu jeśli nie są kompatybilne z nową wersją PHP, albo zapłacić dostawcy usług hostingowych za możliwość dalszego używania starszej wersji języka PHP. Dostawcy usług hostingowych znaleźli bowiem w nowym modelu aktualizacji języka PHP sposób na dodatkowy zarobek. Jeśli klient nie chce lub nie ma możliwości dostosowania do nowej wersji języka PHP swojej strony WWW czy też systemu utrzymywanego na serwerach danej firmy hostingowej może opłacić „usługę udostępniania starszej wersji PHP”. Rozważania nad etyką biznesową takiego postępowania zostawmy na kiedy indziej. Fakt faktem, że aktualizacja języka programowania stojącego za istotnym elementem biznesowym lub wizerunkowym jakim jest strona WWW lub system dostępny w Internecie, do nowszej, lepiej zabezpieczonej wersji tego oprogramowania jest zawsze rozsądnym posunięciem w realiach obecnego IT.

Wsparcie Google Play dla deweloperów to fake

For the English translation please scroll the page down.


Dzisiejszy wpis będzie przeznaczony dla developerów i wydawców mających do czynienia z Google Play od strony „kuchni” – czyli konsoli Google Play. Wszyscy wiemy, że ostatnio dzieje się na tej platformie coś niedobrego, a relacje pomiędzy developerami, a Google Play są – delikatnie mówiąc – napięte. Trudno powiedzieć, czy to ze względu na braki kadrowe spowodowane pandemią, czy po prostu Google już tak urosło w pozycję monopolisty, że zaczęło ignorować podstawową zasadę jakichkolwiek relacji – wzajemny szacunek. Gorzej – zaczęło obrażać inteligencję partnerów.

Każdy deweloper wie jak trudne bywają relacje z Google Play. Ciągłe zmiany regulaminu, brak informacji z wyprzedzeniem o konieczności zmian, usuwanie aplikacji ze sklepu bez ostrzeżenia i dania możliwości dostosowania się do wymagań. Systemowy, instytucjonalny i intencjonalny brak jakiejkolwiek realnej drogi odwoławczej. I wieczne próby nieudolnego udowadniania, że wszystko zawsze jest winą dewelopera, który nie przestrzega zasad Google Play. Wszyscy przyzwyczailiśmy się do takiego stanu rzeczy – abstrahując od tego na ile jest zasadne i dlaczego pozwalamy się w ten sposób traktować – jednak takiego popisu niekompetencji jaki Google Play dało nam ostatnio nie sposób pominąć milczeniem.

W każdej komunikacji z developerami, Google twierdzi, że za ich działaniami stoją specjaliści. Tak niestety nie jest, a znakomitą większość korespondencji załatwia automat – nikt w Google nie czyta korespondencji, o czym jesteśmy przekonani. Ale na potrzeby opisu poniższej sytuacji przyjmijmy, że, zgodnie z treścią, jaką przekazuje Google w swoich komunikatach, za tym rzeczywiście stoi człowiek. A więc, jeśli tak jest drogie Google, ludzie zatrudnieni przez was jako support Google Play są na tyle skrajnie niekompetentni, że… nie potrafią poprawnie przepisać hasła w pole logowania.

Otóż ostatnio publikowaliśmy w Google Play aplikację dla jednego z samorządów. Aplikacja jest w języku polskim, dystrybuowana tylko na Polskę i wymaga aktywacji za pomocą loginu użytkownika. Podaliśmy potrzebne loginy w konsoli Google Play, aby osoby przeprowadzające sprawdzanie aplikacji przed opublikowaniem mogły ją aktywować. Dwa dni później przychodzi e-mail od Supportu Google, że aplikacja została odrzucona, gdyż podane dane są niepoprawne i nie można aktywować aplikacji. Do e-maila dołączono zrzuty ekranu mające obrazować nieudane próby aktywacji aplikacji. Pierwsza myśl – musieliśmy pomylić się wpisując dane w konsoli Google Play. Sprawdzamy – dane są poprawne. Zatem o co chodzi? Szybka analiza przesłanych przez Google zrzutów ekranu ujawniła jedno – ani razu nie wpisano poprawnie podanych loginów! Jak można aktywować aplikację, jeśli nie wpisze się poprawnego hasła? I żeby te hasła były jakieś skomplikowane… Nie, najprostsze, typowe, testowe frazy, aby nie utrudniać życia ludziom testującym aplikację. Aby nie być gołosłownym loginy brzmiały „StudentTestowy”, „InstruktorTestowy” i „InstruktorTestowyPanel”. To co wpisywał „recenzent” Google w pole logowania możecie zobaczyć na załączonych screenach – wielkie i małe litery nie miały dla niego jakiegokolwiek znaczenia… I nasze absolutnie ulubione – automatycznie przetłumaczone polskie słowo „Instruktor” na angielskie „instructor”. Hasło z pomylonymi wielkimi i małymi literami oraz z frazami przetłumaczonymi automatycznie na inny język, co zmienia w nich znaki, nie działa? To wina dewelopera! Serio? Drogie Google, powodzenia w udowadnianiu nam, że tą „recenzję” robił człowiek.

No cóż – uśmialiśmy się i skorzystaliśmy z możliwości odwołania – teoretycznie istnieje taka możliwość. Napisaliśmy grzecznie, że dane podane w konsoli Google Play są poprawne, proszę je po prostu dokładnie przepisać. Podczas wysyłania formularza odwołania jest komunikat: „Twoją sprawą zajmie się specjalista, ale musisz być cierpliwy, bo jest pandemia i nie wyrabiamy z ilością zgłoszeń”. Odpowiedź na owe odwołanie nawet nas nie zdziwiła. Cytujemy „Jak będziesz gotowy podać nam poprawne dane logowania, to to zrób”. No przecież właśnie Wam napisaliśmy, że podaliśmy poprawne dane…

Aby nie przedłużać – aplikacji w Google Play nie sprawdzają ludzie i nikt w Google nie czyta ewentualnych odwołań. Automat na podstawie powodu odrzucenia aplikacji wysyła predefiniowaną odpowiedź. Krótko rzecz ujmując, jakikolwiek support Google Play to fake.

Oczywiście możemy uznać, że nasze aplikacje są z punktu widzenia Google bezwartościowe – są bezpłatne, nie pokazują setek reklam i nie mają zakupów w aplikacji – z punktu widzenia Google Play nie przynoszą zatem zysków. Aplikacja samorządowa, opłacona z pieniędzy podatników, nie dokłada się bezpośrednio do wyniku finansowego platformy Google – to jest bezsporne. Niemniej jednak nie możemy przyjąć braku elementarnego poszanowania dla inteligencji partnerów. Tak drogie Google – developer mający dostęp do konsoli Google Play to Wasz partner, wspierający platformę swoją pracą i innowacyjnością. Chyba o tym całkowicie zapomnieliście.


Today’s post will be for developers and publishers dealing with Google Play from the „behind the scenes” – which is the Google Play console. We all know that recently something bad is happening on this platform, and the relationships between developers and Google Play is – to put it mildly – tense. It’s hard to say whether this is due to staff shortages caused by the pandemic, or simply Google has grown so much in the position of a monopolist that it began to ignore the basic principle of any relationship – mutual respect. Worse – it began to insult the intelligence of its partners.

Every developer knows how difficult the relationship with Google Play can be. Constant changes to the rules, no information in advance about the need for changes, removal of applications from the store without warning and giving the opportunity to adapt to the requirements. Systemic, institutional and intentional lack of any real way to appeal. And eternal attempts to ineptly prove that everything is always the fault of the developer who does not follow Google Play rules. We’ve all become accustomed to this state of affairs – regardless of how justified it is and why we allow ourselves to be treated this way – but the display of incompetence that Google Play has recently given us cannot be passed over in silence.

In every communication with developers, Google claims to have specialists behind their actions. Unfortunately, this is not the case, and the vast majority of correspondence is handled by an automaton – no one at Google reads correspondence, which we are convinced of. But for the purpose of describing the following situation, let’s assume that, according to the content Google communicates in its messages, there is indeed a human behind this. So, if this is the case dear Google, the people you employ as Google Play support are so extremely incompetent that…. can’t rewrite the password correctly into the login field.

Well, recently we published in Google Play an application for one of the local governments. The application is in Polish language, distributed only in Poland and requires activation with user login. We have provided the necessary logins in the Google Play console, so that people checking the application before publication could activate it. Two days later, we receive an email from Google Support saying that the application has been rejected because the data provided is incorrect and the application cannot be activated. The email is accompanied by screenshots supposed to illustrate the failed attempts to activate the app. The first thought – we must have made a mistake when entering the data in the Google Play console. We check – the data are correct. So what is it all about? A quick analysis of screenshots sent by Google revealed one thing – not once were the logins entered correctly! How can you activate the application if you do not enter the correct password? And if these passwords were somehow complicated… No, the simplest, typical, test phrases, so as not to make life difficult for people testing the application. To avoid being lip service, the logins were „StudentTestowy”, „InstruktorTestowy” and „InstruktorTestowyPanel”. You can see what the Google „reviewer” typed into the login field on the attached screenshots – uppercase and lowercase letters had no meaning for him… And our absolute favorite – automatically translated Polish word „Instruktor” into English „instructor”. Password with mixed up uppercase and lowercase letters and phrases automatically translated into another language, which changes characters in them, does not work? That’s the developer’s fault! Really? Dear Google, good luck proving to us that this „review” was done by a human.

Well – we laughed and took the opportunity to appeal – theoretically there is such a possibility. We wrote politely that the data given in the Google Play console is correct, please just transcribe it exactly. When sending the cancellation form there is a message: „Your case will be handled by a specialist, but you must be patient, because there is a pandemic and we can’t keep up with the number of requests”. The response to this appeal did not even surprise us. We quote „When you are ready to provide us with correct login details, please do so”. Well, we just wrote you that we gave you the correct data…

Conclusion – applications in Google Play are not checked by people and nobody in Google reads any appeals. Based on the reason for application rejection, the automaton sends a predefined response. In short, any Google Play support is fake.

Of course, we can consider our apps worthless from Google’s point of view – they are free, don’t show hundreds of ads and don’t have in-app purchases – so from Google Play’s point of view, they are not profitable. The local government app, paid for with taxpayers' money, does not contribute directly to the bottom line of Google’s platform – this is indisputable. Nevertheless, we cannot accept the lack of elementary respect for the intelligence of partners. Yes dear Google – a developer who has access to the Google Play console is your partner, supporting the platform with their work and innovation. You seem to have completely forgotten this.

Tabliczka mnożenia z Enterkiem Windows Edition

Pamiętacie jeszcze tego jegomościa w fikuśnym wdzianku? Ma na imię Enterek i stara się uczyć dzieciaki tabliczki mnożenia. Dotychczas robił to na telefonach z Androidem i iOS, a teraz przeniósł się na komputery z systemem Windows 10.

Pandemia i nauka zdalna postawiła wyzwania nie tylko przed dorosłymi, ale także przed dziećmi. Pociechy, czy tego chcą, czy nie, spędzają kilka godzin dziennie przed komputerami – również te z najmłodszych klas. Jedną z najbardziej uciążliwych szkolnych czynności w najmłodszych klasach niewątpliwie jest nauka tabliczki mnożenia – powiedzmy sobie szczerze, zapamiętywanie „fascynujących” rzędów cyferek z tabelki na kartce, czy z tzw. tuby Pitagorasa nie nalezy do ekscytujących czynności. Tabliczka mnożenia z Enterkiem stara się złamać ten utarty schemat „nudy” – to aplikacja skierowana głównie do uczniów klas I-III szkoły podstawowej, wspomagająca naukę tabliczki mnożenia, zgodna z programem nauczania Ministerstwa Edukacji Narodowej realizowanym w szkołach. Przewodnikiem dziecka w aplikacji jest sympatyczna, animowana postać Enterek, który stopniowo wprowadza najmłodszych w świat tabliczki mnożenia za pomocą interaktywnych gier i zabaw, odpowiednio zachęcając i motywując dzieci do podejmowania prób nauki.

System motywacyjny oferujący najmłodszym nagrody, odznaczenia, gry i rozmaite niespodzianki za naukę został przygotowany pod kontrolą doświadczonych pedagogów, w poszanowaniu dziecięcej psychologii. Opracowano go na podstawie obserwacji nauczycieli wychowania wczesnoszkolnego i z uwzględnieniem sugestii rodziców dzieci w wieku wczesnoszkolnym, takich jak np. fakt, że dzieci z klas I-III miewają jeszcze niekiedy problemy z czytaniem – dlatego aplikacja, dzięki innowacyjnym algorytmom, komunikuje się z dzieckiem językiem w pełni naturalnym.

Dotychczas Enterek był przeznaczony głównie do szybkiej sesji powtórkowej w drodze do szkoły – w autobusie, czy tramwaju – na smartfonie. Teraz, skoro dzieciaki i tak muszą spędzać czas przed komputerami, przeportowaliśmy go na komputery osobiste z Windows 10. Mamy nadzieję, że umili to i ułatwi nieco najmłodszym naukę zdalną. Aplikacja nie wyświetla reklam i nie zbiera żadnych danych. Możecie ją pobrać bezpłatnie ze sklepu Microsoftu:

 

 

Prywatność 2.0

Omawiając wersje beta nowych systemów operacyjnych Android i iOS wspominaliśmy, że szykują się znaczne zmiany w zakresie ochrony prywatności użytkowników zarówno w Google Play, jak i w App Store. To, co kilka miesięcy temu nie było do końca jeszcze wiadome, teraz jest już pewne. Zmiany dotyczą zarówno Google Play, jak i App Store, zatem jeśli macie aplikacje na którejś z tych platform zdecydowanie warto się im przyjrzeć bliżej. Pozwoli to uniknąć nieprzyjemnej niespodzianki w postaci wyrzucenia aplikacji ze sklepu. Zmiany w iOS nie wymagają aktualizacji kodu aplikacji, w Androidzie w niewielkim stopniu. Na obu platformach wymagają jednak zainteresowania się tym, co dzieje się na waszym koncie.

Zacznijmy od App Store, gdyż tu zmiany są mniej restrykcyjne dla właściciela aplikacji. Jeśli nie planujecie nic robić ze swoją aplikacją, to nie musicie czytać dalej – zmiany nie dotyczą dotychczas wydanego kodu. Jeśli jednak planujecie nową aplikację lub publikację aktualizacji dla istniejącej aplikacji koniecznie zajrzyjcie do nowej sekcji „Prywatność” widocznej na karcie aplikacji w App Store. Znajdziecie tam rozbudowany formularz dotyczący prywatności i sposobu wykorzystywania danych przez waszą aplikację, który trzeba wypełnić przed przesłaniem aplikacji lub aktualizacji do recenzji. Formularz jest szczegółowy, jego wypełnianie irytujące, jednak jeśli przez to nie przebrniecie, aplikacja nie zostanie opublikowana. W samym kodzie aplikacji nowe opcje prywatności App Store nie implikują zmian – po stronie iOS wszystko pozostaje bez zmian.

W Google Play jest dużo bardziej restrykcyjnie. Zmiany są znaczące i implikują aktualizację kodu aplikacji. Jeśli wasza aplikacja korzysta z jednego z uprawnień newralgicznych: telefon, SMS, czujniki zdrowia, lokalizacja w tle, do 17 stycznia 2021 macie czas, aby wprowadzić w niej odpowiednie zmiany, opublikować aktualizację i wypełnić stosowny formularz uprawnień w sklepie Google Play. Każda aplikacja korzystająca, z któregoś z tych uprawnień będzie ręcznie zatwierdzana przez Google. Oprócz odpowiednich zapisów w Polityce Prywatności, w samej aplikacji musi znaleźć się informacja, że aplikacja korzysta z uprawnienia newralgicznego i wyjaśnienie po co to robi. Nie wystarczy uzyskanie zgody użytkownika na wykorzystanie uprawnień. W samej aplikacji też musi znaleźć się stosowna informacja. I to nie gdzieś w menu, wyskakującym oknie itp. – informacja ma być wyeksponowana w miejscu łatwo widocznym podczas normalnego użycia aplikacji. Po takim zaktualizowaniu kodu aplikacji, należy przesłać pakiet update do Google Play, wypełnić formularz uprawnień (w wymaganiach m.in. załączenie filmu pokazującego wykorzystanie uprawnienia newralgicznego – sic!) i czekać na decyzję Google. Pomimo spełnienia wszystkich wymagań nie ma żadnej gwarancji, że Google aplikację wam zatwierdzi, a drogi odwoławczej, jak zwykle w wypadku tej firmy, nie ma. Abstrahując od powodów, dla których Google zdecydowało się na tak restrykcyjny model, warto o tych zmianach pamiętać również planując przyszłe aplikacje na Androida, jeśli mają być dystrybuowane za pomocą Google Play – jeśli macie w planach wykorzystanie któregoś z uprawnień newralgicznych, nie ma pewności, że program zostanie opublikowany nawet pomimo spełnienia wszystkich formalnych wymogów – po 17 stycznia 2021 będzie to zależało wyłącznie od kaprysu Google. Warto zatem kilkukrotnie przemyśleć, czy wasza aplikacja na Androida na pewno będzie potrzebować np. funkcji SMS lub lokalizacji w tle.

 

Jaką technologię na siebie włożyć?

Styczeń sprzyja wszelkiego rodzaju podsumowaniom i zestawieniom. My postanowiliśmy przyjrzeć się rynkowi elektronicznych urządzeń, które można na siebie założyć, czyli tzw. wearables. Skłoniły nas do tego publikowane w 2019 roku niezależne raporty Canalys i IDG, analizujące ten rynek. Raporty obu firm analitycznych różnią się podawanymi liczbami, jednak jedno je łączy – na pierwszy rzut oka mają wydźwięk entuzjastyczny – rynek urządzeń wearables, po lekkiej zadyszce w roku 2018, w roku 2019 rósł jak na drożdżach o blisko 100% rok do roku. Diabeł tkwi jednak w szczegółach – do kategorii produktów wearables zaliczają się nie tylko zegarki, opaski fitness itp. ale także słuchawki – to głównie ich sprzedaż wygenerowała tak znaczący wzrost. Kategorie produktów takich, jak zegarki, czy opaski fitness też rosną – uśredniając o ok. 40% w stosunku rok do roku – jednak znacznie mniej dynamicznie. Przyjmując uśrednione wartości z zestawień obu domów analitycznych, na światowym rynku sprzedano blisko 180 milionów urządzeń typu wearables. Z czego 48% to słuchawki, 23% opaski fitness, 21% zegarki. 8% stanowiły produkty z kategorii „inne”. Światowym liderem sprzedaży wearables jest Apple – 35%, na drugim miejscu Xiaomi – 14,6%, trzecią lokatę zajmuje Samsung – 9,8%, czwartą Huawei – 8,4%, piątą Fibit – 4,1%, a inni producenci stanowią pozostałe 28,1%.
Na rynku polskim sytuacja jest zupełnie inna – najwięcej do powiedzenia mają firmy oferujące produkty zdecydowanie tańsze od Apple i Samsunga. Liderem polskiego rynku wearables jest Huawei – 32%, goni go Xiaomi – 26%, trzeci stopień podium należy do Samsunga – 22%, a Apple znalazło się na miejscu czwartym – 14%. Pozostałe 6% to producenci „inni”.

Statystyki i analizy swoją drogą, lecz nas z całej tej kategorii produktów interesują najbardziej dwa: zegarki i opaski fitness, jako że są to urządzenia pozwalające na opracowywanie użytecznych aplikacji. Biorąc pod uwagę strukturę sprzedaży widać wyraźnie, że rynek urządzeń tego typu dojrzał. Notuje niezbyt spektakularny, jednak stabilny wzrost, co oznacza, że tam, gdzie jest to zasadne, aplikacja pracująca na nadgarstku użytkownika powinna być ujmowana w planie produkcji oprogramowania, jako wartościowe uzupełnienie „workflow” lub możliwy kanał dotarcia. Na pewno w procesie projektowania środowiska programowego nie warto brać pod uwagę aplikacji na urządzenia ubieralne z tzw. powodów prestiżowych, czy w celach czysto marketingowych – biorąc pod uwagę strukturę rynku, zlecanie produkcji aplikacji na zegarki w takim wypadku byłoby wyłącznie sztuką dla sztuki. Reszta scenariuszy zależy od analizy przypadku. W sytuacjach, gdy ma to uzasadnienie z użytkowego punktu widzenia, wearables powinny być włączane w projekt.

Należy jednak wziąć pod uwagę, że samo planowanie w najbliższym czasie będzie trudne z powodu obarczenia procesu jedną dużą niewiadomą. Rynek wearables, w który ewentualnie warto inwestować, od strony programowej obejmuje trzy główne systemy operacyjne – watchOS (Apple), Tizen (Samsung) i WearOS (Google). O ile pozycja pierwszych dwóch jest stabilna z tendencją wyraźnie wzrostową (razem pokrywają blisko 50% rynku), o tyle sytuacja z WearOS jest zastanawiająca. Google najwyraźniej ma poważny problem z wypromowaniem swojego systemu – obecnie korzystają z niego po części Huawei i Xiaomi, rzadko Samsung, a jednym z największych producentów wykorzystujących system Google jest Fossil – nie ujęty nawet w raportach Canalys i IDG. Sytuacja WearOS jest zatem niepewna. Czy niedawne przejęcie firmy Fibit przez Google coś tutaj zmieni? Czas pokaże.

Oprogramowanie dedykowane

Ostatnio pytaliście nas o co chodzi, gdy używany jest termin „Oprogramowanie dedykowane”. Wiele osób uważa, że jest to po prostu aplikacja przeznaczona dla konkretnego systemu operacyjnego, niedostępna na konkurencyjnej platformie. Czyli np. aplikacja jest dedykowana Androidowi, gdyż jest niedostępna dla systemu iOS. Nie jest to właściwa definicja tego pojęcia – o ile o jakiejkolwiek definicji można tu mówić. W żargonie informatyków, czy programistów „Oprogramowanie dedykowane” to po prostu program pisany na indywidualne zamówienie np. przedsiębiorstwa, czy instytucji i ściśle dostosowany do ich potrzeb. Są to programy niedostępne do użytku ogólnego, nie można ich pobrać z internetu, czy kupić. Oprogramowanie takie jest instalowane tylko i wyłącznie w infrastrukturze zamawiającego i służy poprawie pracy jego organizacji, czy też ma za zadanie doprowadzić do konkretnych celów – np. przynieść oszczędności poprzez usprawnienie wybranych procesów.

Czy zatem każde przedsiębiorstwo, instytucja powinna zamawiać indywidualne oprogramowanie pisane tylko dla siebie? Nie zawsze jest to zasadne. Często wystarczy użycie oprogramowania ogólnodostępnego. Jednak w dobrze przemyślanych przypadkach oprogramowanie dedykowane potrafi zapewnić wymierne i policzalne oszczędności inwestorowi i wówczas warto rozważyć jego zlecenie – czysta matematyka i twardy rachunek ekonomiczny mają tutaj głos rozstrzygający.

Przykładowo jeśli oprogramowanie może przyspieszyć proces obsługi klienta, a co za tym idzie zwiększyć liczbę osób obsługiwanych dziennie zwiększając tym samym zyski przedsiębiorstwa, jego wdrożenie będzie zasadne. Taki schemat znalazł zastosowanie m.in. w Punkcie Selektywnej Zbiórki Odpadów w Piasecznie. Dedykowany system dla tego przedsiębiorstwa usprawnia i przyspiesza proces obsługi klienta, a także wspomaga rozliczenia, prowadzenie statystyk i sporządzanie raportów. Oprogramowanie składa się z dwóch modułów:
– aplikacji dla tabletów z Androidem stosowanej w punktach obsługi klienta, bezpośrednio połączonej z systemem lokalnej karty miejskiej, co pozwala na znaczące przyspieszenie procesu przyjmowania odpadów poprzez automatyczną identyfikację klienta i pobranie jego danych niezbędnych do poprawnego rozliczenia,
– dedykowanego systemu on-line zbierającego dane z modułów terenowych, sporządzającego statystyki, rozliczenia, wizualizującego dane w postaci czytelnych wykresów, map i zestawień.

Inny scenariusz zakłada oszczędności wynikające z możliwości wykorzystania dzięki oprogramowaniu dedykowanemu istniejących zasobów, na których użycie nie pozwala oprogramowanie ogólnego użytku. Tutaj przykładem może być system przedszkolny Miasta i Gminy Piaseczno w pełni połączony i wykorzystujący zasoby istniejącego w samorządzie systemu Karty Miejskiej, co pozwoliło na znaczne oszczędności – miasto nie musi wydawać rodzicom dzieci dodatkowych kart przedszkolnych, których produkcja jest kosztowna. Do zgłaszania i rozliczania obecności dziecka w przedszkolu używana jest wydawana wszystkim mieszkańcom Karta Miejska. Sam system składa się z centralnego modułu ewidencyjnego oraz modułów zewnętrznych w postaci oprogramowania czytników NFC umieszczonych w przedszkolach. Umożliwia w pełni automatyczne ewidencjonowanie czasu przebywania dzieci w placówkach i dokonywanie rozliczeń, sporządzanie statystyk, raportów itp.

Internet rzeczy

Wyobraźcie sobie taką scenkę: wracacie autobusem z pracy do domu, tuż po wejściu do pojazdu wasz smartfon wibruje – powiadomienie o pobraniu opłaty za bilet – kasowników w autobusach nie ma od dawna. Chwilę później kolejne powiadomienie – lodówka uprzejmie informuje że skończyło się mleko, wobec czego zamówiła nową butelkę i po powrocie należy odebrać przesyłkę dostarczoną dronem na balkon, a ponadto kończy się termin przydatności do spożycia sera, w związku z czym trzeba go dziś zjeść lub wyrzucić. Czytacie dobre rady własnej lodówki i przy okazji wydajecie dyspozycję, że po waszym powrocie w domu ma panować temperatura 20 stopni, w ekspresie ma być gorąca kawa, a z głośników mają dobiegać dźwięki V symfonii Beethovena. Poinstruowany dom ustawi wymagane przez was parametry nie za wcześnie, żeby oszczędzać energię. Dom „wie” gdzie jesteście i kiedy wrócicie – zna wsze położenie dzięki geolokalizacji.

Wizja przyszłości? Otóż nie. Technologie pozwalające na taki styl życia są dostępne obecnie. Nie są jeszcze powszechne (poza geolokalizacją – choć na razie zamiast waszego domu o tym gdzie jesteście najlepiej wie Google), jednak za kilka-kilkanaście lat tak będzie wyglądało codzienne funkcjonowanie. Umożliwi to Internet rzeczy (z angielskiego IoT – Internet of Things). Wbrew pozorom nie jest to nowa koncepcja. Pierwszy raz użyto tej nazwy w 1999 r. Wówczas jednak brzmiało to jak futurystyczne mrzonki. Dwadzieścia lat później nikt już nie reaguje ironią, gdy pada ta nazwa. Smartfony, smartzegarki, smartopaski, smart-TV, smart-pralki, smart-lodówki – wszystko staje się „smart”, czyli wyposażone w oprogramowanie, aplikacje i połączone z Internetem. Każdy przedmiot codziennego użytku wkrótce będzie miał stałe połączenie z internetem. Nie tylko wszystkie moduły wchodzące w skład inteligentnych domów – sprzęt RTV, AGD, oświetlenie, instalacja grzewcza, liczniki, zegary. Także samochody, czujniki, czytniki stosowane w przemyśle, transporcie, czy handlu – wszystko połączone z siecią i wzajemnie wymieniające informacje – Internet rzeczy.

Rozwój i budowa IoT właśnie trwa – planując swoje działania na rynku oprogramowania, czy potrzeby IT dla swojej firmy lub organizacji należy mieć go na uwadze. Od mglistej idei do rozpoczęcia faktycznej budowy IoT minęło 20 lat. Za kolejne 20 lat Internet rzeczy będzie częścią codzienności. Rodzi to oczywiście dylematy natury odmiennej jak rozważania czysto programistyczne, czy technologiczne – np. kwestie prywatności, możliwości permanentnej inwigilacji (już obecnie każdy, kto ma smartfon z Androidem powinien coś na ten temat wiedzieć) – my jednak na naszym blogu zajmujemy się sprawami wyłącznie technologicznymi i związanymi z programowaniem, zatem roztrząsanie kwestii etycznych zostawimy autorom blogów o etyce.

Android Q - kompatybilność zachowana

No i jest – pierwsza wersja deweloperska Androida Q, która w telefonach użytkowników zacznie pojawiać się w przyszłym roku. Obejrzeliśmy, sprawdziliśmy i spieszymy z informacjami co nowego. W kwestii kompatybilności Waszych aplikacji wyprodukowanych dla Androida 5.0 Lollipop i nowszych nie musicie się niczym martwić – nie znaleźliśmy żadnych problemów z kompatybilnością i nic nie wskazuje na to, aby w kolejnych wersjach deweloperskich, aż do wydania ostatecznego miały się takowe problemy pojawić. W gruncie rzeczy Android Q nie wnosi wiele w stosunku do obecnej wersji Androida P – Pie. Jest to raczej zestaw usprawnień interfejsu użytkownika, jak cokolwiek co mogłoby wpłynąć na funkcjonalność, czy kompatybilność istniejących aplikacji. Z najważniejszych zmian:

  • Android Q pozwala zmieniać motywy systemu – kolory akcentowe, czcionki, kształty ikon. Dodaje też motyw ciemny, który może wymuszać ciemny motyw dla zewnętrznych aplikacji o ile te takowy posiadają. Warto zatem w kolejnych aktualizacjach własnych aplikacji zadbać o dodanie do nich night mode.
  • Przewidywany czas pracy na aktualnym naładowaniu akumulatora jest pokazywany na pasku szybkich ustawień.
  • Można dzielić się szczegółami o sieci Wi-Fi za pomocą kodu QR.
  • Android Q wprowadza natywny tryb pulpitu po podłączeniu zewnętrznego monitora.
  • Dodano funkcję nagrywania ekranu.

Nieco ciekawsze, aczkolwiek też nie rewolucyjne, zmiany dodano „pod maską” i mają one znaczenie jeśli planujecie rozwijanie swojej aplikacji lub produkcję nowej. Są to funkcje dostępne dla programistów, zatem ich użycie można uwzględniać podczas projektowania aplikacji:

  • Dostępne są dodatkowe informacje z aparatów – głębia obrazu i poszczególnych obiektów na ujęciu.
  • Wsparcie dla składanych smartfonów.
  • Dodatkowe ustawienia dla urządzeń IoT (Internet of Things – internet rzeczy).

Parents Helper to aplikacja iOS i Apple Watch pomagająca rodzicom w porządkowaniu codziennych spraw związanych z dziećmi

Parents Helper to aplikacja pomagająca rodzicom w porządkowaniu codziennych spraw związanych z dziećmi.

Dziś mamy coś dla wszystkich rodziców korzystających z iPhone, czy iPada, a także zegarków Apple Watch. Aplikacja Parents Helper pomaga w organizowaniu codziennych spraw związanych z dziećmi. Zwłaszcza, gdy pod opieką masz więcej niż jedno dziecko. Funkcjonalność i funkcje aplikacji są rozwijane dzięki naszemu doświadczeniu rodzicielskiemu – zwłaszcza w organizowaniu spraw, ustalaniu priorytetów i przypomnieniach. I – co ważne – w łatwym przekazywaniu zadań partnerowi.

W aplikacji znajdziesz m.in.:

  • Listę rzeczy do zrobienia, menedżer zadań i funkcje kalendarza – wszystko w jednym, ze wszystkimi opcjami oznaczania i sortowania w łatwy sposób – skoncentrowane na skuteczności i nie zajmujące dużo czasu. Jesteśmy rodzicami i wiemy z doświadczenia, jak to jest, kiedy masz jedno dziecko na rękach, drugie właśnie ucieka, a w środku tego zamieszania musisz zrobić notatkę o szkolnym konkursie w przyszłym tygodniu. Ta notatka i zdjęcie muszą być zrobione jednym kciukiem w ciągu kilku sekund – to jest głównym celem tej aplikacji.
  • Funkcje łatwego udostępniania zadań między partnerami.
  • Przypomnienia są ważne. Na podstawie harmonogramu i lokalizacji. Jest to szczególnie przydatne, gdy masz jakieś mniej ważne sprawy bez terminu, do zrobienia przy okazji, gdy akurat będziesz w okolicy – ta aplikacja może przypominać ci o tych wszystkich małych, rodzicielskich sprawach i oszczędzić Twój czas.

Tabliczka mnożenia z Enterkiem

Czasami pytacie dlaczego wydajemy własne, bezpłatne aplikacje i skąd bierzemy na nie pomysły. Odpowiedź jest prosta – zawód programisty wymaga nieustannej nauki i rozwoju wiedzy. Nowe systemy operacyjne, języki programowania, frameworki pojawiają się rok-rocznie, a my musimy być z nimi na bieżąco. Nie eksperymentujemy na kodzie pisanym dla naszych klientów – do tego służą nam właśnie nasze własne aplikacje. Czasami z tych początkowo próbnych prac wychodzi pełnoprawny produkt, niekiedy nawet na dużą skalę – wówczas udostępniamy go wam bezpłatnie. Pomysły zaś przynosi po prostu życie. Tak było np. z właśnie udostępnioną w sklepach Google Play i App Store aplikacją Tabliczka mnożenia z Enterkiem. Kilka osób w naszym zespole ma dzieci w wieku wczesnoszkolnym i związaną z tym klasyczną, szkolną „zmorę” – tabliczkę mnożenia – na głowie. No to dlaczego nie pomóc dzieciom fajną, kolorową aplikacją?

Tabliczka mnożenia z Enterkiem to aplikacja skierowana głównie do uczniów klas I-III szkoły podstawowej, wspomagająca naukę tabliczki mnożenia, zgodna z programem nauczania Ministerstwa Edukacji Narodowej realizowanym w szkołach. Przewodnikiem dziecka w aplikacji jest sympatyczna, animowana postać Enterek, który stopniowo wprowadza najmłodszych w świat tabliczki mnożenia za pomocą interaktywnych gier i zabaw, odpowiednio zachęcając i motywując dzieci do podejmowania prób nauki. System motywacyjny oferujący najmłodszym nagrody, odznaczenia, gry i rozmaite niespodzianki przygotowaliśmy pod kontrolą doświadczonych pedagogów z uwzględnieniem charakterystyki dziecięcej psychologii. Opracowany został na podstawie obserwacji nauczycieli wychowania wczesnoszkolnego oraz rodziców dzieci w wieku wczesnoszkolnym. Wiecie jaki był na przykład jeden z wniosków? Dzieci z klas I-III miewają jeszcze niekiedy problemy z czytaniem. Nie można iść zatem na skróty i po prostu opisywać w aplikacji kolejne funkcje, bo dzieciaki tego zwyczajnie nie przeczytają. W ramach zadań programistycznych opracowaliśmy zatem algorytm pozwalający na komunikowanie się postaci z aplikacji z dzieckiem językiem w pełni naturalnym nawet w sytuacjach takich jak testy, które dla uniknięcia powtarzalności są generowane losowo.