AtB, APIer og åpenhet

AtB er, etter hva jeg forstår en slags kommunal eller fylkesorganisasjon i Trondheim/Trøndelag som har ansvar for bussdriften her i byen. Jeg har hatt endel høner å plukke med billettsystemet T:kort.

T:kort ble satt i gang lenge før AtB, som dukket opp i fjor høst. Allerede da ble det skrytt høyt at de skulle få på plass et sanntidssystem, altså med GPSer i bussene, automatisk opplesning av neste holdeplass på bussen, samt skjermer på holdeplassene med info om når neste buss passerer. Jeg skrev en mail til AtB ved oppstart, der jeg svarte på en generell oppfordring om å komme med tips og ønsker. Det jeg skrev var følgende:

“Kom GJERNE med et åpent API for å eksponere rutetider og det lovede sanntidssystemet
med GPS i busser, slik at smarte folk kan lage applikasjoner til smarttelefoner etc.”

Svaret jeg fikk var meget positivt:

“Vi har en strategi angående dette, og vil komme med info på nettet etter hvert som vi har løsninger tilgjengelige.”

Men, dette med å få lansert var ikke så lett, en smule forsinket kom systemet på lufta i januar 2011, med eneste mulighet for å sjekke når bussen kom var å sende SMS. Bakvandt, gammelt og dyrt. Hva med nettapplikasjon, hva med en app, hva med et API? Jeg hørte med @KollektivtiSTrl om når nettøsninger og API kom 31. januar, dvs dagen systemet ble lansert. Svaret var:

Internett kommer, forhåpentligvis i løpet av dagen, ikke helt sikker når og hvordan. App kommer også etter hvert, men usikker når

Så ble det stille og ingenting skjedde. Ingenting ble lansert. Så leste jeg her om dagen en bloggpost av Ola Nordal, som etterspurte noen som kunne lage en app mot AtBs sanntidsssystem. Jeg kommenterte og klaget min nød over manglende API, noe som førte til twittermasing på AtB fra flere. @Miljøpakken svarte:

AtB vil lage sanntidsapp. Etter dette vil eventuell åpning av data bli vurdert. Mer info? Kontakt AtB 🙂

Og KollektiviSTrl melder:

AtB har bekreftet at de for tiden arbeider med utvikling av en eller flere app(s), men det er usikker lanseringsdato.

Den eneste informasjonen #AtB har å gi om #sanntid på internett er at det kommer “i løpet av våren 2011”.

Min spådom? Ja, det kommer til å komme en iPhone app og en dårlig webside. Når det er ferdig ser de på bruksmønsteret og budsjettet sitt og tenker: “nå har vi ikke råd til noe åpent API”, så vi driter i det. Synd, når man vet at man har åpnet for tilgang til slikt i Oslo.

For å ta et lite eksempel: Jeg har brukt et par dager på å snekre sammen denne siden: http://geomatikk.eksplisitt.net/atle/nybuss/. Den viser alle bussholdeplasser på et kart, og når du klikker i kartet for å angi hvor du befinner deg listes de bussholdeplassene som ligger innen en radius av 500 meter fra deg på siden. Her kan du så klikke for å finne bussider fra og til byen fra denne holdeplassen. Desverre får du nå følgende melding når du klikker på en slik knapp:

Siden AtB ikke har noe åpent API mot sanntidssystemet kommer vi ikke lengre. Hvis du vil vite når bussen går må du finne mobilen din og sende “ST 1522” til 2027. Dette koster deg en krone pr melding. Heia fremtiden!

Dog, jeg har de gyldige kodene på hver holdeplass (etter en helvettes scaping fra ei pdf-fil), så hadde AtB hatt en kjempeenkelt REST-api på plass kunne jeg vist sanntidsinformasjon isteden. Jeg krever ikke annet enn et api der jeg kan sende inn en holdeplasskode og få tilbake den samme teksten som en SMS til 2027 returnerer. Men nei! Det skal vi visst ikke få enda.

Dette synes jeg er en bakstreversk holdning. Tjenester som ruteinformasjon er ikke noe man skal holde på, det er noe som skal ut til folket, så folket tar bussen!

PS:
Når det gjelder selve eksempelapplikasjonen kan jeg komme med noen kommentarer: Løsninga kjører på en kombinasjon av Openstreetmap-kartservice, OpenLayers, Geoserver og PostGIS. Holdeplassdataene stammer fra et prosjekt i samarbeid med Alexander Nossum. For å få oppdatert med de nye holdeplasskodene har jeg gjort endel manuell jobb med å konvertere AtBs Pdf med holdeplassinformasjon til et mer maskinlesbart format. Så har jeg, på navn matchet den med den opprinnelige oversikten vi hadde med holdeplassnavn og koordinater. Med endel manuell matching har jeg fått på plass de fleste holdeplasssene, men oversikten er ikke komplett. Noen som vet om slike data finnes i et fornuftig format?

Hvis du er interessert i en basedump av de scrappede dataene fra pdfen er det bare å si fra, når det gjelder koordinatene er jeg litt mer usikker på hva jussen sier, siden de er skaffet til veie litt via, via folk.. Og, har du bedre koordinater på holdeplasser er det bare å si fra!

(og ja, eksempelsiden min kommer helt uten garantier av noe slag).

15 thoughts on “AtB, APIer og åpenhet

  1. Rune M. Andersen

    Du finner de fleste holdeplassene (m/koordinater) i OpenStreetMaps base, under taggen “highway=bus_stop”. Bruk XAPI for å hente live, eller ta vare på en dabasedump (søk etter Osmosis) og spør mot den. Myyyye raskere med egen DB, men krever at den oppdateres innimellom. Jeg har en lokal DB kjørende ifm. NTNU-kartprosjektet, du kan jo spørre mot den? Mail meg om detaljer 🙂

    Siden du har scrapet og funnet AtB-IDene kunne det vært veldig interessant å dytte disse “tilbake” til OSM, slik at man kunne mikset og matchet enda enklere – uten å scrape PDFer på nytt.

    F.eks. tagge atb:in og atb:out med IDer for inn og ut av byen.
    Der hvor et stoppested er delt på to noder bør taggene kanskje plasseres på sine respektive sider av veien: den ene med atb:in og den andre med atb:out?

    Og så, for de viderekomne, en relation for å tagge en sammenhengende rute: http://wiki.openstreetmap.org/wiki/Relation:route

    Med relations kan man lage kule ting som dette:
    http://openbusmap.org/?zoom=13&lat=63.41876&lon=10.4075

  2. anders

    jeg veit at det er noen på en eit-landsby som arbeider med å lage app for android nå. har dessverre ikke så voldsomt med detaljer.

  3. Atle Post author

    @Rune Jeg mener å huske at jeg sjekket OSM for bussholdeplasser sist jeg holdt på med dette (2 år siden) og konklusjonen min da var at de riktignok hadde endel, men ikke “mange nok”. Det kan jo hende dette har endret seg, så jeg burde vel sjekke på nytt.

    Når det gjelder tilgang så tror jeg mitt eneste valg er en dump, alle den tid jeg bruker PostGIS til å kjøre nærhetssøk etc. Men, takk for tilbudet.

    Jeg skal se litt på å pumpe kodene inn i OSM, men jeg kjenner særs dårlig til hvordan OSM fungerer, så kanskje jeg heller lar oppfordringen stå: hvis noen OSM-folk har mulighet til på grunnlag av en basedump med feltene:
    holdeplassnavn, inn-kode, ut-kode legge dette til i OSM-dataene er det bare å ta kontakt! Dog, om jeg får ånden over meg skal jeg se på saken selv også 🙂

    Og: Wow! Openbusmap er kult, burde jo absolutt få inn kodene i OSM ser jeg, dette har jo potensiale!

    @Anders: Den opplysningen stemmer jo godt med at AtB skal lansere en app i løpet av våren. Det betyr vel også at de ikke har store budsjettet på ting, men det burde vel også bety at det finnes noe som ikker er så langt unna å være et åpent API. Synd de skal være så bakstreverske!

  4. Rune M. Andersen

    @Atle: Da er det en glimrende anledning til å få på plass resten av holdeplassene 🙂 Jeg bidrar gjerne.

    Hvis du mailer meg kodelisten i rådataformat kan jeg lage en prosjektside i OSM-wikien, slik at “vi” kan legge inn og stryke over det som er ferdig. Så kan flere bidra samtidig.

  5. Atle Post author

    @Rune: da er mail sendt over med databasedump. Genialt å få dette inn i OSM, så får vi håpe ikke AtB endrer disse kodene så ofte.. 🙂

  6. Alexander Salveson Nossum

    Fint prosjekt!

    Dette er jo noe vi eksperimenterte litt med for en stund tilbake også. Og som jeg en god del studenter også har prøvd seg på. Dessverre har alle stoppet med at de mangler API/datatilgang fra AtB/TeamTrafikk.. Det er trist.

    Det virker som AtB tydelig har en strategi på å lukke datatilgang. Kanskje for å beholde full kontroll selv? Uansett en svært dårlig strategi.

    Bra at holdeplassene kommer inn i OSM – jeg mener at vi hentet litt derfra også i sin tid?

    Jeg undres jo også hvorfor AtB ikke dumper data til Google Transit. Hva har de å tape på å fortelle hvor produktet deres er og hvordan det kan brukes?

    Btw. bloggen min har flyttet til alexanno.net – blog.eksplisitt.net speiler (litt dårlig) alexanno.net.

  7. Atle Post author

    @Alexander Jepp, men nå i lys av et mulig sanntidsapi, da mot bussorakelet. Det burde jo være mulig å lage noe som kombinerer de to..?

    Mangelen på API mot sanntidssystemet er som du sier bare trist, og jeg har en snikende følelse av at det ikke kommer til å skje så veldig mye på den fronten. Tror vi må (som nevnt på andre blogger) foreta oss en demonstrasjon ved AtBs kundesenter! De må jo skjønne at dess flere som får tilgang til bussinformasjon, dess flere tar bussen (og dess mer kan Arbeiderpartiet skryte av at de får folk til å ta buss..)

    Jeg synes også det er genialt at disse dataene finner veien inn i OSM, litt usikker på om vi endte opp med å bruke data der i “forrige omgang”, tror kanskje vi gikk for TT-dataene eksklusivt?

    Google transit har jeg (med skam å melde?) ikke hørt om før, kanskje noe jeg burde se på? Tror vel uansett argumentet mitt med at dess flere som har tilgang til dataene dess bedre er gyldig her også?

    (blogglenke er oppdatert, blir forvirra av folk som opererer med flere adresser.. :p)

  8. Mats Taraldsvik

    Man kan fint legge inn (buss)ruter i osm, også — ikke bare holdeplasser. Da har man rimelig brukbare data i bunn. 🙂

    Jeg sitter i EiT-landsbyen (og en av gruppene) som holder på med sanntidssystemet og ruteplanlegging med hjelp fra AtB.

    Det vi har hørt fra AtB, er at de vil implementere (eller kjøpe inn, blir vel riktigere) samme grensesnitt som Trafikanten bruker (SIRI .co.uk), som er en europeisk standard. Det går med XML over http (og/eller XML over http+SOAP), og du kan få ut det meste av info som trengs. 🙂

    Greia er visst at det jobbes med en tjeneste for nasjonal ruteopplysning, og for å være med på denne, er det SIRI-grensesnittet som gjelder.

    NÅR dette kommer på plass, det tør jeg derimot ikke gjette på, hehe…

  9. Atle Post author

    @Mats: Det er vel det vi ser i openbusmap.org som Rune nevner over?

    Når det gjelder opplysningene du kommer med om hva som gjelder om standarder etc så er dette veldig spennende. Min erfaring er at når man skal lage et API basert på en standard så tar det VELDIG lang tid før det skjer noe, det er et tungrodd system..

    Dog, prosjektet deres høres interessant ut, har dere noe “public preview” ute eller noe slikt? Og er det resultatet deres som blir den “offisielle” appen fra AtB?

    (og: Hjertesukk: Hvorfor må jeg få vite dette gjennom deg? (for all del, setter pris på det!) Hvorfor kan ikke AtB gå ut med denne informasjonen selv? Er åpenhet et ord de skyr som pesten? Er ikke AtB et offentlig selsap for crying out loud? *oppgitt*)

  10. Mats Taraldsvik

    @Atle: Ja, det er nok det — skummet raskt over, så la ikke merke til at det allerede var nevnt.

    Det vi får gjort mellom alle prosessøvelsene, blir nok neppe til noen ferdig applikasjon, så det er snakk om en enkel prototype. Foreløpig laget vi en rask implementasjon av SIRI. Tanken er at man kan plugge AtBs SIRI-grensesnitt når det kommer på plass. Mao. er det ikke noe man kan bruke pr. dags dato.

    Inntrykket mitt er at AtB gjerne har intensjoner om å ordne opp og tilby åpne løsninger. I det minste har de bedre holdninger enn Team Trafikk, som de tok over for. Jeg har hørt at en masteroppgave gikk ut på å simulere busstraséer i stor skala for Trondheim, for å vise hvor mye mer effektivt det hadde vært å legge flere ruter utenom sentrum. TT tok vel en rask femminutters-titt på oppgaven og erklærte seg “ikke interessert”… Jeg tror og håper AtB vil og skal bedre dette, selv om det ikke skjer mens jeg studerer her. De har en lang vei å gå…

  11. Atle Post author

    Ok, jeg ser godt den at dere ikke klarer å levere et ferdig produkt, det er vel heller ikke meningen med EiT 😉

    Dog, blir litt alarmert av at de ikke har systemet oppe å gå engang, for alt jeg veit er SIRI genialt (ref: http://scobleizer.com/2010/02/08/why-if-you-miss-siri-youll-miss-the-future-of-the-web/), men det eneste jeg ønsker meg pr dags dato er et enkelt REST api der jeg kan kalle en url på formen:
    http://atb.no/api/getTrueTime.php?code=0001 og få returnert den samme teksten som en SMS returnerer.

    Det kan nok være at AtB er mer åpne enn TT, men jeg har liksom ikke helt kommet ut på riktig fot med AtB, og denne saken her synes jeg tyder på at de ikke setter åpenhet helt i forsetet.

  12. Pingback: HC SVNT DRACONES » Hjelp, jeg vil lære meg OpenSource WebGIS?

Leave a Reply

Your email address will not be published. Required fields are marked *