• Nie Znaleziono Wyników

6. Opis podsystemu informatycznego w aplikacji „Mobilne Miasto”

6.7. Funkcje aplikacji mobilnej

Podstawową funkcją aplikacji mobilnej jest prezentacja informacji poszu-kiwanych przez użytkownika. Informacje mogą być prezentowane w formie listy wyników, w postaci punktów na mapie bądź jako widok szczegółowy danego obiektu. Ponadto aplikacja jest wzbogacona o dodatkowe funkcje zwiększające efektywność wykonywania operacji związanych bezpośrednio z poszukiwanym obiektem.

Identyfikowanie użytkowników

Aplikacja mobilna umożliwia identyfikowanie użytkowników przy logowa-niu do serwera na podstawie unikalnego numeru, zwanego dalej identyfikato-rem, wygenerowanego pseudolosowo przy pierwszym uruchomieniu aplikacji na danym urządzeniu. Identyfikator jest zapisany na urządzeniu i wykorzystywany przy każdym ponownym uruchomieniu aplikacji w celu komunikacji z

serwe-rem. Wszystkie dane użytkownika oraz ustawienia aplikacji są przechowywane na serwerze.

W każdym momencie użytkownik ma możliwość rejestracji przez podanie adresu elektronicznego oraz hasła. Adres e-mailowy jest potwierdzany przez wysłanie użytkownikowi wiadomości z unikalnym, trudnym do odgadnięcia kodem potwierdzającym.

Użytkownicy zarejestrowani mają możliwość zalogowania się do aplikacji z wykorzystaniem adresu e-mailowego oraz hasła. Po zalogowaniu się użytkow-nika do aplikacji wszelkie jego dane zostają załadowane, a ustawienia zaktuali-zowane stosownie do pierwotnie zadeklarowanych preferencji.

Wyznaczanie lokalizacji na mapie

Aplikacja mobilna umożliwia wyznaczenie lokalizacji podanego adresu na mapie. Funkcja ta polega na wprowadzeniu przez użytkownika adresu (ulica, nu-mer domu, nazwa miasta), który aplikacja ma zlokalizować.

Gdy nazwa jest niejednoznaczna, system pokazuje wszystkie wyniki na ma-pie i pozwala użytkownikowi wybrać i wyświetlić te, którymi jest zainteresowa-ny. Dla wybranej lokalizacji system umożliwia wykonanie wszystkich standar-dowych operacji.

Operacje związane z obiektem zainteresowania

Po wyborze miejsca przez użytkownika są dostępne następujące standardo-we operacje:

ƒ zapisanie miejsca jako punktu użytkownika,

ƒ wskazanie sposobu dotarcia pieszo, komunikacją miejską lub samochodową do miejsca docelowego,

ƒ wyświetlenie szczegółowych informacji na temat danego miejsca,

ƒ wyszukanie innych pobliskich punktów zgodnych z kryteriami wyszukiwania.

Wyświetlanie informacji o środkach komunikacji publicznej

Aplikacja umożliwia wskazanie czasu odjazdu wszystkich środków komu-nikacji miejskiej z najbliższych przystanków.

Po uruchomieniu tej funkcji aplikacja pokazuje listę przystanków MPK wraz z informacją o kierunku linii, posortowanych według odległości od pozycji użytkownika lub pozycji wskazanej przez użytkownika. Istnieje również możli-wość pokazania przystanków na mapie, domyślnie wycentrowanej na aktualnej pozycji użytkownika. Ponadto po wybraniu przystanku z listy lub mapy aplika-cja wyświetla tabelę z rozkładem jazdy.

Wyznaczanie trasy dojazdu

W aplikacji jest dostępna funkcja nawigacji, czyli wskazania sposobu dotar-cia pieszo, komunikacją miejską lub samochodem z bieżącej pozycji użytkowni-ka do wybranego miejsca docelowego. Zakres funkcji obejmuje:

ƒ pokazanie trasy na mapie,

ƒ podanie odległości oraz przybliżonego czasu podróży pieszo, komunikacją miejską lub samochodem,

ƒ w przypadku wyboru komunikacji miejskiej pokazanie lokalizacji biletoma-tów oraz innych miejsc zakupu biletu,

ƒ wymuszone ręcznie przeliczanie długości trasy, np. w przypadku zboczenia z trasy.

Wyznaczanie lokalizacji na mapie

Aplikacja ma możliwość powiadamiania użytkownika o zdarzeniach nale-żących do ustalonego przez niego zakresu zainteresowań, które odbywają się w bliskiej lokalizacji.

Zakres tej funkcji obejmuje:

(1) możliwość subskrybowania w zakresie wybranej grupy zdarzeń i z uszcze-gółowieniem rodzaju i zakresu powiadomień z danej kategorii; z propono-wanych grup zdarzeń należy wymienić co najmniej:

ƒ utrudnienia na drodze,

ƒ utrudnienia w komunikacji MPK, ƒ wydarzenia kulturalne,

ƒ promocje cenowe;

(2) możliwość podania dodatkowych parametrów szeregujących i filtrujących liczbę powiadomień; parametry filtrujące mogą być użyte w różnej konfigu-racji; pojawia się możliwość zawężenia otrzymywanych powiadomień z za-stosowaniem kolejnych filtrów:

ƒ daty publikowanej informacji,

ƒ czasu otrzymania powiadomienia o danym zdarzeniu,

ƒ przeszukiwania powiadomień o zdarzeniach w odniesieniu do zaznaczo-nego na mapie obszaru,

ƒ w przypadku komunikacji MPK również w odniesieniu do środka komu-nikacji z rozróżnieniem: autobusy, tramwaje,

ƒ w przypadku wydarzeń również w odniesieniu do rodzaju wydarzenia, ƒ w przypadku promocji cenowej również w odniesieniu do jej rodzaju; (3) możliwość powiadamiania o zdarzeniach związanych ze zmianą lokalizacji

użytkownika oraz z wystąpieniem zdarzenia na obszarze obejmującym bie-żące położenie, w tym powiadomienia z opcją:

ƒ powiadom mnie, gdy przechodzę obok,

ƒ powiadom mnie, gdy jestem w obszarze o określonym promieniu; użyt-kownik ma mieć możliwość wyboru promienia obszaru w odniesieniu do obecnej lokalizacji, w jakim ma otrzymywać powiadomienia o zdarze-niach,

ƒ powiadom mnie zawsze, gdy przebywam w obszarze; wybrany obszar jest oznaczany na mapie przez użytkownika,

ƒ powiadom mnie, gdy zostanie dodane nowe zdarzenie.

Powiadamianie o potrzebach

W aplikacji jest dostępna funkcja przypisania do mapy nieodnalezionych pozycji POI. Przez nieodnalezioną pozycję POI rozumie się takie wyniki wyszu-kiwania według słów kluczowych należących do wybranych kategorii, które nie spełniły oczekiwań użytkownika. Przez niespełnienie oczekiwań użytkownika rozumie się m.in. brak wyników wyszukiwania jakiegokolwiek punktu POI. Każdy z użytkowników ma możliwość skorzystania z opisanej funkcji i odszu-kania w wybranym terminie na dowolnej części mapy wybranych nieodnalezio-nych pozycji POI. Na mapie są wyświetlane wszystkie wyniki wyszukiwane według słów kluczowych wszystkich użytkowników, które nie spełniły oczeki-wań użytkowników aplikacji.

Rejestrowanie statystyk użycia aplikacji

Aplikacja mobilna ma możliwość rejestrowania w celach badawczych wszystkich działań użytkownika w jej ramach. Dane te (anonimowe) są przeka-zywane do serwera w celu analizy. Nie narusza się przy tym prywatności użyt-kownika dzięki powiązaniu z losowo generowanym identyfikatorem sesji. In-formacje o akcjach zachodzących w aplikacji mogą być gromadzone w podręcz-nej pamięci przeglądarki i przesyłane okresowo pod warunkiem dostępności połączenia internetowego. Na podstawie tych danych jest możliwa identyfikacja działań krytycznych, skutkujących wadliwym działaniem oprogramowania, i w dalszej kolejności ich eliminacja. Możliwe jest również wskazanie braków w funkcjonalności lub w zbiorze informacji udostępnianych poprzez podsystem.

Definiowanie punktów własnych

Użytkownik ma możliwość dodawania do systemu punktów własnych. Możliwość dodawania punktów własnych służy usprawnieniu procesu poszuki-wania preferowanych lokalizacji oraz wykonyposzuki-wania akcji związanych z tymi lokalizacjami. Punkty własne są powiązane z kontem użytkownika, udostępnia-ne po zalogowaniu za pomocą loginu i hasła i nie są współdzieloudostępnia-ne z innymi użytkownikom systemu. Użytkownik ma również możliwość edytowania zapi-sanych punktów (operacje odczytu, aktualizacji i usuwania). W podsystemie

można także zdefiniować punkt własny, umownie nazywany „dom”, wraz ze skrótem szybkiego wyboru.

Przetwarzanie fotokodów

W aplikacji jest dostępna funkcja polegająca na generowaniu fotokodów na ekranie w celu udostępnienia informacji zawartej w fotokodzie drugiemu użyt-kownikowi, będącemu również posiadaczem urządzenia mobilnego. Aplikacja powinna umożliwiać sfotografowanie fotokodu i jego zdekodowanie. Jeżeli fo-tokod zawiera adres URL strony internetowej, podsystem otwiera ją automa-tycznie po uprzednim wyrażeniu zgody przez użytkownika; w przeciwnym wy-padku wyświetlane są informacje zawarte w fotokodzie z możliwością ich sko-piowania do schowka systemowego.

Struktura danych i zakres informacji w podsystemie informatycznym

W celu ułatwienia użytkownikom systemu wyszukiwania informacji zdecy-dowano się na podzielenie dostępnych w podsystemie informatycznym informa-cji na kategorie na podstawie badań prefereninforma-cji potencjalnych użytkowników. Lista kategorii głównych została ograniczona do dziewięciu, tak aby odnośniki graficzne kierujące do tych kategorii mogły się zmieścić na ekranie głównym. Każdej kategorii mogą być przyporządkowane różne specyficzne atrybuty, opi-sujące należące do niej obiekty. Atrybuty są dziedziczone z nadkategorii do podkategorii. Dane w systemie są przypisane do jednej lub większej liczby kate-gorii tworzących strukturę drzewiastą. Dana kategoria może mieć zero nadkate-gorii (lub jedną) oraz zero podkatenadkate-gorii (lub więcej). Ponadto w systemie mogą być użyte złożone typy danych, zbudowane z prostych typów danych, stanowią-cych elementy składowe. Służą one do reprezentowania informacji, których zakres wykracza poza możliwości składowania pojedynczej danej typu prostego.

Zakres informacji możliwych do zastosowania w zapytaniu został określony podczas realizacji projektu na podstawie analizy potrzeb użytkowników. Analiza potrzeb umożliwiła ustalenie, które informacje o obiektach zainteresowania można uzyskać za pomocą tak skonstruowanego podsystemu dostępu do informacji.

Ze względu na obecność w systemie danych geolokalizacyjnych o charakte-rze unikalnym oraz powtarzalnym wyróżniono dwa podstawowe typy danych: ƒ dane punktowe – odpowiadające obiektom w przestrzeni miejskiej, np. kino,

bankomat, restauracja, urząd, sklep,

ƒ dane niepunktowe – używane do reprezentacji danych niebędących obiektami w przestrzeni miejskiej, np. seans kinowy, premiera teatralna, inne wydarza-nie, informacja o utrudnieniu w ruchu drogowym.

Mechanizmy projakościowe w przetwarzaniu informacji

W celu zapewnienia jakości usługi dystrybucji danych dostępnych w pod-systemie informatycznym wprowadzono szereg mechanizmów wpływających na cechy informacji najistotniejsze z punktu widzenia potencjalnych użytkowników systemu, takie jak m.in.: kompletność, aktualność, dokładność.

Mechanizm ocen

Mechanizm ocen jest powiązany z obiektami o przypisanej lokalizacji. Sys-tem umożliwia gromadzenie ocen nadawanych przez użytkowników obiektom POI i wykorzystywanie tych ocen do rekomendowania obiektów POI innym użytkownikom. Ocena wyraża stopień zadowolenia użytkownika z danego obiektu. Użytkownik może ocenić obiekt w skali pięciostopniowej. Ponadto może on napisać krótką recenzję (do 1000 znaków).

Mechanizm zarządzania ocenami użytkowników umożliwia:

ƒ wyświetlanie sumarycznych ocen na listach obiektów, np. poszukiwanych, dla danej kategorii,

ƒ sortowanie obiektów według oceny wynikowej,

ƒ informowanie użytkowników o ocenie wynikowej przez wyświetlanie oceny danych użytkowników na ekranie szczegółów danego obiektu.

Wszystkie oceny są przechowywane w systemie, tak by mogły stanowić podstawę przyszłych badań, a także zostać ponownie przeliczone po zmianie algorytmu obliczania oceny wynikowej

Mechanizmy projakościowe w przetwarzaniu informacji

Mechanizm importu i aktualizacji danych polega na okresowym łączeniu się z udostępnionymi interfejsami API partnerów projektu w celu pobrania i uaktu-alnienia zgromadzonych danych. System umożliwia integrację z dowolnym podmiotem dysponującym interfejsem dostępu funkcjonującym zgodnie z ogól-nie przyjętymi standardami racjonalnego konstruowania API i z wykorzystaogól-niem formatów XML i JSON oraz standardów komunikacji, takich jak REST i HTTP.

Parametryzacja mechanizmu aktualizacji obejmuje możliwość modyfikacji ustawień synchronizacji w zakresie:

(1) częstotliwości synchronizacji,

(2) rodzaju i ilości synchronizowanych danych,

(3) mapowania reprezentacji danych z zewnętrznych źródeł na reprezentację wewnętrzną serwera, m.in.

ƒ kategorii, np. restauracje – gastronomia,

ƒ atrybutów, np. „rodzaj kuchni” dla gastronomii lub „sieć” dla bankoma-tów, na odpowiadające im atrybuty podsystemu,

Mechanizm administrowania bazą danych

Mechanizm ten pozwala na zarządzanie kategoriami oraz strukturą groma-dzonych danych przez:

ƒ tworzenie struktury (hierarchii) kategorii i podkategorii danych w systemie, ƒ definiowanie atrybutów dla różnych kategorii danych.

W zakresie zarządzania kategoriami możliwe jest: ƒ dodawanie nowych kategorii,

ƒ usuwanie istniejących kategorii wraz z podkategoriami,

ƒ usuwanie danych przypisanych do danej kategorii lub podkategorii, ƒ edytowanie kategorii – nazwy, opisu, przypisanej ikony itp.,

ƒ przeglądanie wszystkich atrybutów powiązanych z daną kategorią, zarówno tych przypisanych bezpośrednio, jak i powiązanych przez przypisanie do nad-kategorii,

ƒ oznaczanie danej kategorii jako niedostępnej w aplikacji mobilnej. W zakresie zarządzania atrybutami podsystem umożliwia:

ƒ przeglądanie listy atrybutów zdefiniowanych w systemie oraz informowanie o kategoriach, z którymi są powiązane,

ƒ dodawanie nowego atrybutu,

ƒ usuwanie istniejącego atrybutu oraz wszystkich jego wystąpień, ƒ zmianę nazwy atrybutu,

ƒ tworzenie powiązania atrybutu z jedną kategorią lub większą ich liczbą.

Mechanizm deduplikacji danych

Deduplikacja polega na usuwaniu nadmiarowych kopii (tj. duplikatów da-nych) z systemu w sposób automatyczny z możliwością manualnej korekcji. Mechanizm ten obejmuje również funkcję umożliwiającą znalezienie:

ƒ danych punktowych reprezentujących to samo miejsce, ƒ danych niepunktowych reprezentujących to samo zdarzenie.

Wykorzystanie w deduplikacji algorytmów haszujących zamiast tradycyj-nego porównywania danych „bajt po bajcie” zapewnia właściwą szybkość całe-go procesu bez rezygnowania z niezawodności. Ponadto globalna kompresja rozbija dane na bloki, co usprawnia proces ich porównywania.

Mechanizm zarządzania statystykami użycia danych

Mechanizm zarządzania statystykami obejmuje generowanie raportów, któ-rych analiza zapewnia dostosowanie w sposób ciągły zakresu danych gromadzo-nych w podsystemie do zmieniających się preferencji użytkowników. Na pod-stawie statystyki określa się:

ƒ rodzaje poszukiwanych informacji, ƒ częstość poszukiwania informacji,

ƒ najczęściej używane funkcje aplikacji,

ƒ ocenę, czy użytkownikowi udaje się zaspokoić potrzeby informacyjne.

W celu spełnienia powyższych wymagań podsystem umożliwia dostęp do następujących raportów:

ƒ wykaz wybieranych kategorii informacji, tj. kategorii wybieranych ze strony głównej i zapytań wpisywanych w wyszukiwarkę tekstową wraz z określe-niem ich częstotliwości,

ƒ wykaz najczęściej wyświetlanych okien lub stron,

ƒ wykaz „exit pages”, czyli stron, na których użytkownik zakończył używanie systemu,

ƒ wykaz średniego czasu użytkowania aplikacji przez użytkownika, liczony od pierwszego do ostatniego żądania w sesji,

ƒ wykaz liczby użytkowników korzystających z systemu w zadanym okresie (dni, tygodnie i miesiące) wraz z liczbą wyświetlonych stron,

ƒ wykaz czasu przeglądania kolejnych stron aplikacji,

ƒ wykaz wykorzystywanych funkcji systemu – poszukiwanie POI, przeglądanie mapy, przeglądanie prognoz pogody, filtrowanie za pomocą atrybutów, ƒ wykaz najczęściej poszukiwanych informacji (tj. potrzeb informacyjnych

użytkowników), które nie zostały odnalezione w aplikacji,

ƒ wykaz awarii aplikacji z powodu błędów krytycznych po stronie serwera, ƒ wykaz czasu użytkowania aplikacji przez każdego użytkownika, liczony od

pierwszego do ostatniego żądania w sesji,

ƒ raport na temat częstości korzystania z aplikacji przez użytkownika zidentyfi-kowanego na podstawie ciasteczka lub loginu,

ƒ wykaz czasów uzyskania przez użytkowników informacji (od uruchomienia aplikacji do wyświetlenia ekranu szczegółów obiektu lub danej niepunktowej).

6.8. Podsumowanie

Realizacja podsystemu informatycznego oraz weryfikacja zgodności z ocze-kiwaniami użytkownika na podstawie testów potwierdziły poprawność funkcjo-nowania oraz słuszność założeń poczynionych na etapie projektowania.

Zastosowanie architektury klient–serwer, a także logiki przetwarzania i dys-trybucji informacji po stronie serwera, okazały się zasadne w obliczu znaczą-cych dysproporcji między możliwościami przetwarzania z użyciem sprzętu ser-werowego i mobilnego. Na podstawie analizy prototypowych rozwiązań funk-cjonujących bez wsparcia serwerowego dowiedziono, że choć są one możliwe do wykonania, cechują się małą efektywnością ze względu na dużą złożoność mechanizmu integracji informacji; dlatego byłyby zbyt dużym obciążeniem dla zasobów sprzętowych urządzenia mobilnego.

W wyniku badań użyteczności wykazano, że aplikacje oparte na technolo-giach internetowych spotykają się ze sceptycznym nastawieniem użytkowników.

Może to wynikać z braku wiedzy o korzyściach z wykorzystania aplikacji inter-netowych oraz z małej dojrzałości technologicznej. Formuła aplikacji interneto-wych wciąż jest postrzegana jako niekonwencjonalna i często mylona ze sta-tyczną witryną www. Popularyzacja rodziny standardów rozszerzających moż-liwości technologii internetowych, takich jak HTML5, oraz wiedza o korzy-ściach z ich stosowania doprowadzi prawdopodobnie do wzrostu świadomości, a tym samym do adaptacji tych rozwiązań na większą skalę.

Wykonanie oprogramowania przeznaczonego do interakcji z użytkowni- kiem w formie aplikacji internetowej jest potwierdzeniem tego, że mimo dużej popularności aplikacji natywnych istnieje obszar zastosowań dla technologii internetowych i najprawdopodobniej będzie on się zwiększał wraz rozwojem nowych standardów. Rosnące wykorzystanie urządzeń mobilnych, a także natu-ralne ograniczenia technologii komunikacji bezprzewodowej, będą stymulowały twórców witryn do jeszcze większej racjonalizacji kanałów dystrybucji danychi do odejścia od koncepcji komponowania witryn internetowych po stronie serwe-ra na rzecz urządzeń mobilnych. Tendencja ta może ostatecznie doprowadzić do zatarcia granic między koncepcjami witryny i aplikacji internetowej. Technolo-gie internetowe mogą w miarę postępującego procesu standaryzacji ewoluować w stronę technologii natywnych, co w ostateczności będzie skutkować zmniej-szeniem dysproporcji w zakresie dostępnych funkcji i możliwych zastosowań. Gdy oczekiwana unifikacja stanie się możliwa, wówczas każda witryna oparta na wykorzystaniu technologii z rodziny HTML5 będzie miała tożsamość funk-cjonalną równą aplikacji. Taka hybryda może doprowadzić do popularyzacji aplikacji mobilnych lub do zmiany znaczenia witryn, które staną się neutralnym technologicznie rozwiązaniem alternatywnym wobec aplikacji natywnych.

Realizacja scenariuszy testowych w warunkach zbliżonych do rzeczywistych i uzyskane informacje zwrotne potwierdziły również zasadność stosowania me-chanizmu buforowania danych i generowania interfejsu po stronie urządzenia mobilnego ze względu na liczne trudności w dostępie do sieci bezprzewodowej. Ponadto wykonywane na bieżąco testy integralności umożliwiły weryfikację po-prawności współdziałania każdego elementu podsystemu informatycznego, a tym samym potwierdziły wiarygodność formuły systemu zintegrowanego jako całości.

Największe znaczenie miała jednak weryfikacja odporności podsystemu na błędy wynikające z wystąpienia sytuacji nietypowych, zagrażających jakości usług. Trudności te były najczęściej spowodowane ograniczonym dostępem do zasobów bezprzewodowych sieci telekomunikacyjnych oraz problemami w uzy-skiwaniu informacji geolokalizacyjnych. Potwierdzona w testach skuteczność mechanizmu reagowania świadczy o tym, że stanowi on krytyczny element pod-systemu, a jego rozwój powinien być traktowany priorytetowo w przypadku ewentualnej komercjalizacji. Zdolność do zapewnienia ciągłości funkcjonowania podsystemu niezależnie od okoliczności i ograniczeń stanowi o sprawności sto-sowanej technologii i skuteczności mechanizmu obsługi błędów. Wadliwa inter- akcja z użytkownikiem systemu może skutecznie ograniczać dostęp do zasobów

informacyjnych, niwelując efekty nakładów na zagwarantowanie jakości infor-macji odpowiadającej oczekiwaniom użytkowników. Sprawne i bezbłędne funk-cjonowanie narzędzia reagowania dzięki detekcji i eliminacji błędów ma klu-czowe znaczenie z punktu widzenia zaspokojenia potrzeb użytkowników. Pra-widłowo funkcjonujący mechanizm obsługi błędów to podstawa użyteczności zintegrowanego systemu.

Potwierdzono skuteczne działanie podsystemu w realnych zastosowaniach i jego zgodność z potrzebami użytkowników przestrzeni miejskiej. Modułowa architektura podsystemu, perspektywiczne technologie oprogramowania, a także elastyczność struktury, to czynniki zwiększające szanse na jego rozwój i dopa-sowanie do zmieniających się wymagań rynku usług informacyjnych w długiej perspektywie czasowej.

7. Testowanie aplikacji pod względem

Powiązane dokumenty