mAPRS yra mano sukurtas programėlės, skirtos Android ir iOS sistemoms bei darbui su APRS, projektas. Ji atsirado ne todėl, kad rinkoje trūko APRS palaikančių programėlių — tokių programų jau yra kelios, ir daugelis jų savo užduotį atlieka labai gerai. Priežastis buvo gerokai paprastesnė. Kasdien naudodamasis APRS jaučiau susierzinimą dėl būtinybės nuolat rankiniu būdu keisti nustatymus, atsižvelgiant į tai, ką tuo metu darau. Važiuodamas automobiliu noriu būti matomas kitaip nei tada, kai einu pėsčiomis. Dar kitokį informacijos rinkinį reikėtų siųsti, kai esu namuose. Kaskart reikėdavo apie tai prisiminti. Ir būtent tada kilo klausimas: kodėl programėlė negali to padaryti pati? Taip pradėjo rastis mAPRS. 

grafika

Iš kur kilo mAPRS idėja?
Pagrindinė projekto prielaida nuo pat pradžių buvo labai konkreti: programėlė turėtų veikti kiek įmanoma autonomiškiau. Nenorėjau prieš kiekvieną išvyką svarstyti, ar pasirinkau tinkamą piktogramą. Nenorėjau pastatęs automobilį ir pradėjęs eiti pėsčiomis rankiniu būdu keisti profilio. Taip pat nenorėjau prisiminti dar kartą pakeisti nustatymų grįžęs namo. mAPRS turi atpažinti situaciją ir tinkamai į ją reaguoti.

Programėlė nustato, ar šiuo metu: važiuoju automobiliu, einu pėsčiomis ar esu namuose. Pagal tai ji automatiškai parenka tinkamus į APRS siunčiamus elementus — pirmiausia piktogramą, komentarą ir tinkamą stoties simbolį / ženklą. Taigi naudotojui nebereikia kaskart rankiniu būdu keisti konfigūracijos. Būtent ši automatizacija yra svarbiausia mAPRS atsiradimo priežastis ir kartu savybė, aplink kurią kuriu visą projektą.

Darbas su APRS-IS
mAPRS palaiko ryšį su tinklu APRS-IS, t. y. internetine APRS infrastruktūros dalimi. Programėlė parengia su stotimi susijusią informaciją ir perduoda ją į tinklą. Todėl padėtis ir kiti duomenys gali būti matomi ir kitose paslaugose bei programėlėse, naudojančiose APRS-IS. Man taip pat labai svarbu išlaikyti suderinamumą su APRS. Automatizacija neturi sukurti savito, uždaro veikimo būdo. Priešingai — mAPRS turi naudoti esamą APRS infrastruktūrą, tačiau už naudotoją atlikti dalį veiksmų, kuriuos paprastai reikia atlikti rankiniu būdu. Pačiam tinklui tai nedidelis skirtumas, tačiau žmogui, kasdien naudojančiam programėlę, jis labai reikšmingas.

Maršruto pėdsakas turi išlikti tikslus
Vienas svarbių programėlės elementų yra maršruto įrašymas ir pateikimas. Kurdamas mAPRS siekiu, kad programėlės veikimo optimizavimas nenukentėtų maršruto pėdsako kokybės sąskaita. Jei judu maršrutu, vėliau noriu matyti tikrą jo eigą, o ne kelis atsitiktinius taškus, sujungtus tiesiomis linijomis. Todėl mechanizmai, atsakingi už informacijos siuntimą į APRS, ir mechanizmai, susiję su maršruto pėdsako kūrimu, nebūtinai turi veikti visiškai vienodai. Kad tinkamai veiktų ir pateiktų maršrutą, programėlei gali reikėti išsamios informacijos apie judėjimą, nors nebūtina, kad kiekviena iš šių duomenų iš karto būtų išsiųsta į APRS-IS.

Kitas iššūkis: energijos sąnaudos
Programėlė, daugelį valandų stebinti buvimo vietą, labai lengvai gali tapti viena daugiausiai telefono energijos naudojančių programų. Todėl baterijos sąnaudų optimizavimas yra dar vienas svarbus mAPRS kūrimo etapas. Tačiau kalbama ne apie paprasčiausią sprendimą — rečiau tikrinti padėtį. Dėl to gali suprastėti maršruto pėdsako kokybė ir judėjimo būdo nustatymo tikslumas. Tikslas — rasti tokį vietos nustatymo mechanizmų naudojimo būdą, kad programėlė gautų reikiamą informaciją, bet kartu neverstų telefono dirbti be reikalo. Tai ypač svarbu ilgesnės kelionės ar visą dieną trunkančios veiklos lauke metu. mAPRS turėtų ilgai veikti fone, neverčiant nuolat galvoti, kiek telefone liko baterijos.

Programėlė kuriama etapais
mAPRS nuolat tobulinama. Tačiau stengiuosi vienu metu neįdiegti daugybės atsitiktinių pakeitimų. Kiekviena nauja versija turi konkrečią užduotį — patobulinti tam tikrą elementą, pakeisti programėlės elgseną arba optimizuoti esamą mechanizmą. Tada nauja versija perduodama testuoti. Toks požiūris leidžia daug lengviau patikrinti, ar konkretus pakeitimas iš tiesų davė laukiamą rezultatą ir ar kartu nepaveikė neigiamai to, kas anksčiau veikė tinkamai. Tai ypač svarbu programėlei, kuri fone veikia su vietos nustatymo funkcija. Kai kurios problemos neatsiranda po penkių minučių naudojimosi programa. Jas galima pastebėti tik ilgiau važiuojant, stovint, vaikštant arba po kelių veikimo valandų. Todėl bandymai realiomis sąlygomis yra labai svarbi viso projekto dalis.

Tikslas nėra sukurti dar vieną APRS programėlę
mAPRS neturi konkuruoti su kiekviena esama programa funkcijų skaičiumi. Toks nebuvo projekto tikslas. Visų pirma noriu išspręsti problemą, su kuria pats susidūriau naudodamasis APRS. Jei programėlė pati gali pastebėti, kad ką tik pradėjau važiuoti, kam man rankiniu būdu keisti automobilio simbolį? Jei netrukus pradedu eiti pėsčiomis, kodėl vėl turiu atverti nustatymus? O jei grįžau namo, telefonas taip pat gali tai atpažinti. Būtent ši idėja man yra svarbiausia: APRS turi prisitaikyti prie to, ką daro naudotojas, o ne naudotojas prie programėlės.

Projektas, kuriame pats daug ko išmokstu
mAPRS yra ir praktinis, ir techninis projektas. Kurdamas jį turiu derinti kelias visiškai skirtingas sritis: sistemos veikimą, vietos nustatymą, programėlės darbą fone, tinklo ryšį, APRS specifiką, judėjimo analizę ir energijos sąnaudų optimizavimą. Be to, reikia rengti naujas versijas, atlikti bandymus ir rūpintis visu programėlės platinimo procesu. Kiekvienas kitas etapas atskleidžia naujų problemų, kurių pradžioje dažnai nesimato. Būtent tai šiame projekte įdomiausia. mAPRS nebuvo sukurtas kaip nuo pirmo iki paskutinio ekrano suplanuotas gatavas produktas. Jis tobulėja kartu su naujais bandymais ir idėjomis, kylančiomis iš realaus naudojimosi programėle.

Kas toliau laukia mAPRS?
Pagrindinė idėja nesikeičia: maksimaliai automatizuoti darbą su APRS, išlaikant kontrolę, ką daro programėlė. Tolesni kūrimo etapai visų pirma susiję su situacijos atpažinimo tobulinimu, tinkamu profilių perjungimu, vietos nustatymo veikimu, padėties pranešimų siuntimo būdu ir energijos sąnaudų mažinimu. Taip pat noriu, kad naudotojas aiškiai matytų, ką programėlė šiuo metu daro ir kokius duomenis perduoda į APRS-IS. Tačiau nenoriu pridėti funkcijų vien tam, kad jų sąrašas būtų ilgesnis. Verčiau kelis svarbiausius mechanizmus padaryti iš tiesų veiksmingus.

mAPRS – mažiau perjungimų, daugiau APRS
Projektas prasidėjo nuo labai paprasto susierzinimo: nuolatinio rankinio APRS nustatymų perjungimo. Iš to kilo programėlės, kuri stebi situaciją ir pati gali nuspręsti, kaip tuo metu turėtų būti pateikiama mano stotis, idėja. Važiuoju. Einu. Esu namuose. mAPRS turi tai atpažinti ir atitinkamai parinkti piktogramą, komentarą bei APRS simbolį. Nereikia prisiminti apie perjungiklius. Nereikia kaskart atverti nustatymų. Būtent tai yra pagrindinė mAPRS idėja — nuo jos prasidėjo visa kita projekto dalis.

mAPRS programėlės privatumo politika pateikiama čia.