Miikka Heikkinen 

SELAINPOHJAISEN GEOKÄTKÖILYPALVELUN SUUNNITTELU JA 
TOTEUTUS

Opinnäytetyö
Kajaanin ammattikorkeakoulu
Tradenomi
Tietojenkäsittely
Syksy 2014

	OPINNÄYTETYÖ	
	TIIVISTELMÄ	

		
		
Koulutusala	Koulutusohjelma 	
Tradenomi	Tietojenkäsittely	

Tekijä(t)		
Miikka Heikkinen	

Työn nimi		
Selainpohjaisen geokätköilypalvelun suunnittelu ja toteutus	
	
vaihtoehtiset		
Vaihtoehtoiset ammattiopinnot	Toimeksiantaja	
      	Petri Muje

		
Aika	Sivumäärä ja liitteet	
Syksy 2014	33	

Opinnäytetyössä suunniteltiin ja toteutettiin virtuaalisesti toimiva virkistys- ja sivistyspalvelu. Palvelu käyttää hyödykseen GPS-teknologiaa, joka nykyään on monen käyttäjän käytettävissä älypuhelimissa.  Palvelu ottaa mallia geokätköily harrastuksesta, mutta koittaa muuttaa sitä helppokäyttöisemmäksi ja helpommin lähestyttäväksi. Palvelu toimii selaimella, eikä käyttäjän tarvitse rekisteröityä tai ladata ohjelmistoa.

Opinnäytetyössä tarkastellaan tarvittavia teknologioita palvelun mahdollistamiseksi. Verkkosivujen luomiseen tarvitaan HTML- , CSS-  ja Javascript-koodia. Tarkastellaan, mitä kukin ohjelmointikieli pystyy tekemään ja miten sitä käytetään palvelun rakentamisessa.

Palvelu on vahvasti sidottuna GPS-teknologiaan, joten opinnäytetyössä selvitetään tarkasti sen toimintaperiaatteet. Palvelua käyttääkseen tarvitsee käyttäjä mobiililaitetta, ja koska älypuhelin on mobiililaitteista yleisin, tarkastellaan älypuhelinten kasvua ja kehitystä.

Opinnäytetyö päättyy pilotointiin, jolloin projektin ulkopuolinen henkilö testaa palvelua. Pilotoinnissa nähdään palvelun toimintojen toimivuus käytännössä.
Pilotoinnista saadulla palautteella voidaan palvelua kehittää vielä paremmaksi.	
Kieli 
	Suomi	
Asiasanat	HTML, CSS, Javascript	
Säilytyspaikka	 Verkkokirjasto Theseus
 Kajaanin ammattikorkeakoulun kirjasto 	

   	THESIS
ABSTRACT	

		
School	Degree Programme	
Kajaani University of Applied Sciences	Bachelor of Business Administration	

Author(s)		
Miikka Heikkinen	

Title		
Design and implementation of browser-based geocaching service	
	
vaihtoehtiset		
Optional Professional Studies	Commissioned by	
     	Petri Muje

		
Date	Total Number of Pages and Appendices	
Autumn 2014	33	

This thesis covers the design and implementation of a virtual recreational and educational service. The service takes advantage of GPS technology, which is now mandatory in smart phones. The service borrows from the concept of geocaching, but tries to change it to be more user-friendly and accessible. The service works in a browser. The user does not need to register or download any software. 
 
The thesis examines the technologies that are needed for implementing the service. For creating a website HTML, CSS and JavaScript code are needed. The work includes information on what each programming language can do and how it is used in the construction of the service. 
 
The service is strongly tied to GPS technology, so the thesis aims to study carefully the principles of how GPS operates. The service requires the user to have access to a mobile device, and because the smart phone is the most common mobile device, the thesis also studies the smartphone growth and development.  
 
The thesis ends in testing the service by a non-project party. The testing will show the functionality of the service in practice. The test feedback will help to further develop the service.	
Language of Thesis	Finnish	
Keywords	HTML, CSS Javascript	
Deposited at	 Electronic library Theseus
 Library of Kajaani University of Applied Sciences

SISÄLLYS
1 JOHDANTO	1
2 geokätköily	3
3 GPS	5
3.1 GPS	5
3.2 A-GPS & DGPS	6
3.3 GPS-navigaattorit	7
3.4 Älypuhelimet	8

4 Verkkosivujen osat	11
4.1 HTML	12
4.2 CSS	13
4.3 Javascript	14
4.4 jQuery	15
5 SELAINpohjainen geokätköilypalvelu	17
5.1 Suunnittelu	17
5.2 Määrittely	18
5.3 Käyttöönotto	19
5.4 Testaus & Pilotointi	19
6 toteutus	21
6.1 Head-elementti	21
6.2 Body-elementti	22
6.3 Javascript	23
6.4 CSS	24
6.5 Ominaisuudet	26

7 pohdinta	30
Lähteet	32

SYMBOLILUETTELO

3G	Kolmannen sukupolven matkapuhelintekniikka joka asettaa standardin mobiililaitteiden tietoliikenteelle.

4G	Neljännen sukupolven matkapuhelintekniikka joka asettaa standardin mobiililaitteiden tietoliikenteelle.

Ajax	Web-sovelluskehityksen tekniikoita, joilla web-sovelluksista voidaan tehdä vuorovaikutteisempia.

ANT-verkko	Langaton teknologia joka mahdollistaa monitorointilaitteiden keskustelemisen keskenään.

Hyperlinkki	Hyperlinkit ovat helppo tapa auttaa lukijaa siirtymään joko WWW-sivulle, johon linkki viittaa tai asiakirjan kohtaan, johon linkki viittaa.

Java	Teknologiaperhe ja ohjelmistoalusta, joka sisältää suositun oliopohjaisen ohjelmointikielen.

JIT-kääntäjä	Teknologia joka kääntää metodin kerrallaan tavukoodista konekoodiksi, tämä nopeuttaa sovelluksia.

Metatieto	Tietoa tiedosta, eli esimerkiksi asiakirjaa kuvailevaa tietoa.

Renderointi	Kuvan luomista mallista tietokoneohjelman avulla.

Skripti	Komentosarjakielen komentosarjoja, joilla automatisoidaan tehtäviä.

Tagi	HTML-ohjelmointikielen elementtien rajausmerkintä.

W3C	Kansainvälinen yritysten ja yhteisöjen konsortio, joka kehittää ja ylläpitää WWW:n standardeja.

WWW	Internet-verkossa toimiva hajautettu selaimella luettava hypertekstijärjestelmä.

•	JOHDANTO 
Aloitin Aikamatkan Vuokatti-projektissa työskentelyn kesällä 2014, jolloin sain kesäopinnoikseni Aikamatkan Vuokatti-projektin verkkosivujen toteuttamisen. Aikamatkan Vuokatti-projektin tavoitteena oli luoda verkkosivusto, jolla pystytään tarkistamaan käyttäjän sijainti ja antaa geologista tietoa sijainnista. Käyttäjän täytyisi olla oikeassa paikassa jotta seuraava sivu avautuisi ja geologinen tieto näytettäisiin. Näin jokaisesta vaaditusta sijainnista muodostuisi rata. Projektissa yhdistyisi liikkuminen luonnossa, helppokäyttöinen selainpohjainen palvelu ja paikallisen geologisen tiedon saaminen.
Aikamatka –hanke on Euroopan unionin maaseuturahaston, Elävä Kainuu LEADER:n, Kajaanin ammattikorkeakoulun ja Geologian tutkimuskeskuksen rahoittama. Aikamatkan Vuokatti-projekti pyrkii lisäämään alueen asukkaiden ja eritoten  paikallisten nuorten, matkailuyrittäjien ja matkailijoiden tuntemusta alueesta. Maisemaa voitaisiin tiedon kautta hyödyntää aiempaa paremmin muun muassa osana matkailun palvelutuotteita. Hankkeella pyritään lisäämään asukkaiden viihtyvyyttä, kehittää matkailuyritysten toimintaedellytyksiä ja vahvistamaan paikallista identiteettiä. Aikamatkan Vuokatin projekti yhdistää uudella tavalla KAMK:n aktiviteettimatkailua ja tietoteknistä osaamista GTK:n geologiseen tietoon. Geokätkörata pyritään saamaan osaksi Vuokatin liikuntamahdollisuuksia.  Geokätköilyllä pyritään saamaan erityisesti vähän liikkuvia nuoria liikkumaan. Geokätköily yhdistää nuorille kiinnostavasti liikunnan ja nykyaikaisen teknologian.
Jouduin kuitenkin suuren osan kesästä opiskelemaan HTML-kuvauskielen perusteita, koska en omannut aiheesta aiempaa kokemusta. HTML-opiskeluiden edetessä kävin läpi CSS:n ja Javascriptin perusteita. Sain kesän aikana tehtyä testisivuja, mutta en saanut sivuja pilotointia varten valmiiksi. Päätin jatkaa projektia opinnäytetyössä, koska nautin ajastani HTML:llä työskentelyn parissa. Verkkosivujen suunnittelussa kiehtoo teknisen osaamisen ja graafisen kädenjäljen yhdistyminen. Lisäksi Aikamatkan projekti, vaikka lainaakin geokätköilystä ideoita, on ajatukseltaan uusi ja kiehtova. Projektin kasvupotentiaali oli huomattava, koska yhden radan tehtyä voidaan samalla tekniikalla toteuttaa monia sivuja.
Työn tavoitteena oli saada testattua ja pilotoida Aikamatkan Vuokatin projektin geokätkörata. Verkkosivulle ei ollut tarkkoja vaatimuksia, kunhan radan rakentaminen onnistuu ja verkkosivu voi paikantaa käyttäjän sijainnin. Opinnäytetyössä oli tarkoituksena toteuttaa ”proof of concept”, eli toteuttaa itse verkkosivu ja testata palvelun toimivuus. 

•	geokätköily
Kun vuonna 2000 USA:n presidentti Clinton ilmoitti, että alun perin sotilaskäyttöön suunnitellun GPS-järjestelmän siviilihäirintä kytketään pois, mahdollistui GPS-järjestelmän tarkka siviilikäyttö. Samana vuonna Dave Ulmerilla oli ehdotus tuon siviilihäirinnän poistamisen kunniaksi. Hän piilotti esineitä Portlandin metsään ja ilmoitti esineiden sijainnin USENET-uutisryhmässä. Tämä tapahtuma oli geokätköilyn ensiaskel. Kätkö löydettiin vuorokauden sisällä. Muutama päivä Ulmerin ilmoituksesta kätköjä oli piilotettu Kaliforniaan, Kansasiin ja Illinoihin. Kuukauden sisällä geokätköjä oli tehty jopa Australiassa asti. Kuukauden sisällä harrastukselle oli tehty verkkosivu geokätköjen listaamiseksi, vielä nykyisinkin olemassa oleva postituslista harrastuksesta puhumiseksi ja geokätköilyn nimeksi oli päätetty ”geocaching” (suomeksi geokätköily). Geokätköily-harrastus oli kasvamassa maailmanlaajuiseksi ilmiöksi. (GPSgames, 2010.)
Geokätköily oli loogista jatkumoa lodjauksesta. Lodjauksessa yhdistyi patikointi, aarteenmetsästys ja luova tekeminen. Lodjauksessa käyttäjät etsivät piilotettuja kirjelaatikoita seuraamalla internettiin julkaistuja vihjeitä. Käyttäjät leimaavat leiman muistioonsa kätkössä olleella leimasimella. Lodjaajilla on käytössä henkilökohtainen leimain, jolla he leimaavat leimansa kirjalaatikon lokikirjaan. (Silent, 2002.)
Samana vuonna kun geokätköily sai alkunsa,  Jeremy Irish ilmoitti rekisteröineensä domain-nimen geocaching.com ja perustaneensa sinne oman verkkosivunsa. Hän kopioi aiemmin sinä vuonna ilmestyneen geokätköily-verkkosivun kätköt omalle sivulleen. Sivun perustamisesta lähtien Irish yritti löytää tapoja joilla tehdä verkkosivulla rahaa. Hän myi GPS-laitteiden valmistajille ja jälleenmyyjille mainostilaa, mutta huomasi pian että ne eivät tuottaneet paljoa rahaa. Hän vastaanotti lahjoituksia PayPal:n kautta ja alkoi myymään harrastukseen liittyviä vaatteita. (GPSgames, 2010.)
Joitakin Irishin päätöksiä paheksuttiin geokätköily-yhteisössä. geocaching.com:n ollessa vielä nuori, Irish yritti tehdä verkkosivuistaan myös lodjausta sisältävän sivuston. Geokätköily-yhteisö ei halunnut geocaching.com:n sisältävän lodjaukseen liittyvää asiaa. Aikanaan Irish luopui yrityksestä laajentaa sivusto lodjausta sisältäväksi. (GPSgames, 2010.)
Vuonna 2001 Irish laajensi geocaching.com:n toimintaa enemmän yritysmäiseksi. Sivustolla julkaistiin vain jäsenille näkyvät rastit. Jäsenmaksu oli 30 dollaria vuodessa. Vaikka maksullisia palveluita vastaan oli geokätköily-yhteisössä vastarintaa, vakiintui käytäntö lopulta. Vuonna 2003 geocaching.com:lla oli yli 150000 rekisteröitynyttä käyttäjää, sisältäen noin 7200 jäsenmaksua maksavaa jäsentä. Vuosien saatossa on perustettu monia geokätköily-sivustoja, mutta geocaching.com on tähän päivään asti pysynyt ehdottomasti laajimpana sivustona. (GPSgames, 2010.)
Geokätköily on ulkona tapahtuva harrastustoiminta, jossa GPS-paikannusta hyödynnetään erilaisten kätköjen löytämiseen. Geokätköilyssä pääsääntöisesti käytetään käyttäjätunnus- ja sovelluspohjaisia palveluita. Geokätköilysivustoja on olemassa monia. Suosituin sivustoista on geocaching.com. Geokätköjen koordinaattien saamiseen täytyy käyttäjän tehdä käyttäjätunnukset sivulle. Sivusto ei listaa ei-fyysisiä kätköjä. Kätköt ovat yleensä pieniä vedenkestäviä rasioita, jotka sisältävät lokikirjan. Löydettyään kätkön, käyttäjä palauttaa sen alkuperäiseen paikkaan. Uutta geokätköä tehdessä käyttäjä asettaa kätkön haluamaansa paikkaan, tallentaa paikan koordinaatit ja merkitsee kätkön koordinaatit ja muun tarpeellisen tiedon geokätköjä listaavalle sivulle. Muut käyttäjät näkevät tämän geokätkön listattuna ja voivat löytää sen. Yleensä geokätköilypalvelut käyttävät kätköjen tarkastajia ennen kuin kätkö listataan heidän sivuilleen. Kätköjen tarkastajat varmistavat että kätkön koordinaatit ovat oikein ja että kätkö on ohjeistusten mukainen. Kätköihin voidaan jättää pieniä esineitä, joita käyttäjä voi ottaa mukaansa muistoksi, kunhan hän jättää vastaavanlaisen esineen kätköön. (Geocaching, 2014.)
•	gps 
1960-luvulla Kylmän sodan aikaan, Neuvostoliiton Sputnik satelliitin inspiroimana, kehitettiin alun perin sotilas- ja tiedustelukäyttöön verkosto satelliitteja, jotka kiersivät maapalloa määrätyillä radoilla ja lähettivät signaalia maapallolle GPS-vastaanottimiin. Ensimmäinen USA:n satelliittijärjestelmä oli nimeltään Transit. Transit lähetettiin kiertoradalle vuonna 1960. Viidellä satelliitilla pystyttiin tarkistamaan laivojen sijainti tunnin välein. Vuonna 1967 Transit korvattiin uudemmalla Timation satelliittijärjestelmällä. Timation havainnollisti atomikellojen toiminnan avaruudessa. GPS-järjestelmä kehittyi nopeasti sotilaskäyttöön kun vuosien 1978 ja 1985 välillä lähetettiin yhteensä 11 Block satelliittia kiertoradalle. Nykypäivänä GPS:ää käytetään monissa navigointisovelluksissa, reittien löytämisessä, karttojen teossa, maanjäristysten tutkimisessa, ilmaston tutkimisessa ja geokätköilyssä. (Mio, 2014.)
3.1 GPS
GPS eli maailmanlaajuinen paikallistamisjärjestelmä (englanniksi ’Global Positioning System’) on satelliittipohjainen navigointijärjestelmä, joka koostuu 24:sta kiertoradalle lähetetystä satelliitista. Yhdysvaltain puolustusministeriö lähetti satelliitit alun perin sotilaalliseen käyttöön, mutta 1980-luvulla Yhdysvaltain hallitus salli myös siviilien käyttää satelliitteja. GPS toimii kaikkialla maapallolla, missä tahansa ja vuorokauden ympäri. (Garmin, 2014.)
GPS-satelliitit kiertävät maapallon kahdesti päivässä lähettäen jatkuvasti informaatiosignaalia maapallolle. GPS-vastaanottimet laskevat kolmiomittauksella tämän informaation perusteella käyttäjän tarkan sijainnin. GPS-vastaanottimen täytyy olla yhteydessä vähintään kolmeen satelliittiin laskeakseen kaksiulotteisen sijainnin (leveys- ja pituusaste) ja seuratakseen liikettä. Olemalla yhteydessä neljään tai enempään satelliittiin  GPS-vastaanotin voi laskea käyttäjän sijainnin kolmiulotteisesti (leveysaste, pituusaste ja korkeus). Kun käyttäjän sijainti on saatu selville, GPS-vastaanotin voi laskea muuta informaatiota, kuten esimerkiksi liikkeen nopeutta, suuntaa, välimatkaa tiettyyn sijaintiin, auringonnousua ja auringonlaskua. (Garmin, 2014.)
GPS-satelliitit toimivat aurinkoenergialla. Satelliiteilla on kuitenkin vara-akut auringonpimennyksiä varten. Satelliiteissa on pienet rakettitehostimet, jotka takaavat sen, että satelliitit pysyvät oikealla radalla. Satelliitin elinikä on noin 10 vuotta. Korvaavia satelliitteja valmistetaan ja lähetetään jatkuvasti kiertoradalle. (Garmin, 2014.)
GPS-satelliitit lähettävät kahta pienivirtaista radiosignaalia nimeltään L1 ja L2. L1-signaali on tarkoitettu siviilikäyttöön ja se käyttää 1575.42 MHz taajuutta UHF-taajuusalueella. Signaali kulkee näköyhteydellä, eli se kulkee pilvien, lasin ja muovin läpi, muttei kiinteän materian läpi, kuten rakennusten tai vuorien. L2-signaali on matalampitaajuinen signaali, joka on tarkoitettu armeijan käyttöön. GPS-signaali sisältää kolmea erilaista informaatiota, pseudosatunnaiskoodeja, efemeridikoodia ja almanakkadataa. Pseudosatunnaiskoodia käytetään tunnistamaan mistä satelliitista informaatio on peräisin. GPS-satelliitit lähettävät efemeridikoodia jatkuvasti ja se sisältää tietoa satelliitin tilasta, nykyisen päivämäärän ja ajan. Efemeridikoodi on välttämätön signaalin vastaanottajan sijainnin tietämiseen. Almanakkadata kertoo GPS-vastaanottajalle, missä GPS-satelliitti on minä tahansa aikana. (Garmin, 2014.)
3.2 A-GPS & DGPS
A-GPS on lyhenne sanoista Assisted Global Positioning System. Uudelleen käynnistäessäsi GPS-vastaanotin, tarvitsee sen löytää oikeiden satelliittien kiertorata ja kellodata. Tämä voi kestää 30:stä sekunnista muutamaan minuuttiin. Aika riippuu sijainnistasi ja siitä kuinka paljon on häiriötä signaalille. Mitä avoimempi alue, sitä vähemmän on häiriötä signaalin kululle. Käyttäessäsi A-GPS:ää tämä prosessi nopeutuu. Yleensä mobiiliverkkotorneissa on GPS-vastaanotin joka kerää jatkuvasti dataa GPS-satelliiteista. Tätä dataa voidaan antaa eteenpäin mobiiliverkkoa käyttäville puhelimille. Näin mahdollistetaan nopeampi sijainnin haku, puhelimen pienempi prosessoinnin tarve joka säästää puhelimen akkua ja parantaa sisätiloissa tai ei optimaalisessa sijainnissa sijainnin hakua. A-GPS ei ole standardisoitu, vaan järjestelmät ovat erilaisia eri valmistajilla. (Rubino, 2009.)
Differentiaalista GPS:ää käytetään tarkentamaan GPS:n antamaa sijaintia. Differentiaalinen korjaus voidaan lisätä reaaliaikaisesti käytössä tai jälkikäteen. Molemmat tavat hyödyntävät samoja periaatteita, mutta ne käyttävät eri lähteistä dataa, joten niiden tarkkuudet eroavat. Molempien tekniikoiden yhdistäminen tuottaa joustavuuden datan keräämisessä ja parantaa datan eheyttä. Differentiaalinen GPS tarvitsee GPS-vastaanottimen, joka sijoitetaan tarkasti tiedettyyn sijaintiin. Tämä GPS-vastaanotin laskee sijaintinsa satelliittien signaaleista ja vertaa tätä sijaintia ennalta tiedettyyn sijaintiin. Sijaintien ero lisätään GPS-dataan jota liikkuva GPS-vastaanotin tallentaa. (Chivers, 2014.)
 3.3 GPS-navigaattorit
Vaikka älypuhelimista löytyy nykyään GPS-vastaanotin, tarjoavat GPS-navigaattorit joitakin etuja älypuhelimeen.
•	Kestävyys: GPS-navigaattorit on suunniteltu maastokäyttöön. Useimmat GPS-navigaattorit ovat vedenkestäviä. 
•	Akun kesto: GPS-navigaattorin paristot kestävät yleensä 15 tuntia tai enemmän. Useimmat GPS-navigaattorit käyttävät AA-paristoja, ja niillä on usein mahdollisuus käyttää ladattavia litium-akkuja. 
•	Kantavuus: GPS-navigaattori tarvitsee vain selkeän näkymän taivaalle määrittääkseen sijaintinsa. Useimmat navigaattorit voivat määrittää sijainnin myös tiheän puuston takaa. GPS-navigaattorien kantavuus ei rajaudu palveluntarjoajan kantavuusalueelle. 
•	Ominaisuudet: GPS-navigaattorit sisältävät yleensä ilmapuntarin, jolla voi seurata vaihtuvia säätiloja. Navigaattorit sisältävät usein myös elektronisen kompassin suuntatietojen saamisen helpottamiseksi. Useat navigaattorit sallivat langattoman koordinaattien vaihtamisen, reittien ja geokätköjen seuraamisen. Navigaattoreita voidaan jopa yhdistää langattomasti tietokoneisiin, sykemittareihin ja muihin ANT-verkkoja käyttäviin laitteisiin. 
•	Kartoitus: GPS-laite ei tarvitse matkapuhelimen datansiirtoa ladatakseen kartan. Monet navigaattorit käyttävät monenlaisia karttavaihtoehtoja, sisältäen topografisen kartan, tie ja vesiväylien kartoituksen ja satelliittikuvien näyttämisen. Tarkat kartoitukset pitää ostaa erikseen kertaostoksella. (Rei, 2014.)

3.4 Älypuhelimet
Vuonna 2013 6 % ihmisistä omistivat tabletin ja 22 % ihmisistä omisti älypuhelimen. Älypuhelinten käyttäjiä oli jo vuonna 2012 enemmän kuin PC:n omistajia. (Heggestuen, 2013.)
eMarketer odottaa matkapuhelinten käyttäjien määrän nousevan  4,55 miljardiin. Vaikka käyttäjien kasvu on laskemassa, uusia käyttäjiä tulee Tyynenmeren länsirannikolta, Lähi-idästä ja Afrikasta. Vuoteen 2017 mennessä odotetaan käyttäjämäärän nousevan 69,4 % maapallon väestöstä. Älypuhelinten käyttäjämäärä rikkoi miljardin rajan vuonna 2012 ja on vuonna 2014 yli 1,75 miljardia. Matkapuhelinten käyttäjät ovat nopeasti siirtymässä älypuhelimiin, koska älypuhelimet halventuvat ja 3G- ja 4G-verkot kehittyvät. Yli 2,23 miljardia ihmistä maapallolla käy verkossa matkapuhelimella vuonna 2014. (eMarketer, 2014.)
Matkapuhelin pystyy antamaan tietoa sijainnistasi ilman GPS-vastaanotinta. Tietokone voi määrittää sijaintisi matkapuhelimen signaalin perusteella. Näin voidaan laskea kulma, mistä matkapuhelinsignaali tulee, kauanko signaalin kestää kulkea useampiin torniin, signaalin voimakkuus, kun se saapuu puhelintorniin. Signaalin kulkua voivat estää esimerkiksi puut ja rakennukset, miksi tämä tapa määrittää sijainti on epäluotettava. Matkapuhelimen tapaan GPS-vastaanottaja käyttää radioaaltoja. Radiotornien sijaan se kommunikoi satelliittien kanssa, jotka kiertävät maapalloa. (Wilson, 2014.)
Lähes kaikissa uusissa matkapuhelimissa on mahdollisuus vastaanottaa GPS-signaalia.  Ne joissa ei ole suoraa GPS-ominaisuutta voivat käyttää edellä mainittua tekniikkaa, joka paikantaa sijainnin matkapuhelimen signaalin perusteella. Joissakin matkapuhelimissa on täysiveroinen GPS-vastaanotin valmiina tai pystyy ottaa yhteyden sellaiseen Bluetooth-yhteydellä. Tällaiset GPS-valmiit puhelimet pystyvät ymmärtämään ohjelmointikieliä kuten Javaa ja pystyvät antamaan tarkat suuntaohjeistukset ja informaatiota läheisistä yrityksistä ja nähtävyyksistä. Näitä ominaisuuksia käyttääkseen pitää olla joko GPS:ää käyttävä matkapuhelin, sopiva GPS-vastaanotin tai puheliittymä, joka tukee karttojen ja GPS-datan lähettämistä. Palvelusopimus tai ohjelmisto voi myös tarjota kartat ja suunnat. Yleisimpiä käyttötarkoituksia GPS-puhelimille ovat:
•	Sijainnin seuranta: Jotkut työnantajat käyttävät GPS:ää käyttäviä puhelimia seuratakseen työntekijöidensä liikkumista, ja jotkut yritykset tarjoavat sijainnin seurantapalveluita GPS:ää käyttäville matkapuhelimille. Wherifonen paikanninpuhelin tarjoaa GPS-koordinaatit ja pystyy soittamaan hätäpuhelinnumeroihin. Vanhemmat ja huoltajat voivat seurata matkapuhelimen sijaintia matkapuhelimella tai internetissä ja saavat muistutuksia, jos matkapuhelin lähtee ennalta määrätyn ”turva-alueen” ulkopuolelle. 
•	Tarkat suuntaohjeet: GPS:ää käyttävät puhelimet voivat usein näyttää tarkkaa suuntaneuvontaa ja ilmoittaa ne puhelimen kaiuttimista. Yleensä tällaista palvelua tarjotaan kuukausimaksua vastaan ja palvelu käyttää tietokantaa kartoista antaakseen tarkat suuntaohjeet. 
•	Ulkotila palvelut: Esimerkiksi Trimble Outdoors tarjoaa karttoja ja sijaintiin perustuvia palveluita patikointiin, vuoripyöräilyyn, geokätköilyyn ja muihin ulkotilaharrastuksiin. 
•	Muut sijaintiin perustuvat palvelut: Jotkut yritykset pyrkivät tuottamaan uutisia, mainoksia ja muuta informaatiota matkapuhelimeen sen sijainnin perusteella. (Wilson, 2014.)
Jotkin GPS-puhelimet käyttävät langattomasti avustettua GPS:ää määrittääkseen käyttäjän sijainnin. Langattomasti avustetuissa järjestelmissä matkapuhelin käyttää GPS-satelliitteja yhdessä matkapuhelinsignaalin kanssa. Langattomasti avustettu GPS voi usein löytää käyttäjän sijainnin nopeammin kuin pelkkä GPS-vastaanottaja ilman langatonta avustusta. (Wilson, 2014.)
Toukokuussa 2014 ITU (International Telecommunication Union) julkaisi tiedotteen, että vuoden 2014 loppuun mennessä maapallolla on melkein 3 miljardia internetyhteyttä. Mobiiliverkkoyhteyssopimukset saavuttavat lähes 7 miljardin rajan vuoden 2014 loppuun mennessä.  Mobiiliverkkoyhteyssopimuksien kasvu johtuu lähinnä kehittyvien maiden kasvusta, jotka kattavat 78 % maapallon mobiiliverkkoyhteyssopimuksista. Mobiiliverkkoyhteyssopimuksien kasvuprosentti on vähäisimmillään, mikä tarkoittaa että markkinoilla ei ole enää tilaa kasvaa, koska haluavilla asiakkailla on jo mobiiliverkkoyhteyssopimus. (ITU, 2014.) 
Ericssonin Mobility Reportin mukaan suurin osa puhelimista on kytkettynä GSM-yhteyden kautta mobiiliverkkoon, mutta vuoteen 2016 mennessä suurin osa laitteista on yhdistettynä verkkoon 3G- tai 4G-teknologialla. Mobiilidatan uskotaan kasvavan jopa nelinkertaiseksi nykyiseen verrattuna vuoteen 2019 mennessä. Älypuhelinten ja niiden käyttämän datan määrän kasvaessa uskotaan vuoteen 2019 mennessä mobiiliverkkojen dataliikenteen kasvavan kymmenkertaiseksi nykyisestä. LTE-verkkojen oletetaan kasvavan kattamaan noin 80 prosenttia Euroopan väestöstä vuoteen 2019 mennessä. Suomen teleoperaattorit ovat sitoutuneet 95 % kattavuuden saamiseen Manner-Suomessa vuoteen 2017 mennessä ja 97—99 % kattavuuden saamiseen vuoteen 2019 mennessä. (Ericsson, 2014.)

•	Verkkosivujen osat
Verkkosivujen perustana toimivat HTML, CSS ja Javascript. Pelkällä HTML:llä pystyy toteuttamaan sisällön, sivun tyylin ja asettelun, mutta se ei ole tehokkain tapa. Ilman CSS:ää jokainen HTML-tiedosto kasvaisi koossa, joka tekisi siitä hitaamman ladata ja vaikeaselkoisemman verkkosivujen kehittäjälle. Sivujen päivittäminen on myös huomattavasti tehokkaampaa CSS:ää käyttämällä, koska jokaiselle sivulle ei tarvitse erikseen kirjoittaa muutoksia, riittää vain että yhtä CSS-tiedostoa muokataan. HTML on kuvauskieli joka muodostuu elementeistä, jotka sisältävät joitain ominaisuuksia. Näitä elementtejä käytetään kuvaamaan erilaisia sisältöjä jota verkkosivulle tulee. HTML:n selkeästi jaettu rakenne eri elementteihin sopii hyvin CSS:n kanssa yhteen, jossa dokumentin ulkonäköä voi muokata osa osalta. CSS toimii ennalta määrättyjen sääntöjen mukaan, joilla HTML-elementtien ominaisuuksia voidaan muokata. Javascript on komentosarjakieli, jolla voidaan lisätä dynaamista käyttäytymistä verkkosivulle. Javascript toimii usein samalla tavalla kuin CSS, eli ensiksi määrittää HTML-elementin kohteekseen ja sen se muokkaa elementtiä. (Lane, 2014.)

Kuvio 1. Verkkosivujen rakenne.
•	4.1 HTML
•	HTML on standardoitu kuvauskieli, joka on luotu verkkosivujen luomista varten. Näitä verkkosivuja voi lukea kenen tahansa toimesta internet-yhteydellä. HTML on suhteellisen helppoa oppia, mutta tarjoaa monipuolisia mahdollisuuksia verkkosivujen luomiseen. HTML:ää työstetään jatkuvasti paremmaksi, jotta se pystyy tarjoamaan ajankohtaisia ominaisuuksia. Päivitystyötä tekee W3C, joka on organisaatio, jonka vastuuna on suunnitella ja pitää HTML ajan tasalla. HTML on lyhenne sanoista HyperText Markup Language. (Shannon, 2012.)
•	Hypertext on tapa, jolla kuljetaan verkossa, klikkaamalla hyperlinkkejä, jotka vievät seuraavalle sivulle. ”Hyper” tarkoittaa tässä tapauksessa sitä, että linkit eivät ole lineaarisia. Voit siis mennä minne tahansa verkossa linkkejä klikkaamalla. 
•	Markup, merkkaus, tarkoittaa HTML-tagien sisään tulevaa tekstiä. Teksti merkataan tietynlaiseksi tekstiksi. 
•	HTML on kieli, koska siinä on koodisanoja ja syntaksia kuten muissakin kielissä. (Shannon, 2012.)
HTML sisältää sarjoja lyhyitä koodityyppejä kirjoitettuna tekstitiedostoon sivun kirjoittajan toimesta. Nämä ovat tageja. Teksti tallennetaan HTML-tiedostona. Tiedoston teon jälkeen tiedostoa voi tarkastella selaimessa. Selain lukee tiedoston ja kääntää tekstin näkyvään muotoon, toivottavasti renderöiden sivun kuten sivun kirjoittaja sen halusi. (Shannon, 2012.)
Tagit erottavat normaalin tekstin HTML-koodista. Erilaiset tagit sallivat erilaisia funktioita. Tagit eivät näy selaimella sivua katsellessa, mutta niiden efektit näkyvät. Yksinkertaisimmat tagit vain muokkaavat tekstiä, esimerkiksi tekevät siitä paksumman. ”<b>Nämä sanat ovat paksuja</b> ja nämä eivät ole.” Edellä olevassa esimerkissä ”<b>”-tagien sisällä oleva teksti on paksua. (Shannon, 2012.)
HTML:llä ei voi tehdä kaikkea verkkosivuille, vaikka se toimiikin sivujen perustana. Cascading Stylesheetillä voi muokata sivun ulkoasua ja käytettävyyttä. Erikoisefektit ja kehittyneemmät ominaisuudet voidaan tehdä Javascriptillä. (Shannon, 2012.)
•	4.2 CSS
CSS, Cascading Style Sheets (kirjaimellisesti ”porrastetut tyyliarkit”), sai alkunsa vuonna 1997 tapana verkkosivujen suunnittelijoille määrittää sivujensa ulkoasu ja tunnelma. Sen tarkoituksena oli jakaa sivun sisältö ja tyyli erilleen. Näin HTML voisi suorittaa enemmän toimintoja, joihin se oli alun perin tarkoitettu, sisällön merkkaukseen, ilman että tarvitsisi huolehtia muotoilusta ja ulkoasusta. (Kyrnin, 2014.)
CSS tuli suosioon vasta 2000-luvulla, jolloin verkkosivut alkoivat käyttää muuta kuin perusfontteja ja värejä. Nykyään kaikki modernit selaimet tukevat ensimmäisen tason CSS:ää, useimmat toisen tason CSS:ää ja joitakin ominaisuuksia kolmannen tason CSS:stä. Nykyään ei löydy monia verkkosivujen suunnittelijoita, jotka eivät käyttäisi CSS:ää. (Kyrnin, 2014.)
Tyyliarkki viittaa itse asiakirjaan. Tyyliarkkeja on käytetty asiakirjojen suunnitteluun vuosia. Tyyliarkit ovat tekniset määritteet ulkoasulle. Tyyliarkki kertoo verkkosivulle, kuinka asiakirja renderöidään nähtäväksi. (Kyrnin, 2014.)
Jokainen verkkosivu noudattaa ainakin yhtä tyyliarkkia, vaikka verkkosivun suunnittelija ei olisi erikseen sitä tehnyt. Verkkoselaimet käyttävät oletustyyliarkkia jos tyyliarkkia ei ole erikseen tehty. CSS:llä voi myös määrittää, miltä verkkosivu näyttää kun sitä tarkastellaan muilla tavoin kuin verkkoselaimella. (Kyrnin, 2014.)
CSS on yksi tärkeimmistä työkaluista, joita verkkosivun suunnittelija voi käyttää, koska tyyliarkki vaikuttaa koko verkkosivun tunnelmaan ja sävyyn. Hyvin kirjoitetut tyyliarkit voidaan päivittää nopeasti. (Kyrnin, 2014.)
•	4.3 Javascript
Javascript on ohjelmointikieli, joka on suunniteltu interaktiivisuuden lisäämiseen verkkosivuilla ja verkko-ohjelmien luontiin. Javascriptin loi Netscape Communications Corp. Netscape navigator 2-selaimen betatestauksessa vuonna 1995. Javascriptiä ei pidä sekoittaa Javaan, joka on eri kieli. Javascript ja Java tosin toimivat hyvin yhteistyössä. Asiakaspuolen Javascript-ohjelmat ja skriptit voidaan upottaa suoraan HTML-koodin sekaan. Riippuen verkkosivun suunnittelijan halusta, skripti voidaan käydä läpi, kun käyttäjä avaa verkkosivun, klikkaa tai vetää sivun elementtiä hiirellä, kirjoittaa jotain näppäimistöllä, lähettää lomakkeen tai lähtee sivulta. Javascript käyttää olio-ohjelmoinnin lähestymistapaa ja prototyypillistä periytymistä. Ohjelmointikieli tukee monia sisäänrakennettuja objekteja ja ohjelmoijat voivat luoda tai poistaa omia objekteja. Prototyypillinen periytyminen tekee Javascriptistä erilaisen ohjelmointikielen verrattuna muihin suosittuihin ohjelmointikieliin, kuten C++ ja C#, jotka käyttävät luokkia ja luokallista periytymistä. Javascriptissä ei siis ole perinteisiä luokkia, vaan objektit voivat periä ominaisuuksia suoraan toisiltaan, muodostaen objektien prototyyppiketjun. (Javascripter, 2011.)
Javascript on tulkinnallinen ohjelmointikieli, jossa on mahdollisuus dynaamiseen kääntämiseen. Vanhemmissa versioissa Javascript oli pelkästään tulkinnallinen ohjelmointikieli, tarkoittaen, että skriptit suoritetaan ilman alustavaa kokoamista, eli ilman skriptin muuttamista tekstistä järjestelmäriippuvaiseen konekoodiin. Käyttäjän selain tulkitsee skriptin sellaisenaan, analysoi sen ja välittömästi suorittaa sen. Modernimmissa Javascript-toteutuksissa koodi voidaan joko tulkita tai koota käyttäen JIT (just-in-time)-kääntäjää. Suoritusta tehdessään selain päättää, pitääkö osa skriptistä JIT-kääntää paremman suorituskyvyn takaamiseksi. Tämä tekee Javascriptistä huomattavasti nopeamman ja näin paremmin sopivan monimutkaisiin ja suorituskykyä vaativiin verkkosovelluksiin. Uusimmat Javascript-versiot sisältävät JIT-kääntäjän. Javascript on laajasti tuettua. Kaikki suosituimmat selaimet, kuten Google Chrome, Firefox, Safari ja Microsoft Explorer, tukevat Javascriptiä. (Javascripter, 2011.)

•	4.4 jQuery
jQuery ei ole ohjelmointikieli, vaan hyvin kirjoitettua Javascript-koodia. jQueryn virallisia sivuja lainaten: "it is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development". Vapaasti käännettynä: "Se on nopea ja ytimekäs Javascript-kirjasto, joka yksinkertaistaa HTML-asiakirjan selaamista, tapahtumahallintaa, animointia ja Ajax-interaktioita nopeaa verkkosivujen kehittämistä varten.” (Narayan, 2011.)
Ennen jQueryn käyttämistä suositellaan, että käyttäjälle on Javascript, HTML ja CSS tuttua. (Narayan, 2011.)
jQueryn julkaisi John Resig tammikuussa 2006. jQuery on ilmainen, avoimen lähdekoodin ohjelmisto. Microsoft on virallisesti integroinut jQueryn IDE Visual Studio 2010:een, joka on integroitu kehitysalusta ohjelmistojen, verkkosivujen, verkkosovellusten ja verkkopalveluiden kehittämiseen. (Narayan, 2011.)
jQuery on kompaktia ja hyvin kirjoitettua Javascript-koodia, joka parantaa kehittäjän tuotantokykyä mahdollistamalla kriittisien käyttöliittymän ominaisuuksien kirjoittamisen pienellä määrällä koodia. Käyttääkseen jQueryä käyttäjän ei tarvitse opetella uutta syntaksia, vaan Javascriptin perusteilla pärjää. Monimutkaiset ominaisuudet ovat mahdollista sisällyttää lyhyellä ja selkeällä koodilla. (Narayan, 2011.)
jQuery auttaa seuraavissa asioissa:
•	Parantaa sovelluksen suorituskykyä.
•	Auttaa kehittämään selaimien kanssa mahdollisimman yhteensopivan verkkosivun.
•	Auttaa toteuttamaan käyttöliittymän kriittisimmät ominaisuudet ilman satojen rivien koodin kirjoittamista.
•	jQueryä voi laajentaa käyttämään muokattua käyttäytymistä. (Narayan, 2011.)

jQueryn voi ladata HTML-asiakirjaan paikallisesta tiedostosta tai käyttää Content Distribution Networkia  (CDN, sisällön jakoverkko) ladatakseen jQueryn HTML-asiakirjaan. CDN on tietokoneiden verkko, joilla on kopioita tiedostoista maksimoidakseen kaistanleveyden tiedostoja jakaessa. CDN:ää käyttäessä käyttäjä pääsee käsiksi kopioon tiedostosta, joka on lähimmällä palvelimella käyttäjän sijaintiin nähden. Näin maksimoidaan suorituskyky tiedostoa käyttäessä. (Narayan, 2011.)

•	SELAINpohjainen geokätköilypalvelu
Aikamatka –hankkeen Vuokatti-projektilla pyrittiin toteuttamaan selainpohjainen geokätköilypalvelu, joka tulisi uudeksi osaksi Vuokatin liikuntamahdollisuuksia. Projektissa yhdistyy innovatiivisella tavalla modernin teknologian käyttö ja sivistävä paikallistieto. Selainpohjainen palvelu on paras malli tähän palveluun, verrattuna esimerkiksi sovelluspohjaiseen palveluun siinä, että se on niin uusille kuin kokeneille käyttäjille helposti saatavilla. Nykyajan puhelimissa on lähes poikkeuksetta verkkoselain käytettävissä. Verkkoselaimen kautta käyttäjä on heti valmis käyttämään palvelua. Aloittaessaan palvelun käytön, pyydetään käyttäjältä oikeus tarkistaa käyttäjän sijainti. Sijainti haetaan käyttämällä GPS-teknologiaa. Tämän jälkeen näytetään käyttäjän ja rastien sijainti kartalla. Käyttäjä voi aloittaa Aikamatkan.
•	Suunnittelu
Suunnittelemani palvelu pyrkii erityisen helppokäyttöiseksi. Palvelua pitää pystyä käyttämään, vaikka tietotaidot geokätköilystä, suunnistuksesta ja matkapuhelimista olisivat vähäisiä. Tämän projektin palvelu eroaa geokätköilystä seuraavin tavoin:
•	Käyttöönotto: Geokätköilyn aloittaminen vaatii käyttäjätunnusten tekemisen geokätköilypalveluun ja myös mahdollisesti sovellusten lataamisen. Käytimme projektissamme selainpohjaista ratkaisua. Näin uusien käyttäjien on huomattavasti helpompi ottaa käyttöön selainpohjainen ratkaisu. Palvelumme voi aloittaa todella nopeasti jos vain omistaa älypuhelimen ja siinä on mobiiliverkkoyhteys. Sivun avatessa palvelun käytön voi aloittaa välittömästi.
•	Käyttäjäystävällisyys: Projektin palvelu opastaa käyttäjää monin tavoin. Palvelu tarjoaa kartan, että käyttäjä hahmottaa alueen kokonaisuudessaan. Kartassa on myös rastit näkyvissä ja numeroituna, niin käyttäjälle tulee selkeä kuva radan alkupisteestä, pituudesta ja loppupisteestä. Käyttäjän tarkistaessa sijaintinsa tarjoaa palvelu myös tiedon käyttäjän etäisyydestä seuraavaan rastiin. Tarkistaessaan sijaintia annetaan käyttäjälle myös tieto siitä, missä ilmansuunnassa rasti sijaitsee käyttäjän nykyisestä sijainnista katsoen.
•	Sivistävä: Geologian tutkimuskeskus (GTK) oli mukana projektissa. GTK:n asiantuntijat tarjosivat palvelun sisällöksi monipuolista tietoa alueesta, johon palvelu sijoittuu. Jokainen rasti sijoittuu geologisesti mielenkiintoiseen paikkaan, ja näin käyttäjä yleissivistävän tiedon lisäksi saa fyysisen rajapinnan tietoon. Uskon, että oppimisprosessi on näin toteutettuna tehokas.
•	Määrittely
Sovimme suullisesti Petri Mujeen (toimeksiantaja) kanssa työn määrittelystä. Aikamatka –hankkeen Vuokatti-projektin selainpohjaisessa geokätköilypalvelussa pyritään toteuttamaan seuraavat asiat:
•	Verkkoselaimessa toimiva palvelu.
•	Helppokäyttöinen palvelu.
•	Hyödyntää GPS-järjestelmää paikallistaakseen käyttäjän.
•	Älypuhelimella toimiva palvelu.
•	Palvelu tarjoaa sivistävää paikallistietoa.
•	Palvelu vaatii käyttäjältä liikkumista luonnossa.

•	Käyttöönotto
Palvelun käyttöönotto tapahtui pienin askelin. Sivuston ensimmäiset testausversiot otettiin käyttöön jo kesällä 2014 kesäopintojeni aikana. Sivuston palvelin laitettiin käyttöön Kajaanin ammattikorkeakoulun DC-laboratorion konesaliin, jossa yksi Ubuntu Server-käyttöjärjestelmää käyttävä virtuaalikone toimi sivuston palvelimena. Palvelimelle saatiin käyttöön julkinen ip-osoite, jolloin sivusto oli kaikkien nähtävillä verkossa. Sivusto ei kuitenkaan ollut vielä valmis. Sivustolla ei ollut kartta-ominaisuutta jossa näkyisi käyttäjä tai rastit. Myöskään käyttäjälle opastukseksi tehty etäisyydenlaskenta-ominaisuus ei ollut silloin vielä käytössä.
Lokakuuhun 2014 mennessä sivuston kaikki ominaisuudet oltiin saatu valmiiksi. Sivusto siirrettiin Kajaanin ammattikorkeakoulun DC-laboratorion verkkokokonaisuuden sisällä eri verkkoon ja eri palvelimelle. Sivuston palvelin pysyi edelleen virtuaalisena. Verkkosivu sai osoitteekseen aikamatka.kajakdc.fi. Sivuston palvelin toimii VMwaren virtualisointiympäristössä IBM PureFlex-järjestelmässä. Sivustoa ylläpitää palvelin joka toimii monen eri sivuston palvelimena. Palvelimella on käytössä 16 CPU –ydintä, 12GB keskusmuistia ja 1TB verran kovalevytilaa. Palvelimen sivustot ovat suojattuna varmuuskopioinnilla ja VMwaren High Availability –toiminnolla.
•	Testaus & Pilotointi
Testaus tapahtui Aleksi Nyströmin kanssa. Testasimme palvelua Vuokatin maastossa. Alun perin palvelu hyväksyi noin 100 metriä rastin sisäpuolella olevan käyttäjän sijainnin rastin sisälle. Huomasimme kuitenkin, että 100 metriä oli liian pitkä matka, koska palvelu hyväksyi käyttäjän sijainnin vaikka käyttäjä ei selvästi ollut dyyneillä Dyynit-rastia etsiessä. Päätimme pienentää rastin hyväksymiskriteerejä noin 40 metrin alueeseen rastin ympärillä. Näin käyttäjä olisi varmasti rastille tarkoitetulla alueella ja 40 metriä antaa tarpeeksi virhemarginaalia jos GPS ei anna erityisen tarkkoja koordinaatteja. Testausta toteuttaessa palvelussa ei ollut vielä käytössä dynaaminen kartta-ominaisuus, vaan sivu näytti staattisen kartan alueesta ja rasteista (käyttäjän sijaintia ei näytetty). Testauksen jälkeen päätimme, että vaikka kokeneempi suunnistaja pystyisi löytämään rastit staattisella kartalla ja pelkillä suuntaohjeistuksilla, niin  vähemmän kokeneelle suunnistajalle dynaaminen kartta oli pakollinen käyttääkseen palvelua sujuvasti.
Palvelun pilotointi tehtiin 15.11. Sokos Hotel Vuokatin läheisyydessä. Pilotoinnin testaajina toimi kaksi projektin ulkopuolista henkilöä. Toinen henkilöistä oli 22-vuotias nainen ja toinen henkilö oli 29-vuotias mies. Naisella ei ollut paljoa kokemusta suunnistuksesta tai IT-alasta. Miehellä oli laajasti kokemusta patikoinnista, suunnistuksesta yms. ulkoliikunnasta ja oli IT-alan opiskelija. Vaikka testaajien taustat olivat hyvin erilaiset, kokivat he palvelun hyvin samalla lailla.
Pilotoinnissa huomattiin Chrome-selaimen ja palvelun välillä ongelma. Chrome-selain ei ensimmäisen sijainnin haun jälkeen päivittänyt käyttäjän sijaintia. Pilotoinnin testaajat kokivat sivuston käytön ohjeistuksen selkeäksi. Testaajat käyttivät Samsungin älypuhelimia, Galaxy S4:ää ja Galaxy Note 2:sta. Vaikka palvelu ei päivittänyt käyttäjien sijaintia Chrome-selaimella, niin puhelimen perusselaimella palvelu toimi ongelmitta. Pilotointi tapahtui pakkassäällä ja testaajat kokivat palvelun käytön epämukavaksi, koska palvelua käyttääkseen heidän piti olla usein ilman hanskoja. Palvelun todettiin olevan käyttökelvoton talvikäyttöön. Testaajat eivät kokeneet rasteilta saadun geologisen tiedon olevan kovinkaan mielenkiintoista. Rastit löytyivät pilotoinnin testaajilta alkua lukuun ottamatta sopivan helposti. Alussa naisella oli vaikea hahmottaa mihin suuntaan lähteä ensimmäistä rastia etsimään. Lyhyen ajan kuluttua rastin sijainti hahmottui ja radalla eteneminen muuttui sujuvaksi.
Käyttäjät kokivat palvelun sopivan ehkä paremmin opetuskäyttöön kuin vapaa-ajankäyttöön. Opetuskäytössä oppimisprosessin yhdistäminen liikuntaan voisi olla opetustehokkuutta ehostava. Sivuston painikkeiden koot koettiin liian pieniksi ja sivuston kartan avautuessa kartan tarkennus koettiin olevan liian kaukana ja sitä joutui joka kerta kartan ladattua tarkentamaan lähemmäksi. Näiden ehdotusten perusteella on palvelua muutettu käyttäjäystävällisemmäksi.

•	toteutus
Projektin perustana on HTML5-koodi, jolla verkkosivu on kirjoitettu. HTML5 on uusin versio HTML-koodista. HTML5-dokumentti julistetaan sellaiseksi kirjoittamalla dokumentin alkuun ”<!DOCTYPE html>” ja dokumentin loppuun ”</html>”. Sivu koostuu kahdesta isommasta kokonaisuudesta, head-elementistä ja body-elementistä.
6.1 Head-elementti
Head-elementti yleensä sisältää asiakirjan nimen, liitoksen skripteihin ja yleistä metatietoa asiakirjasta. Projektin head-elementissä on liitokset kahteen eri CSS-tiedostoon, liitos yhteen jQuery tiedostoon, liitos Google Maps ohjelmointirajapintaan ja verkkosivun nimi omassa title-elementissään. Sivun head-elementissä yhdistetään sivu Google Maps kartan rajapintaan. Skripti-tiedostossa, jossa suoritetaan Google Maps kartan toiminta, voidaan asettaa kartan ominaisuudet halutuiksi, esimerkiksi kuinka tarkennettuna kartta on sen ladatessa ja onko kartassa mahdollisuus tarkentaa ja loitontaa näkymää. Skripti-tiedostossa myös asetetaan rastit koordinaattien perusteella ja muokataan visuaalinen ilme halutuksi. Projektissa laitoin rasteihin punaisen lipun jossa on rastin numero, selventääkseen käyttäjälle haluttu kulkureitti. Javascript-koodia käytettiin myös muissa asioissa verkkosivulla, esimerkiksi painikkeiden toiminta.

Kuvio 2. Kuvassa sivuston head-elementti, jossa näkyy liitokset kahteen CSS-tiedostoon, jQuery-liitos, liitos Google Mapsin ohjelmointirajapintaan ja sivuston nimi ”Aikamatka”.

Projektia varten käytin Googlen CDN:ää. Seuraavalla tekstillä saadaan jQuery käyttöön Googlen CDN:stä: ”<script type="text/javascript" language="Javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"> </script>”.
Ladatessaan verkkosivun selain tallentaa siihen liittyviä tiedostoja välimuistiin. Seuraavan kerran verkkosivua ladatessa selain lataa vain ne sivuun liittyvät tiedostot jotka ovat uusia, joita on muokattu tai jotka eivät ole saatavilla välimuistista. Näin selaimen toiminta nopeutuu. Jos yksi tai useampi verkkosivu käyttää samaa CDN:ää, voi käyttäjän selaimen välimuistissa jo olla jQuery-tiedosto. CDN:n käyttö säästää myös verkkosivun kaistanleveyttä, koska jQuery-tiedostoa ei tarvitse ladata verkkosivun palvelimelta. CDN:t yleensä sijoittavat palvelimensa laajalle alueelle, joten riippumatta käyttäjän paikasta jQuery-tiedosto on nopeasti ladattavissa.

6.2 Body-elementti
Body-elementti yleensä sisältää verkkosivun varsinaisen sisällön, esimerkiksi tekstin, linkit, kuvat ja listat. Projektin body-elementti on jaettu div-elementteihin, mikä mahdollistaa sisällön helpomman graafisen hallitsemisen CSS-tiedoston kautta, jossa jokaiselle div-elementille annetaan omat arvonsa. Body-elementin div-elementit sisältävät navigointivalikon, sivun pääsisällön ja yhteystyökumppaneiden logot. Sivun pääsisällössä on liitos Javascript-tiedostoon joka suorittaa muun muassa verkkosivun karttaominaisuuden ja koordinaattien tarkistusominaisuuden.
Div-elementtejä käytetään yleensä rajaamaan sivun alueet. Esimerkiksi projektin verkkosivut on jaettu logoihin, navigaatiopalkkiin, sisältöön ja kartta-alueeseen. Näin sivun eri osioita on helpompi muokata ja saada sivun graafinen ilme yhtenäiseksi.

Kuvio 3. Kuva sivuston HTML-koodin body-elementistä.
6.3 Javascript
Projektin verkkosivun body-elementissä on HTML-koodilla kirjoitettu viittaus kahteen ulkoiseen skripti-tiedostoon. Toisessa skripti-tiedostossa on sivun yleiset ominaisuudet ja toisessa on Google Maps kartan toiminta. Tämän lisäksi sivulla on viittaukset kahteen Javascript-funktioon skripti-tiedostojen sisällä (Kuvio 3, ”loadmap();” ja ”geoFindMe();”), jotka suoritetaan painiketta painaessa. Painiketta painaessa suoritetaan Javascript-funktio, joka jQuery-kirjastoa hyödyntäen selvittää käyttäjän sijainnin. Jos sijainti löydetään, tallennetaan data, jotta sitä voidaan käyttää sen selvittämisen jälkeen. Sijainnin tietoja käytetään verkkosivulla sen jälkeen laskiessa, onko käyttäjä halutulla alueella edetäkseen verkkosivulla eteenpäin. Käyttäjän sijainnin leveys- ja pituusastetta verrataan valmiiksi asetettuihin rastin arvoihin. Käyttäjän sijainnin koordinaattien täytyy siis olla vähemmän kuin ennalta määrätty maksimimäärä ja isompi kuin ennalta määrätty minimimäärä. Samassa funktiossa suoritetaan myös laskenta siitä, missä ilmansuunnassa käyttäjä on rastiin nähden, jos hän ei ole rastin vaatimien arvojen sisällä. Esimerkiksi jos käyttäjän sijainnin leveysaste on suurempi kuin vaadittu leveysaste ja pituusaste on suurempi kuin vaadittu pituusaste, on käyttäjä silloin koillisessa rastiin nähden. Tämä tieto ilmoitetaan käyttäjälle, kun hän tarkistaa oman sijaintinsa.

Kuvio 4. Kuva Javascript-koodista jossa käyttäjän koordinaatteja verrataan ennalta annettuihin rastin koordinaatteihin.
6.4 CSS
Projektin verkkosivun head-osioissa liitetään HTML-asiakirjaan kaksi CSS-tiedostoa. Toinen asiakirja mahdollistaa liukuvan valikon suorittamisen ja siihen liittyvien ominaisuuksien muokkaamisen. Toisessa asiakirjassa ovat kaiken muun sivulla olevan graafisen ilmeen ominaisuudet. Tiedostot on jaettu kahteen osaan selkeyttääkseen sivun graafisen ilmeen muokkausta (liukuvaan valikkoon liittyvät ominaisuudet sisältävät paljon koodia). CSS-tiedostoissa asetetaan lähes kaikkien sivun näkyvien osien graafiset ominaisuudet. Kuvien ominaisuuksissa asetetaan kuvien koko asettamalla niille tietty leveys ja/tai korkeus pikseleinä. Jos kuvalle ei anneta esimerkiksi arvoa leveydelle, kuva on omien alkuperäisten arvojen levyinen, ellei kuvan  div-elementille ole määritetty maksimileveysarvoa. CSS-tiedostossa voidaan määritellä jotkin asiat lähtökohtaisesti näkymättömäksi. Javascript-koodilla voidaan suorittaa komento, jolla alun perin näkymättömäksi asetettu osio tuodaan näkyväksi. Näin saamme toteutettua painikkeet, jotka näyttävät kartan tai piilottavat sen.

Kuvio 5. Kuva toisesta CSS-tiedostosta joka määrittää suurimman osan sivun muotoilusta.

6.5 Ominaisuudet
Sivustolla on selkeät ja lyhyet ohjeet palvelun käyttöön. Käyttäjän avatessa sivuston hän pystyy välittömästi samalta sivulta aloittaamaan palvelun käytön. Aloitussivu kertoo lyhyesti ja ytimekkäästi mistä palvelussa on kyse. Käyttäjä pystyy aloitussivulta aloittamaan kätkön etsimisen. Sivulle latautuu kartta käyttäjän nykyisestä paikasta ja rastien sijainnit. Lisäksi käyttäjä saa ”Tarkista sijaintini”-painikkeella tietoa rastin sijainnista (Kuvio 6), jos käyttäjä ei ole rastin alueella.

Kuvio 6. Esimerkki ”Tarkista sijaintini”-painikkeesta tulevista ohjeista.
Karttana toimii Javascriptillä toimiva Google Maps kartta (Kuvio 7), joka painikkeen painalluksella päivittää käyttäjän sijainnin. Google Maps on työpöytä- ja mobiili-karttapalvelu. Karttaa päästään käyttämään Javascriptillä Google Mapsin ohjelmointirajapintaa hyödyntäen. 

Kuvio 7. Kuva palvelun kartasta.
Radan rastit tehtiin GTK:n asiantuntijoiden tietojen perusteella, josta Kajaanin Ammattikorkeakoulun liikunnanopettaja Aleksi Nyström valitsi lopulliset paikat rasteille. GTK:n asiantuntijat valitsivat geologisesti mielenkiintoisimmat kohteet Vuokatin maastosta. He tarjosivat myös kuvaukset paikoista, jotka toimivat rastisivujen sisältöinä.

Kätköinä ei ole perinteisen geokätkön tapaan mitään fyysistä. Saapuessaan oikealle alueelle käyttäjä pystyy etenemään sivustolla ja hänelle kerrotaan hänen nykyisestä sijainnista geologista tietoa. Oikeaksi alueeksi hyväksytään rastia noin 40 metriä ympäröivä alue. Geokätköilyssä on vähemmän suosittu tyyli tehdä virtuaalisia kätköjä, mutta ne eivät palkitse käyttäjää millään näkyvällä tavalla. Kätköt tässä projektissa ovat melko uniikit, koska käyttäjä palkitaan virtuaalisella kätköllä geologisella sivistämisellä. Kuvio 8 näyttää, miten kätköt näkyvät kartalla.

Kuvio 8. Palvelun radan kätköt.
Verkkosivun ulkoasussa päädyttiin matkapuhelinystävälliseen tyyliin. Sivun sisältö on kokonaan vasemmassa reunassa, jotta matkapuhelimella ei tarvitse sivua avatessa liikuttaa näkymää oikealle. Verkkosivu on tehty mahdollisimman kevyeksi suorittaa, jotta sivusto toimii mahdollisimman nopeasti. Verkkosivu on Kajaanin Ammattikorkeakoulun omassa konesalissa ylläpidettävänä. Palvelun verkkosivun päivittäminen onnistuu etäyhteydellä Kajaanin Ammattikorkeakoulun konesaliin. 
•	pohdinta
Palvelun testaus ja pilotointi tapahtui Vuokatin maastossa. Seuraava vaihe on Kuhmon maastoon tuleva rata, joka on jo suunniteltu valmiiksi. Molemmat radat tehdään todennäköisesti samalle palvelimelle, ja niiden toimintaperiaatteet ovat identtiset. Palvelun perusperiaatetta on teknisesti helppo monistaa mahdollisille uusille radoille. Aikamatka-sivuston sijainnin tarkistus-ominaisuus on helposti monistettavissa uusille sivuille. Vain koordinaattejen arvot täytyisi muuttaa. Palvelua voisi laajentaa myös kaupunkialueelle, jossa mahdollisen geologisen informaation lisäksi voisi tarjota käyttäjälle tietoa esimerkiksi kaupunkialueen rakennuksista ja kulttuurista. Vaikka tämä informaatio olisikin helposti verkosta saatavilla, olisi se tässä palvelussa rakennettu monipuoliseen ja yhtenäiseen kokonaisuuteen. Kaupunkialueen palvelua voisi jakaa myös erilaisiin teemoihin, esimerkiksi historia, ravintolat ja taide. Näin mahdollistettaisiin mahdollisimman laaja käyttäjäkunta ja tyytyväisyys palveluun.
Mobiiliverkkoyhteydet kehittyvät jatkuvasti. Verkkojen peittoalueet kasvavat. Vaikka mobiiliverkkoyhteyksiä käyttäviä älypuhelimia on jo paljon, uskon niiden kasvavan lähitulevaisuudessa kattamaan kaikki puhelinten käyttäjät. Kun näin tapahtuu, ovat tämän projektin kaltaiset palvelut nousemassa vielä yleiseimmiksi kuin ne nyt ovat. 
Maailma ei ole vielä muuttunut täysin langattomaksi, mutta kuljemme koko ajan siihen suuntaan. Teknologian kehitys on mahdollistanut jatkuvasti pienempien ja tehokkaampien laitteiden tuottamisen. Lisäksi olemme jatkuvasti vähentäneet paikallaan olevien laitteiden käyttöä, esimerkiksi pöytätietokoneista mobiililaitteisiin, kuten älypuhelimiin, tabletteihin ja MP3-soittimiin. Nämä pienet mobiililaitteet sisältävät ladattavia akkuja, jotka voivat kestää tunteja tai päiviä ilman latausta ja käyttävät langattomia yhteyksiä hyväkseen. Näillä laitteilla voi olla internet-yhteys, vaihtaa tietoja keskenään langattomasti ja jopa lataa laitteiden akkuja langattomasti.
Ensimmäinen ”G”-verkko julkaistiin 1980-luvulla ja siitä lähtien on verkkoja tullut noin kymmenen vuoden välein. Seuraava vaihe mobiiliverkoissa on 5G-verkko, joka luultavasti julkaistaan noin vuonna 2020. Etelä-Korean tiede- ja teknologiaministeriö ilmoitti suunnittelevansa 1,5 miljardia dollaria maksavan hankkeen, jossa rakennettaisiin langaton 5G-verkko. Verkko yritetään saada toimintaan muutama vuosi ennen muita maita. Etelä-Korea on ideaali paikka testata uutta mobiiliverkkoa, koska maa on tiheään asuttu ja lähes 80 % prosenttia maan kansalaisista käyttää matkapuhelimia. Tämä 5G-verkko olisi noin tuhat kertaa nopeampi kuin nykyinen 4G-verkko. Käyttäjät voisivat ladata täyspitkän elokuvan kooltaan 800 megabittiä yhdessä sekunnissa. Jos 5G-verkko saadaan globaaliksi, se mullistaisi langattomien verkkojen käytön. Mobiiliverkot olisivat langallisten verkkojen tasoisia. Tulevaisuus on langaton. 

•	Lähteet
Chivers, M, 2014. Differential GPS Explained. Saatavilla: http://www.esri.com/news/arcuser/0103/differential1of2.html (Luettu 30.11.2014)
eMarketer, 2014. Smarthphone Users Worldwide Will Total 1.75 Billion in 2014. Saatavilla: http://www.emarketer.com/Article/Smartphone-Users-Worldwide-Will-Total-175-Billion-2014/1010536 (Luettu 5.11.2014)
Ericsson, 2014. Ericsson Mobility Report. Saatavilla: http://www.ericsson.com/res/docs/2014/ericsson-mobility-report-june-2014.pdf (Luettu 5.11.2014)
Garmin, 2014. What is GPS? Saatavilla: http://www8.garmin.com/aboutGPS/ (Luettu 5.11.2014)
Geocaching, 2014. Geocaching 101. Saatavilla: http://www.geocaching.com/guide/ (Luettu 5.11.2014)
GPSgames, 2010. The History of Geocaching. Saatavilla: http://geocaching.gpsgames.org/history/ (Luettu 30.11.2014)
Heggestuen, J, 2013. One In Every 5 People In The World Own A Smarthphone, One In Every 17 Own A Tablet. Saatavilla: http://www.businessinsider.com/smartphone-and-tablet-penetration-2013-10 (Luettu 5.11.2014)
ITU, 2014. ITU releases 2014 ICT figures. Saatavilla: http://www.itu.int/net/pressoffice/press_releases/2014/23.aspx#.VEok8vmsW24 (Luettu 5.11.2014)
Javascripter, 2011. What Is JavaScript? Saatavilla: http://www.javascripter.net/faq/whatisja.htm (Luettu 5.11.2014)
Kyrnin, J, 2014. What is CSS? Saatavilla: http://webdesign.about.com/od/beginningcss/a/aa021607.htm (Luettu 5.11.2014)
Lane, J, 2014. The web standards model – HTML CSS and Javascript. Saatavilla: http://www.w3.org/wiki/The_web_standards_model_-_HTML_CSS_and_JavaScript (Luettu 30.11.2014)
Mio, 2014. History of GPS. Saatavilla: http://www.mio.com/technology-history-of-gps.htm (Luettu 30.11.2014)
Narayan, S, 2011. What is jQuery and How to Start using jQuery? Saatavilla: http://www.codeproject.com/Articles/157446/What-is-jQuery-and-How-to-Start-using-jQuery (Luettu 5.11.2014)
Rei, 2014. GPS Receivers: How to choose. Saatavilla:        http://www.rei.com/learn/expert-advice/gps-receiver.html (Luettu 5.11.2014)
Rubino, D, 2009. GPS vs. aGPS: A Quick Tutorial. Saatavilla: http://www.windowscentral.com/gps-vs-agps-quick-tutorial (Luettu 30.11.2014)
Shannon, R, 2012. What is HTML? Saatavilla: http://www.yourhtmlsource.com/starthere/whatishtml.html (Luettu 5.11.2014)
Silent, D, 2002. What is Letterboxing? Saatavilla: http://www.letterboxing.info/articles/00000001.php (Luettu 30.11.2014)
Wilson, T, V, 2014. How GPS Phones Work. Saatavilla: http://electronics.howstuffworks.com/gps-phone.htm (Luettu 5.11.2014)