Asukohapõhine meeldetuletaja

Juhendaja: Veiko Raime, Veljo Otsason, Mobi
Materjalid: (video) (video+slaidid) (slaidid)
Meeskond: N/A


Visioon ja sihtgrupp

Eesmärgiks on luua näidisrakendus, mis kasutaks paremini ära teadmist inimese füüsilisest asukohast ning pakuks selle abil kasulikke ja huvitavaid teenuseid.

Asukohapõhine meeldetuletaja on rakendus, mis näitab mobiiltelefoni kasutajale tema sõprade ja tuttavate asukohti ning annab märku kui mõni sõber või tuttav on läheduses. Samuti saab rakenduse abil endale asukohtadega seotud meeldetuletusi panna.

Loodav toode on sotsiaalsete rakenduste vallast ning mõeldud laiale kasutajaskonnale, eelkõige noorematele, suhtlusaltimatele ning rohkem ringi liikuvatele inimestele selleks, et sõprade ja tuttavatega paremini kontakti hoida.

Juhendajad

Veiko Raime (tehniline)
Veljo Otsason (kasutaja esindaja)

Funktsionaalsed nõuded

Süsteemil on kaks osa:

  • Mobiiltelefonis töötav Java MIDP 2.0 rakendus (klient)
  • Keskne server, millega kliendirakendused suhtlevad

Süsteem peab toetama järgmisi funktsioone:

  • Näitama nimekirja sõpradest koos nende asukohaga kuni küla, linna või asula tasemeni (a la Eesti, Tartu).
  • Eraldi näitama nimekirja lähedalasuvatest sõpradest (eri tasandid: sama riik, sama linn, jne).
  • Heliga märku andma kui mõni sõber tuleb lähedusse (samasse linna, 100 meetri kaugusele vms).
  • Võimaldama kasutajal lisada märkmeid asukohtade juurde (a la Siin hea pizza).
  • Näitama samamoodi nimekirja märkmetest (kõik, lähedalasuvad jne) ning heliga märku andma lähedusse sattumisest.
  • Kasutaja asukoha kohanime automaatselt lisama tema MSN Messengeri personal message-ks (kui kasutaja on arvutist välja loginud, logib server tema nimel sisse ja uuendab asukohateksti kui vaja).
  • Sõprade listi aluseks tuleb võtta kasutaja MSN Messengeri kontaktilist (server logib kasutaja nimel sisse ning edastab listi koos asukohtadega telefonile).
  • Salvestab kogu kasutaja liikumise ajaloo serverisse hilisemaks töötlemiseks ja õppimiseks.
  • Töötab nii lisatud Bluetooth GPS mooduliga kui ka ilma, kasutades aktiivse mobiilimasti numbrit (Cell ID) või käsitsi sisestatud asukohta.
  • Testreziim, kus kogu sisendinfo (GPS koordinaadid ja/või Cell ID) loetakse sisse failist. Selle abil peab olema võimalik süsteemi testida ilma füüsiliselt ringi liikumata.

Mõned edasiarendamisvõimalused:

  • Avalikud meeldetuletused, mida näidatakse kõigile kes vastavasse asukohta lähevad või siis mingile sihtgrupile (näiteks ainult kasutaja sõpradele).
  • Tutvusmisteenus, ehk teiste kasutajate läheduses oleku märguanded mingite tunnuste alusel, näiteks vanus ja sugu.
  • Skype tugi sarnaselt MSN Messengerile.
  • Symbian Series 60 klient Nokia telefonidele.
  • Kindlasti võib välja pakkuda ja teostada ka omapoolseid ideid.

Lisainfo

Igal mobiilimastil (cell) on olemas unikaalne number (Cell ID). Mobiiltelefon on igal ajahetkel mingi konkreetse masti juures registreeritud. Kui telefon liigub järgmise masti juurde, registreeritakse ta ümber. Mobiilis jooksvale rakendusele on masti number teada ning selle järgi on võimalik teatud täpsusega kasutaja asukoht kindlaks määrata. Täpsus oleneb siin muidugi mastide tihedusest, seega linnas on täpsem kui maal.

Selle meetodi puuduseks on see, et puudub täielik andmbaas kõigi maailma mastide asukohtadega. Vastavuste (Cell ID – geograafilised koordinaadid – kohanimi) leidmiseks ning läheduse arvutamiseks võib kasutada olemasolevaid avalikke andmebaase ning õppimist. Nimelt nii enda kui teiste kasutajate liikumise ajalugu ja mastinumbreid jälgides on võimalik asukoha ja läheduse hindamise täpsust suurendada. Eriti hea on õppida GPS mooduliga ringi liikuvate kasutajate infost, kuna nad edastavad nii mastinumbrid kui ka vastavad koordinaadid. Eesmärk on pakkuda võimalikult head keskmist täpsust, samas mitte liiga palju vigu tehes (nt parem on öelda, et inimene on lihtsalt Tartus kui et pidevalt eksida täpsema asukohaga). Vastavalt tiimiliikmete võimetele ja eelistustele on võimalik kasutada nii triviaalseid lahendusi, kui ka näiteks rakendada graafiteoorias õpitut ja masinõppe meetodeid.

Avalikult on kättesaadavad korralikud andmebaasid ja API-d nii kohanimede leidmiseks koordinaatidest kui ka vastupidi.

Asukohapõhistest meeldetuletustest:
http://www.cambridge.intel-research.net/~jscott/pubfiles/ubicomp2005-placeits.pdf

Kasutajate läheduse leidmisest:
http://research.microsoft.com/~jckrumm/Publications%202004/nearme%20distribute.pdf

Mobiiltelefonide asukoha leidmisest masti numbrite järgi:
http://placelab.org/publications/abstract.php?ID=gsm-ubicomp2006
http://placelab.org/publications/abstract.php?ID=ubicomp2005-indoorGSM

Mõned geokodeerimise andmebaasid:
http://googlemapsbook.com/geocoders
http://earth-info.nga.mil/gns/html/cntry_files.html

Mittefunktsionaalsed nõuded

Arendusplatvormiks on Java. Telefonis jooksev klient peaks olema kirjutatud J2ME-s (Java MIDP 2.0). Server peab olema kirjutatud Javas (J2EE) ning jooksma JBoss või Tomcat rakendusserveril.

Telefonis jooksev klient peab töötama vähemalt ühe konkreetse telefonimudeli peal (näiteks Motorola RAZR V3) ning emulaatoril. Vajadusel annab Mobi sobiva telefoni koos GPS mooduliga testimiseks.

Üldjuhul peab telefonis olev rakendus pidevalt töötades ühe aku laadimisega vastu pidama vähemalt ühe päeva ning mitte kasutama rohkem andmemahtu kui 50kB päevas. Loomulikult on võimalikud stsenaariumid, kus neid piiranguid ületatakse, kuid üldjuhul peaks mahtuma nende sisse.

Mõistliku riistvaraga server peab suutma korraga teenindada vähemalt 50 pidevat kasutajat.

Kasutajaliides peab olema lihtne kasutada ja õppida, ning esteetiliselt hea välja nägema.

Arendusprotsess

Valdkonnad:

  • Bluetooth GPS-iga suhtlemine J2ME-s
  • Geokodeerimise- ja mobiilimastide andmebaasidega liidestamine
  • MSN Messengeriga liidestamine avaliku API abil
  • Suhtlusprotokoll. Silmas tuleb pidada, et andmesidet maksustatakse mahu pealt ning seda, et pidev andmevahetus kulutab energiat, mis on mobiiltelefonis üsna piiratud.
  • Õppimisalgoritm. Ilma GPS-ita kasutajate korral tuleb saada võimalikult täpne tulemus ainult mastinumbreid kasutades, ning seda on võimalik õppida nii enda kui teiste kasutajate liikumise ajalugu jälgides.

Arendusele eelnevad uuring, mille tulemuseks on kirjalik aruanne (arhitektuur, algoritmide ja protokollide esialgsed kirjeldused ning muud valikud), ja kasutajaliidese prototüübi loomine.

Soovituslik iteratsioonide kava:

  1. GPS-iga liidestamine, MSN Messengeri personal message reale asukoha panemine.
  2. MSN kontaktide näitamine, asukohapõhiste märkmete lisamine, meeldetuletused kontaktidele või märkmetele lähedale sattumise korral.
  3. Mobiilimasti numbri kasutamine, testreziimi teostamine.
  4. Algoritmide ja suhtlusprotokolli optimeerimine, kasutajaliidese silumine.

Firmast

Mobi Solutions on Eesti firma, mis koostöös mobiilsideoperaatorite ja tehnoloogiafirmadega arendab uusi mobiilseid rakendusi ja pakub m-teenuseid.

Mobi asutati 2000. aasta oktoobris viie tollase Tartu Ülikooli tudengi poolt, kes kohtusid kursuseprojekti tegemise käigus. Juunis 2001 liitus Mobiga endine peaministri nõunik ja arvukate innovaatliste projektide algataja Linnar Viik.

Alates 2003. aastast on Mobi Ericsson Mobility Worldi assotseerunud partner. Samal aastal alustasime aktiivsemalt oma toodete ja teenuste turustamist väljaspool Eestit, ning käivitamise mobiilsete rakenduste arenduse ärisuuna.

Tänaseks on Mobi heaks m-partneriks enam kui 60-le ettevõttele, riigiasutusele ja organisatsioonile nii Eestis kui välismaal.

Vaata lähemalt: http://www.mobi.ee/