Fotoradaru aplikācija uz iPhone

Sen nebiju veidojis jaunas mobilās aplikācijas. Pārsvarā laika trūkuma dēļ, bet bija arī citi, plašākai publikai neinteresanti iemesli. Tā nu iedomājos, ka saistītbā ar fotoradaru ieviešanu, arī man pašam noderētu vienkārša, bet ērti lietojama mobila aplikācija, kas neuzbāzīgā veidā sniegtu informāciju par jaunajiem satiksmes organizētājiem. Tāpēc esmu izveidojis iPhone aplikāciju, par kuru šajā rakstā pastāstu mazliet plašāk.

Apraksts un fīčas
Aplikācijas pamatā ir karte, uz kuras ir atliktas fotoradaru atrašanās vietas. Par katru fotoradara punktu var saņemt detalizētāku informāciju- īsu aprakstu un koordinātes.

Lai būtu ērtāk orientēties nepazīstamā vietā, Ir iespēja apskatīt sarakstu ar desmit tuvākiem fotoradariem.

Taču pati noderīgākā fīča ir automātiskas notifikācijas par tuvumā esošajiem radariem, kas darbojas arī tad, ja aplikācija atrodas fona (background) režīmā. Notifikācija brīdina par iespējamo fotoradara atrašanas vietu brauciena maršrutā, taja pašā laikā nenovēršot autovadītāja uzmanību no ceļa.

Lai informācija par fotoradaru atrašanas vietām nezaudētu savu aktualitāti, aplikācijā ir iestrādāts informācijas atjaunošanas mehānisms, kas sinhronizējās ar Valsts polcicijas sniegto informāciju par fotoradaru atrašanas vietām. Šobrīd tas ir pieejams tikai manuāli izsaucot datu atjaunošanas funkciju no aplikācijas rīku joslas, taču nākamajā versijā būs iespēja uztaisīt tā, ka datus var atjaunot arī automātiski.

Filosofija
Ir samērā daudz aplikāciju, kas paredzētas informācijas sniegšanai par dažādiem satiksmes objektiem – sastrēgumiem, ceļu remontiem, bedrēm, policijas ekipāžām, un, protams, arī fotoradariem. Populārākās drošvien ir Waze un Trapster. Bet tām visām ir fundamentāls trūkums – aplikāciju saturu veido lietotāji, un saturs lielākoties ir neprecīzs un nepilnīgs.

Datu kvalitāte ir vissvarīgākais aspekts, bet ir arī citi iemesli, kāpēc es nelietoju, piemēram, Waze. Tam ir samērā sarežģīts interfeiss, dati un baterija tiek tērēta absolūti nevīžīgi, un es nevaru saņemt sev svarīgu un kvalitatīvi filtrētu informāciju vienkāršu notifikāciju veidā. Noteikti, ka arī Waze ir savs pielietojums un labums, bet šobrīd tas priekš manis nestrādā.

Manis veidotā aplikācija ir pretstats- aplikācija ir “logs” uz ceļu policijas datu bāzi, tātad pēc būtības datiem būtu jābūt precīziem. Lietotājam ir iespēja saņemt informāciju visvienkāršākajā un neuzbāzīgākajā veidā, ar visminimālāko baterijas patēriņu un bez datu trafika izmantošanas.

Arī šādai pieejai ir viens neatsverami liels mīnuss, proti- datu daudzums. Ceļu policija nepublicē, kad un kur atradīsies policijas ekipāžas. Arī satiksmes departamenti nepublicē apstrādājamus datus par dažādiem notikumiem uz ceļa. Attiecīgi lietotājiem nebūs īpaši interesanti katru dienu, braucot vienu un to pašu maršrutu ieslēgt Fotoradaru aplikāciju. Visreālakais pielietojums ir ieslēgt aplikāciju braucot retus / nezināmus maršrutus, lai uzzinātu par tuvumā esošajiem fotoradariem.

Jo vairāk CP, CSDD, RDSD, u.c. dalīsies ar automātiski apstrādājamu informāciju, jo aplikācija autovadītājiem kļūs noderīgāka.

Tehniskais risinājums
Pieļauju, ka ir pāris lietas, kas atsevišķiem ļaudīm varētu būt interesanti arī mazliet tehniskākā līmenī. Te būs:

– Paziņošanas fona funkcija darbojas tikai uz iPhone 3GS un jaunākiem tālruņiem. Šobrīd ir nepieciešama iOS 5.0 versija, bet ar nākamo programmatūras jauninājumu aplikācija darbosies arī uz iOS 4.0

– Paziņojumu ieslēgšana notiek uzstādījumu sadaļā, un tai ir maksimālais izmantošanas laika limits- 60 minūtes. Šis ierobežojums ir iestrādāts tālab, ka lietotājs pats noteikti aizmirstu izslēgt šo funkciju, kas rezultātā novestu pie baterijas iztukšošanās. Aplikācija paziņo par noilguma iestāšanos, tāpēc īpašām problēmām nevajadzētu būt- ir jāieslēdz aplikācija un jāuzstāda atkārtota paziņošanas uzsākšana.

– Dati par fotoradaru atrašanās vietām glabājas centralizētā datu serverī, kurš strādā ārkārtīgi žigli un resursu taupoši, pateicoties izmantotajām tehnoloģijām un datu apmaiņas protokolam.

Tehniskā līmenī, aplikāciju serveris ir veidots uz Node.js pamata un izmanto MongoDB ne-relāciju datu bāzi. Pieprasījumi tiek apstrādāti izmantojot vienkārši nodotus datu hash algoritmus, kas glabājas gan persistentajā, gan operatīvajā atmiņā un tikai nepieciešamības gadījumā aplikāciju serveris veic datu atlases pieprasījumus. Ieguvumi ir ātrāka sinhronizācija un mazāks sūtīto datu daudzms. Minētais serviss darbojas arī kā fotoradaru Valsts policijas sniegto datu apstrādātājs / kontrolieris.

Ekrānskati


App Store
Aplikācija ir pieejama App Store, un nāk par baltu velti. Par jaunumiem varēs uzzināt šajā blogā, kā arī manā privātajā twitter kontā – @pbs_lv.