Mineturer.org – et selv-intervju

Nyheten er ikke ny mer, jeg så mitt snitt til å lansere det nye designet på www.mineturer.org på torsdag før jeg tok en langhelg.

Saken ble twittret litt rundt på i løpet av helgen, til og med ut.no fikk den med seg, og i dag skrev altså Martin en post på I det fri om mineturer. Dermed burde jeg vel bare lene meg tilbake og nyte besøkstallene? Mja, for det første får jeg ikke logget på Amazon-boksen der siden kjører før i morgen. Dermed får jeg ikke sjekket hvor mange (om noen?) nye brukere siden har fått, og om disse eventuelle brukerene har lastet opp noen turer. Dermed tenkte jeg heller å si litt om “veien vidre” som det så fint heter. Og kanskje også litt om ting som kan være smart å tenke på når du bruker siden. Planen er å ta dette i en “intervju med meg selv”-form. Let’s begin:

Først: Hva er egentlig MineTurer.org?
“MineTurer.org er et nettsted som lar deg laste opp GPS-spor og vise dem på et kart sammen med masse fine grafer og informasjon om turen” er vel kanskje et slogan. Men det er mer: det er jeg som tar eksempelkoden min om Kartverkets kart og GPX-filer ett skritt videre. Det er jeg som lærer meg mer Java-Spring-utvikling. Det er jeg som lærer meg mer jQuery. Det er jeg som vil ha mer inspirasjon for å gå tur og jogge. Det er jeg som er så sprø at jeg vil jobbe med det samme på fritiden som jeg gjør på jobb. Det er jeg som vil ha noe gøy å drive med. Det er også et håp om at andre kan finne det jeg driver med nyttig. Det er, i vid forstand,et forsøk på å vise at geografisk IT er gøy, og så mye mer enn Google Maps.

Hvorfor har du opensourca dette?
Fordi jeg ikke hadde klart å lage denne tjenesten uten å bruke OpenSource biblioteker i fleng. Og fordi jeg vil vise hvordan disse bibliotekene kan brukes. Og for å motivere andre til å bidra til å gjøre tjenesten bedre.

Så jeg kan sette opp mineturer på min egen server?
Jepp, sålenge du klarer å bygge maven prosjektet og deploye en war fil, samt kjører PostGIS. Dog, ikke forvent noe hjelp fra meg med å lage en konkurrent til mitt initiativ 😉

Vil det koste noe å bruke mineturer.org?
Gitt bruksvilkårene til kartverkets kart: nei. Jeg har laget siden for å lære og å skaffe meg et verktøy jeg syntes manglet. Jeg har ingen planer om å tjene penger på dette, og vil heller ikke selge meg selv eller produktet til noen som vil tjene penger på det. Jeg har kun utgifter i dag, jeg har kjøpt et domene og betaler for bruk av Amazon-EC2. Blir dette for dyrt for meg vil jeg vurdere billigere hosting, eller spørre om litt donasjoner. Dog, ting vil forbli gratis!

Du er flink! Jeg representerer [sett inn navn på kommersiell bedrift], kan vi benytte denne deler av denne løsningen?
Takk 😉 All kildekode er lisensirt under MIT-lisensen, så go ahead! Dog, jeg har ikke ressursser til å bistå med tilpassing og utvikling, da må dere ta kontakt med min arbeidsgiver, Geomatikk IKT 😉

Når kommer [feature x]?
Når jeg finner tid til å implementere den. Mineturer.org er noe jeg driver med fordi jeg har lyst, når jeg har tid. Dog, send meg gjerne inspill på mail, twitter, i kommentarfeltet eller via issue-trackeren på BitBucket.

Hvorfor har du benyttet [komponent x]/Hvorfor løser du ting på [måte y]?
Fordi jeg a) tror det er beste løsning b) kjenner best denne metoden c) ikke vet bedre. Send meg gjerne forslag til alternative løsninger!

Jeg vil gjerne bidra, noe du trenger hjelp til?
Genialt! Jeg har ikke noe spesifikt jeg trenger hjelp til, med det må alltids skrives litt hjelpefunksjonalitet, og bådde JS- og Java-koden min kunne sikkert trengt litt sanity-check. I tillegg finnes det mye rart man kan utvide tjenesten med. Send meg en mail og fortell hva du vil gjøre! Eller sjekk ut koden og send meg tilbakemeldinger!

Har du planer om å konkurrere med tjenester som UT.no?
Nei. Mineturer.org har fokus på det som skjer etter at du er hjemme fra tur, det er ikke et planleggingsverktøy. Jeg vil holde fokus ganske smalt, og prøve å unngå å at det blir en tjeneste som skal løse alle problemer.

Har du vurdert facebook/twitter/google+-integrasjon?
Jepp! Det burde komme!

Jeg får ikke opp Flickr-bildene mine??
Har du skrevet inn flickr-iden din? (og ikke brukernavnet?) Har du gitt bildene dine en tag og lagt til denne på turen? Er bildene dine geotaggede? Hvis ja på alle: send meg en mail!

Har du tenkt på integrasjon med andre bildesider enn Flickr?
Jeg har tenkt tanken, men vet ikke helt hvilke andre som er hotte, og om disse har et greit API. Vet du?

Hva med bildeopplasting direkte på mineturer.org?
Jeg tviler sterkt på at jeg vil gjøre dette, av følgende årsaker: a) mange sider gjør dette svært godt, med gode APIer (eks Flickr), b) bildehåndtering er mye jobb, c) det krever mye diskplass.

Det er noen funksjoner på siden som ikke fungerer?
Jepp: Del, fullskjerm og endel andre fungerer ikke enda. Jeg skal se på dette snart 😉

Høydegrafen kan umulig stemme??
Høydedataene hentes fra GPX-fila, så da får du sjekke GPSen din. Mobiltelefoner har notorisk dårlige høydedata. Det er desverre ikke så mye jeg får gjort med det.

Fartsgrafen/fartsdataene er på bærtur?
Sannsynligvis har GPSen din hatt litt hikke og logget et punkt veldig feil. Litt midling av dataene fanger opp endel av dette, men ikke alt. Så, ikke bruk disse dataene til å avgjøre viktige saker!

Jeg har funnet en feil!
Si fra! Jeg har ikke fått testet alle tenkelige og utenkelige funskjoner, så jeg er avhengig av tilbakemeldinger for å få rettet opp ting!

Sånn! Da tror jeg jeg skal ha svart på det meste jeg selv tror jeg ville lurt på. Er det andre spørsmål, kommentarer eller innspill er kommentarfeltet åpent!

Engelske Geomatikk-blogger/nettsteder

Etter å ha “kartlagt” GeomatikkNorge på nettet har jeg kommet til at det skrives mye om temaet Geomatikk på engelsk. En twitter-diskusjon gav meg inspirasjon til å samle endel ressursser(hovedsakling blogger) som favner geomatikk-temaet på ett sted. Dette er en liste jeg håper dere bidrar til å fylle ut, jeg kommer med et første utkast her, in no particular order:

Bokhylla mi

NRK har en konkurranse gående: “Har du Norges fineste bokhylle” (link). Jeg tenkte at det ikke kunne skade å ta et bilde av bokhylla mi og skrive noen ord, nesten 2 meter bøker kan jo være hyggelig å få skulle jeg vinne. Uansett, etterhvert som jeg skrev kom jeg til å tenke på at det jeg skrev jo var en ganske god bloggpost, derfor legger jeg ut mailen jeg sendte NRK her også. Sjangsen for at noen kommer over den her og finner den leseverdig er vel større enn den for å vinne NRKs konkurranse.

Dette er en rimelig standard IKEA-Billy-hylle, valgt fordi en bokhylle skal ha fokus på bøkene, og ikke glass, nips og tull. I tillegg koster jo BBB-hyllene mer enn de smaker.

Favorittene kan man enten si står helt til venstre, dvs barskapet med overvekt av Islay-whisky, eller rad to fra toppen, som inneholder 2.-verdenskrig-litteratur, som så langt det lar seg gjøre er ordnet geografisk etter vest-øst-aksen:)

Skal jeg trekke frem en enkeltbok må det være den “bibel-innbundende” utgaven av The Hitchhikers Guide To The Galaxy jeg fant på Ark for noen år siden.

Bokhyllen startet som en enkel 40 cm Billy-hylle i min første hybel for 6 år siden, ble oppgradert til 2×40 når jeg flyttet sammen med samboeren, og ble byttet ut med den på bildet når vi kjøpte oss leilighet for 2 år siden. En hel vegg med bøker i en 2-roms bebodd av to personer under 30, jeg ser ikke det så ofte;)

Innholdet i hylla er i stor grad pocket, og mye er på engelsk. Mye grunnet norske priser, men like mye grunnet preferanser. Temaene spenner fra 2. verdenskrig via sci-fi og fantasy, en snartur innom religionskritikk og kritisk tenkning, en bråstopp ved Nesbø og Dan Brown, videre til Ibsen og andre norske klassikere og til engelskspråklig skjønnlitteratur med endel fagbøker og noen kokebøker innimellom. Det eneste som er totalt fraværende er Det Bestes bokserier og bibelen. Noe nips har også sneket seg inn, men en stadig strøm av bøker presser det gradvis ut.

Bøker anskaffes etter innfallsmetoden, via Amazon, på flyplasser og jernbanestasjoner eller når fruen handler klær, da vandrer jeg som regel inn i en bokhandel. Jeg får sjelden bøker i gave, folk tror jeg har lest alt, så feil kan de ta, jeg har lest alt for lite! Noe bøker er også arvet, men det ble gjort et utvalg på disse, skrekken er en bokhylle med bøker med matchende rygger som aldri blir lest.. Av samme grunn finner du ikke noe mer enn et ettbinds-leksikon, tror jeg kan telle på en hånd hvor ofte det er åpnet.

Ellers er de aller fleste bøkene digitalt katalogisert på bibliotek-tjenesten LibraryThing (www.librarything.com/catalog/atlefren), der mitt bibliotek i skrivende stund teller 290 bøker, de aller fleste lest minst en gang.

Ellers kan jeg legge til at jeg er 182 cm høy, og nå har ca 15 m bøker i bokhylla, skulle jeg vinne premien vil jeg øke bokhylla med ca 10 prosent;) Dog, det medfører omorganisering, ettersom jeg kun har plass til ca 1m bøker til i hylla.

MineTurer Beta

Jeg skrev for noen dager siden om prosjektet mitt GPS Trip Organizer. Jeg fikk endel tilbakemeldinger, og ganske mange testet en demo-versjon. Det er inspirerende, og derfor fortsetter jeg jo å jobbe på prosjektet. Jeg har funnet ut at man må ha et bedre navn, så enn så lenge heter barnet “MineTurer Beta”. Dog, jeg har et håp om å komme meg ut av beta etterhvert.

En beskrivelse av siden er så langt:

MineTurer er en webtjeneste for å holde rede på GPX-filer (også kjent som GPS-spor/GPS-tracks), altså data fra GPS-loggere. Dataene lastes opp og vises på kart (Statens Kartverk, Google Maps eller OpenStreetMap). For hver tur vises statistikk og grafer. Alle dataene lagres i en romlig database. Tjenesten er i kraftig beta, og utvikles av Atle F. Sveen på frivillig basis.

Siden sist har jeg fått løst følgende saker:

OK - fix charset errors
OK - add more maps from SK
OK handle case with tracksegments with one point (see gpx sent pr mail)
OK - handle case where 12.16 is read as 0.16 (see gpx sent pr mail)
OK- remove similar points.. Is this smart? Probably not.. But hey!
OK - change header on perma-page
OK - change markers for trip points
OK - blank out fields on upload page for next upload
OK - should only return one centroid even if trip consists of several tracks
OK - make a user register page
OK - use a database-table for user management

Som på norsk betyr: Du kan nå registrere din egen bruker, vi vil (forhåpentligvis) ha færre filer som ikke fungerer (og er det noe som går galt skal du få beskjed). I tillegg vil nå æ,ø og å vises korrekt. I tillegg har jeg fått/kommet på endel nye requests, så det som står på lista mi er:

- find a solution for speed graph
- add labels to graph
- clustering on trip points
- find a faster server than kj0leskap
- make it possible to delete trips
- make it possible to edit trip info
- consider displaying a simplified version of the geometry
- make a "merge trips" function
- write tests(!)
- some kind of documentation?
- make it possible to change color for a trip
- discard waypoints? Or at least find a nicer presentation
- figure out if "routes" is relevant
- more inituitive layer-switcher
- consider flicker-integration
- handle error with large GPX-files
- some solution for bit.ly style permalinks
- handle heartRate extension, make HR graph//
- many of the features of http://utrack.crempa.net/
- export geom as KML/GeoJSON
- store actual GPX file for later download
- static link for height profile
- more maps (from where?)

I tillegg har jeg fått et tilbud om assistanse med litt design, så vi venter spent der 😉

Så, klikk deg over til http://geomatikk.eksplisitt.net/MineTurer/login.jsp, lag deg en bruker og last opp noen GPX-filer. Ser du noe som ikke fungerer? Si fra her eller på mail. Har du noen ideer? Si fra. Vil du bare klappe meg på skulderen? Gjør det også 😉 Har du lyst til å leke med koden? Clone ut fra https://bitbucket.org/atlefren/gpsorganizer

Fremover vil jeg nok prioritere å få på plass flere grafer (http://utrack.crempa.net/) inspirerte meg en smule), samt å prøve ut en cloud-tjeneste for å hoste dette.

Gps Trip Organizer

Oppdatering på http://www.atlefren.net/post/2011/09/mineturer-beta/

Jeg har flere ganger skrevet om hvordan man kan legge GPX filer over kartverkets WMSer, og dermed slippe unna “stygge” løsninger med Google Maps og særs dårlig detaljgrad på kartene. Dog, løsningene jeg har skissert før har krevd at man aktivt legger en GPX-fil på en webserver og deretter inkorporerer den i JavaScript kode.

Jeg har flere ganger også nevnt at det smarteste ville være å lagre GPX-filas geometrier i en PostGIS base, og dermed slippe å forholde seg til løse GPX-filer. Dette krever dog litt mer “jobb” enn en enkel JavaScript-side, man trenger noe serverside-kode, og man trenger en installasjon av PostGIS. Uansett, dette er jo ting jeg jobber ganske mye med til vanlig, så jeg tenkte å teste litt.

Mine “weapons of choice” er:

  • OpenLayers – Det mest kjente OpenSource kartrammeverket for Javascript
  • Java og Spring – Mest fordi jeg begynner å kjenne dette rammeverket ganske godt, men også fordi det gir meg tilgang til GeoTools
  • GeoTools og JTS, Java-biblioteker for å håndtere geometrier
  • PostGISDen ledende OpenSource romlige databasen
  • jQuery- JavaScript rammeverk som gjør livet så mye enklere!
  • Flot, et fint lite JS-bibliotek for å lage grafer

I tillegg tok jeg endel andre beslutninger ganske tidlig:

  • Jeg ville ha kartet mitt i EPSG:900913-projeksjonen (“Google”-projeksjonen), da kan jeg bruke kart både fra Kartverket, Google Maps og OpenStreetMap (blant andre)
  • Jeg ville lagre geometriene i EPSG:4326 (WGS84 Lengde-/Breddegrad). Dette er koordinatene som brukes i GPX-filer, dermed mister jeg ikke noe nøyaktighet ved å transformere
  • Planen var i utgangspunktet å lagre tracks i GPX-filene som MULTILINESTRINGer i PostGIS i XYXM (lat,lon,høyde og tid), men det viste seg at jeg med GeoTools ikke klarte å lagre 4D-geometrier. Løsningen ble å dobbeltlagre geometriene, både som en 2D-Multilinestring og som en samling 2D-punkter med høyde og tid som ekstra attributter. Ja, redundant, men da kan jeg hente ut kun linjegeometriene når jeg trenger det, og all informasjon for å generere høyde- og fartsprofiler
  • Jeg tenkte meg fort en løsning med innlogging, der man kan se alle sine opplastede tracks, og en mulighet for å hente ut en “permalenkle” man kan dele med andre
  • Jeg så fort at dette ville bli en “thick client”-applikasjon, som gjør bruk av mange AJAX-kall mot server-side funksjoner
  • Jeg ville at kartet skulle fungere for GPX-filer fra hele verden. Dermed er transformsjon til UTM sone 33 ikke en mulighet. Det viste seg at OpenLayers har en fin avstandsberegningalgoritme, som var lett å porte til Java.

Så, oppdaget jeg også endel problemområder:

  • Det å generere høydeprofiler var greit, her er man bare begrenset av høydeunøyaktigheten i GPS-enheten som har genrert GPX-fila. Dog, fartsgrafer er et problem, de blir så utrolig “hakkete”.
  • Det å bruke GeoTools for å kommunisere med PostGIS var utrolig krøkkete, dermed har jeg endt med å bruke WKT, ikke en helt optimal løsning
  • Jeg er elendig på GUI-design, og spesielt på grafiske ting. Dermed ser ting ikke helt optimalt ut.
  • Siden dette er en Java Web App, som kjører med PostGIS, duger ikke webhotellet mitt hos Subsys. Det betyr at jeg må se på en dedikert server, eller en Cloud-løsning. Enn så lenge har Alexander gitt meg tilgang på kj0leskap, en grei boks, men ikke noe high performance 😉
  • GeoTools har ikke noen skikkelig GPX-parser. Istedenfor å leite opp en skikkelig GPX-parser endte jeg opp med å skrive min egen med hjelp av SAXParser, noe som gikk ganske glatt når jeg gløtta litt mot GPX-spesifikasjonen. Dog, “routes” veit jeg ikke helt om er relevant.

Dog, på tross av dette (og det faktum at jeg kun jobber med dette på fritiden) har jeg kommet meg et stykke på vei, og på lørdag kveld la jeg ut en liten preview på http://geomatikk.eksplisitt.net/GpxUpload. Du kan teste den med brukernavn/passord test/test. Test gjerne å laste opp en GPX-fil, og skulle noe tryne er det fint om du sender meg en mail og sier fra om hva som gikk galt. Jeg blir også veldig glad om du legger ved GPX-fila du prøvde å laste opp, slik at jeg kan få feilsøkt litt. Jeg har nemlig funnet ut at ikke alle GPX-filer er like.

I tillegg har jeg lagt ut kildekoden til prosjektet på BitBucket, se https://bitbucket.org/atlefren/gpsorganizer/, under en BSD-lisens. Der har jeg også en TODO-fil, med følgende innhold (denne kommer jeg nok til å legge over i Issue-trackeren på BitBucket). TODOen min ser pr i dag slik ut:

in no particular order:
-handle different kinds of errors with gpx files
-find a solution for speed graph
- add labels to graph
- clustering on trip points
- change markers for trip points
- find a faster server than kj0leskap
- make it possible to delete trips
- make it possible to edit trip info
- consider displaying a simplified version of the geomerey
- make a "merge trips" function
- make a user register page
- use a database-table for user management
- write tests(!)
- some gui-improvements
- some kind of documentation?
- prettier login-page
- some kind of logo?
- make it possible to change color for a trip (and use another default color)
- discard waypoints? Or at least find a nicer presentation
- figure out if "routes" is relevant
- check for more GPX-types (tested qstarz and mytracks)
- prettify the upload-page
- blank out fields on upload page for next upload
- more inituitive layer-switcher
- more maps (from where?)
- consider flicker-integration
- handle error with large GPX-files
- fix charset hell

Så? Hva synes du? Er dette en tjeneste du kunne tenke deg å bruke? Er det noen ting du ikke synes fungerer? Har du oppdaget noe feil? Har du lyst til å bidra? Skrik ut, ting går sakte fremover her, så ikke forvent mirakler på kort tid, se det mer som et prosjekt jeg kjører for å lære meg endel ting, men som jeg håper andre kan ha nytte av.

OBS: Jeg tror ikke brukerhåndteringen er så glad i flere samtidige brukere, så opplever du problemer kan det være årsaken :\)

(PS: Det jeg har ute nå er bare en testversjon, så ikke regn med at linker vil fungere i fremtiden, eller at oppetiden er noe å skryte av. Regn ei heller med at dataene du laster opp vil ligger her i all evighet. DS)