mAPRS je můj vlastní projekt aplikace pro systémy Android a iOS určené pro spolupráci s APRS. Nevznikl proto, že by na trhu chyběly aplikace podporující APRS — takových programů už několik existuje a mnohé z nich svůj účel plní velmi dobře. Důvod byl mnohem jednodušší. Při každodenním používání APRS mě obtěžovala nutnost neustále ručně měnit nastavení podle toho, co právě dělám. Když jedu autem, chci být viditelný jinak než ve chvíli, kdy jdu pěšky. Ještě jiná sada informací by se měla odesílat, když jsem doma. Pokaždé jsem na to musel myslet. A právě tehdy vyvstala otázka: proč to aplikace nemůže udělat sama? Tak začal vznikat mAPRS.

Jak vznikl nápad na mAPRS?
Hlavní předpoklad projektu byl od začátku velmi konkrétní: aplikace má fungovat co nejvíce autonomně. Nechtěl jsem před každou cestou přemýšlet, zda jsem nastavil správnou ikonu. Nechtěl jsem po zaparkování auta a zahájení procházky ručně měnit profil. Nechtěl jsem také po návratu domů myslet na další přepnutí nastavení. mAPRS má rozpoznat situaci a odpovídajícím způsobem reagovat.
Aplikace určuje, zda právě: jedu autem, jdu pěšky, nebo se nacházím doma. Na základě toho automaticky vybírá příslušné prvky odesílané do APRS — především ikonu, komentář a správný symbol/znak stanice. Uživatel tedy nemusí pokaždé ručně měnit konfiguraci. Právě tato automatizace je nejdůležitějším důvodem vzniku mAPRS a zároveň vlastností, kolem které celý projekt stavím.
Spolupráce s APRS-IS
mAPRS komunikuje se sítí APRS-IS, tedy internetovou částí infrastruktury APRS. Aplikace připravuje informace související se stanicí a předává je do sítě. Díky tomu mohou být poloha a další údaje viditelné také v jiných službách a aplikacích využívajících APRS-IS. Přitom je pro mě velmi důležité zachovat kompatibilitu s APRS. Automatizace nemá vytvářet vlastní uzavřený způsob fungování. Naopak — mAPRS má využívat stávající infrastrukturu APRS, ale provádět za uživatele část činností, které je obvykle nutné dělat ručně. Z pohledu samotné sítě jde o malý rozdíl, z pohledu člověka používajícího aplikaci každý den však o rozdíl velmi významný.
Trasa má zůstat přesná
Jedním z důležitých prvků aplikace je zaznamenávání a zobrazování trasy. Při vývoji mAPRS mi záleží na tom, aby optimalizace fungování aplikace nebyla na úkor kvality zaznamenané trasy. Pokud se po trase pohybuji, chci později vidět její skutečný průběh, nikoli několik náhodných bodů spojených přímkami. Proto nemusí mechanismy odpovědné za odesílání informací do APRS a mechanismy související s vytvářením trasy fungovat úplně stejně. Aplikace může ke správnému fungování a zobrazování trasy potřebovat podrobné informace o pohybu, přestože není nutné každou z těchto informací okamžitě odeslat do APRS-IS.
Další výzva: spotřeba energie
Aplikace, která mnoho hodin sleduje polohu, se může velmi snadno stát jedním z největších spotřebitelů energie v telefonu. Proto je optimalizace spotřeby baterie další důležitou etapou vývoje mAPRS. Nejde však o nejjednodušší řešení spočívající v méně častém zjišťování polohy. To by mohlo zhoršit kvalitu zaznamenané trasy i účinnost rozpoznávání způsobu pohybu. Cílem je najít takový způsob využívání lokalizačních mechanismů, aby aplikace dostávala potřebné informace, ale zároveň telefon nenutila k zbytečné práci. To je zvláště důležité během delší cesty nebo celodenní aktivity v terénu. mAPRS by měl dlouhodobě fungovat na pozadí, aniž by bylo nutné neustále přemýšlet, kolik baterie v telefonu ještě zbývá.
Aplikace vyvíjená po etapách
mAPRS se neustále vyvíjí. Snažím se však nezavádět mnoho náhodných změn najednou. Každá další verze má konkrétní úkol — vylepšit určitý prvek, změnit chování aplikace nebo optimalizovat stávající mechanismus. Poté nová verze míří do testování. Tento přístup umožňuje mnohem snadněji ověřit, zda daná změna skutečně přinesla očekávaný výsledek a zda zároveň negativně neovlivnila něco, co dříve fungovalo správně. Zvláště důležité je to u aplikace pracující s lokalizací na pozadí. Některé problémy se neprojeví po pěti minutách používání programu. Ukážou se až při delší jízdě, stání, procházce nebo po několika hodinách provozu. Proto jsou testy v reálných podmínkách velmi důležitou součástí celého projektu.
Nejde o vytvoření další aplikace APRS
mAPRS nemá konkurovat každému existujícímu programu počtem funkcí. To nebylo cílem projektu. Především chci vyřešit problém, na který jsem sám narazil při používání APRS. Pokud aplikace sama dokáže rozpoznat, že právě jedu, proč bych měl ručně měnit symbol auta? Pokud o chvíli později vyrazím pěšky, proč bych měl znovu otevírat nastavení? A pokud jsem se vrátil domů, telefon to také může rozpoznat. Právě tato myšlenka je pro mě nejdůležitější: APRS se má přizpůsobovat tomu, co uživatel dělá, nikoli uživatel aplikaci.
Projekt, ve kterém se sám hodně učím
mAPRS je zároveň uživatelský i technický projekt. Při jeho tvorbě musím propojovat několik zcela odlišných oblastí: fungování systému, lokalizaci, práci aplikace na pozadí, síťovou komunikaci, specifika APRS, analýzu pohybu a optimalizaci spotřeby energie. K tomu přibývá příprava dalších verzí, testování a celý proces distribuce aplikace. Každá další etapa odhaluje nové problémy, které na začátku často nejsou vidět. A právě to je na tomto projektu nejzajímavější. mAPRS nevznikl jako hotový produkt naplánovaný od první do poslední obrazovky. Vyvíjí se spolu s dalšími testy a nápady vycházejícími ze skutečného používání aplikace.
Co bude dál s mAPRS?
Základní myšlenka zůstává beze změny: co nejvíce automatizovat práci s APRS při zachování kontroly nad tím, co aplikace dělá. Další etapy vývoje se týkají především zdokonalování rozpoznávání situace, správného přepínání profilů, fungování lokalizace, způsobu hlášení polohy a omezení spotřeby energie. Chci také, aby měl uživatel jasnou informaci o tom, co aplikace právě dělá a jaká data předává do APRS-IS. Naopak mi nejde o přidávání funkcí jen proto, aby byl jejich seznam delší. Raději budu mít několik nejdůležitějších mechanismů, které fungují opravdu dobře.
mAPRS – méně přepínání, více APRS
Projekt začal velmi jednoduchým podrážděním: neustálé ruční přepínání nastavení APRS. Z toho vznikl nápad na aplikaci, která sleduje situaci a sama dokáže rozhodnout, jak má být moje stanice v daném okamžiku prezentována. Jedu. Jdu. Jsem doma. mAPRS to má rozpoznat a vhodně vybrat ikonu, komentář a symbol APRS. Bez nutnosti pamatovat na přepínače. Bez opakovaného otevírání nastavení. Právě to je hlavní myšlenka mAPRS — a od ní začal vznikat celý zbytek projektu.
Zásady ochrany osobních údajů aplikace mAPRS se nacházejí zde.

