Programmering - Vox Publica https://voxpublica.no/tag/programmering/ Magasin om demokrati og ytringsfrihet Fri, 25 Apr 2014 11:09:34 +0000 nb-NO hourly 1 API for Virksomme ord: Presenter politiske taler på din måte https://voxpublica.no/2014/04/api-for-virksomme-ord-presenter-politiske-taler-pa-din-mate/ https://voxpublica.no/2014/04/api-for-virksomme-ord-presenter-politiske-taler-pa-din-mate/#comments Thu, 24 Apr 2014 16:27:43 +0000 https://voxpublica.no/?p=12699 Vox Publica er straks klare til å lansere våre nye temasider. Temasidene vil inneholde en samling med supplerende informasjon for hvert tema, blant annet hentet fra Wikipedia, Store Norske Leksikon (SNL) og Digitalt Museum. Vi kan gjøre dette fordi alle disse kildene gjør alt innholdet sitt tilgjengelig via godt dokumenterte API-er — altså programmeringsgrensesnitt: Wikimedia, SNL-API og Norvegiana. Disse tjenestene gjør det mulig å søke etter og laste ned innhold i et maskinlesbart format som enkelt lar en datamaskin hente ut relevante utdrag.

Dokumentasjon

Virksomme ord

I tillegg til Wikipedia, SNL og Digitalt Museum henter vi også inn innhold fra Virksomme Ord, databasen over norske politiske taler. Virksomme ord har også et API, men dokumentasjonen for dette har ikke vært offentlig tilgjengelig. Via vår utgiver, Institutt for informasjons- og medievitenskap, har vi likevel fått tilgang til dokumentasjonen. Etter å ha fått testet ut API-et på våre sider, har jeg samlet sammen og renskrevet denne dokumentasjonen og publisert resultatet: Virksomme ord API — Dokumentasjon.

Nye muligheter

Vi har ved hjelp av API-et fått laget temasider som automatisk viser relevante taler, men dette er bare en av mange muligheter. Vil du for eksempel lage en ordsky for taler fra de forskjellige partiene? Finn liste over partiene her retorikk.mellomlag.ListePartier, finn alle personene for hvert parti ved hjelp av retorikk.mellomlag.PartiInfo?id=9 og finn alle talene ved å søke på taler per person: retorikk.mellomlag.Asok?taler=siv%20jensen. Innholdet i talene nås via retorikk.mellomlag.TaleInfo?id=2721. Alt dette lar seg enkelt implementere i et dataprogram.

Dette var bare et eksempel på hva et API kan la deg gjøre, og nå som dokumentasjonen er offentlig kan vi håpe på at flere benytter seg av det på overraskende og innovative måter.

]]>
https://voxpublica.no/2014/04/api-for-virksomme-ord-presenter-politiske-taler-pa-din-mate/feed/ 1
Mer databasejournalistikk! https://voxpublica.no/2009/12/mer-databasejournalistikk/ Thu, 03 Dec 2009 10:28:11 +0000 https://voxpublica.no/?p=2370 Den svenske mediebloggen Same Same But Different har satt i gang en spennende serie der de forsøker å se inn i krystallkulen: Hva vil skje i møtet mellom gamle og nye medier i 2010?

I dag er det utviklingsredaktør Pelle Sten i Svenska Dagbladets tur, og han framhever “databasjournalistik” — journalistikk via programmering, datastøttet journalistikk — som en av trendene som vil skimtes tydeligere neste år. I Sverige er det valgår, og det bør inspirere redaksjonene, mener han:

Läsarna vill veta hur deras lokalpolitiker röstar, både i kommunen och i riksdagen. De vill veta hur politikerna röstar i frågorna som berör deras kvarter och städer. De vill veta hur voteringarna stämmer överens med vallöftena.

Sten peker på TV4s Kalla fakta om de folkvalda som et lovende forsøk. Her kan velgerne sjekke riksdagsrepresentantenes inntekter og fravær. Men Sten føler seg ikke sikker på at vi vil få se flere gode prosjekter i denne retning: Han frykter at mediehusene igjen vil “tappa bollen” og se seg forbiløpt av “pigga entusiaster och nördar”.

Her på bloggen skrev jeg tidligere i høst om behovet for presis og oppdatert informasjon om hva kommunepolitikere stemmer i enkeltsaker. Journalist Tom Erik Thorsen plukket opp poenget og fortalte om egne erfaringer fra Skien:

For noen dager siden jobbet jeg med en sak om en mulig storhavn på Auenlandet i Porsgrunn. Bystyret i Skien har sagt nei til å utrede dette, mens Porsgrunn og Bamble kommuner har sagt ja. I protokollen i Skien står det bare at vedtaket ble fattet med 34 mot 21 stemmer. Javel, men hvem stemte hva? En telefon til formannskapskontoret gjorde meg ikke særlig klokere, og det er ikke formannskapskontorets skyld. For protokollen sier ikke noe om hvilke representanter som stemte hva. Dersom hver representants stemme blir registrert kan man gå tilbake og lett bringe dette på det rene. Vi slipper å gjette oss til hvem som stemte hva. Dette ville være en styrke for demokratiet. Sindre Skiensborger vil kunne sjekke hvilke politikere som stemmer etter hans smak. Og vi i pressen vil slippe å gjette.

Thorsen konkluderer med at “kalenderen sier 2009”, mens voteringssystemene er på steinaldernivå (la oss i hvert fall være enig om at de bare så vidt er på Gutenberg-nivå!). Det er merkelig hvordan deler av samfunnet er teknologisk hyper-oppdatert, side om side med at vi finner slike åpenbart utilstrekkelige løsninger på et så viktig felt som lokalpolitikken. Dette må det gjøres noe med, og økt interesse fra mediene kan bidra.

]]>
Kan mine data gjenbrukes? https://voxpublica.no/2009/11/kan-mine-data-gjenbrukes/ https://voxpublica.no/2009/11/kan-mine-data-gjenbrukes/#comments Mon, 02 Nov 2009 13:23:36 +0000 https://voxpublica.no/?p=2089 Prosjektet Fakta først arbeider med å kartlegge offentlige datakilder som bl.a. kan brukes til journalistiske formål. Første innlegg i bloggen fikk overskriften Data er fakta vi kan bruke. Lesere har oppfordret oss til å ta et skritt tilbake og forklare hvordan det rent teknisk går til når en virksomhet frigir data for viderebruk av andre. Hva kreves av tilrettelegging, hvilke formater er å foretrekke — det er noen av spørsmålene vi forsøker å svare på her.

I informasjonsvitenskapen beskrives data som “bærer av informasjon”, “en samling symboler som når de settes sammen etter bestemte regler, kan gi informasjon”[1]. Før vi har lagt på disse reglene omtales ofte datasettene som “rådata”. Det er så reglene vi bruker til å behandle rådataene som avgjør hvilken informasjon vi kan få ut av dem. Å dele data åpner for alternative måter å behandle dataene på, alternative regelsett til å oversette rådata til informasjon. Hvis dette gjøres på metodisk holdbare måter blir dataene omgjort til informasjon vi kan bruke. I beste fall hjelper dette oss til å basere vår forståelse av verden på fakta.

Hva skal til for at data skal kunne gjenbrukes?

Enkelt sagt bør dataene være plattformuavhengige, maskinlesbare og ha en tydelig struktur. Det betyr at de kan brukes på en hvilken som helst datamaskin, og må være mulig å håndtere med programkode uten at et menneskelig øye og tolkning må til for å forstå innholdet. Struktur og metadata (data om data) hjelper oss å gjøre dette mulig.

Gapminders Trendalyzer forsøker å hjelpe oss å danne et faktabasert verdensbilde, basert på offentilig data (statistikk)

Professor i internasjonal helse, Hans Rosling, har gjort seg til verdenskjent forkjemper for å frigi offentlige statistikker verden over. Her illustrert ved et skjermbilde fra hans prosjekt Gapminders programvare Trendalyzer som her viser verdens land fordelt etter levealder og inntekt.

Hvilke data?

Intensjonen bak frislipp av offentlige data er ikke bare målet om gjennomsiktighet, men også innovasjon. Hvilke produkter og tjenester som bygges på grunnlag av data som deles aner vi lite om før dataene er tilgjengelig. Når data som tidligere har vært skjult bak kommunegrå vegger åpnes, åpnes også et potensial for friske øyne til å se nye måter å skrive kode som omdanner rådata til informasjon.

Litt enkelt: hvis frislipp ikke innebærer betydelig ulempe for andre (personvern, konkurransehensyn, med mer) og er betalt av skattebetalerne, så bør dataene frislippes.

Hva slags format skal jeg dele i?

Viktigst av alt, formater likesinnede kan bruke. Er du usikker, del det du tror andre kan bruke. Men dette er ikke alltid et enkelt spørsmål å besvare, det kommer i stor grad an på hva slags data du har.

Det er vanskelig å kategorisere datakilder, offentlige så vel som andre. Hvor ofte datasettene endres og hvor store de er kan gi en indikasjon på hvordan de bør deles.

Enkelte datasett er små og oppdateres sjeldent, slik som navn på fylker og kommuner, postnummer, flyplasser, politi‑, helse og sosialdistrikt, osv. Slike datasett kan gjerne være tilgjengelig som flate filer. Med “flate filer” menes datafiler som er strippet for programspesifikke koder og notasjoner, slik at dataene kan leses av ulik programvare. Erik Bolstad deler forbilledlig postnummerregisteret etter en opprydningsdugnad i sommer.

Data som sjeldent eller aldri blir oppdatert bør deles åpent på nett, slik at søkemotorer kan hjelpe folk å finne ut at disse dataene eksisterer. Dette trenger ikke være mer komplisert enn å legge filene med beskrivelse tilgjengelig på nett.

Dette er på ingen måte noen «best practice» for deling av data, men det er en metode med lav terskel for å komme i gang. Flate filer krever at de som skal gjenbruke dataene må reorganisere dataenes logiske struktur, en potensielt tidkrevende og vanskelig oppgave, som kan resultere i uriktige tolkninger av dataene.

Data som ofte oppdateres kan også legges på nett som filer, men dette skaper fort mye manuelt arbeid for alle parter. Med store datasett likeså.

Gi oss et API!

Et API er et programmeringsgrensesnitt som muliggjør kommunikasjon mellom programvare. I mange tilfeller vil det som er mest aktuelt være et web-API, altså et grensesnitt en programmerer kan nå over http (protokollen weben er bygget på).

Litt enkelt igjen: når du peker nettleseren din til www.uib.no, så svarer webserveren som denne websiden er lagret på med å servere deg html som nettleseren viser som en webside. Den kunne (og kan) likeledes svare med andre formater, som XML, JSON, RSS, kommaseparerte verdier, SVG, et bilde, osv. “Svaret”, altså de dataene som sendes tilbake etter at et kall er utført, kan behandles videre i den programvaren som utførte kallet. Ved å definere et sett med regler for hvilke ressurser som kan nås med ulike metoder og parametre, kan data raskt, presist og enkelt utveksles.

Når data deles på denne måten kalles tjenesten for en web service, som er et av temaene vi legger i ideen om den semantiske veven [2].

Yr.no har fått mye fortjent kudos for sitt frislipp av værdata, og ved å lese dokumentasjonen deres får vi et inntrykk av hvordan dette kan gjøres. NRK grubler på hvordan de kan gjøre noe liknende, det samme gjør SSB.no under prosjektnavnet Nye ssb.no (se eget blogginnlegg om SSBs nettplaner).

Dokumentasjon er et nøkkelord her. For at en slik tjeneste skal være virkelig nyttig bør dokumentasjonen være brukervennlig. Google kan trekkes fram som et godt eksempel. Deres tjenester som har et offentlig API er som regel dokumentert i detalj og med gode eksempler med kode. Google Maps API er et eksempel for kart. Se også Flickr for bilder, Last.fm for nettsamfunn/musikkdata, osv. Nye tjenester som dukker opp og blir populære på nett har ofte et dokumentert API som gjør at data lett kan gjenbrukes.

RSS er din venn. Uansett hva slags informasjonskanal du deler på nett er det noen som er interessert i å vite når du publiserer noe nytt. Hvis du sitter på data som uregelmessig produseres og er uforutsigbare av natur (kalenderdata den ene dagen, informasjonsskriv, kart eller bilder den neste) så er det bedre at vi får vite at noe nytt er på gang framfor å måtte tråle weben kontinuerlig.

Men viktigst: Vi må vite hva vi ser etter

Vi trenger også en norsk utgave av data.gov, en samlet oversikt over rådata på ett sted. Danskene har det allerede i digitaliser.dk, og en britisk versjon er rett rundt hjørnet. Kartleggingsprosjektet vi informerer om på denne bloggen har begynt på en slik oversikt. Det er i det hele tatt god grunn til å tro at det bare er et spørsmål om tid før et norsk data.gov kommer. Forskningsprosjektet Semicolon har slike planer, som det fremgår her. Det er også private initiativer; nylig har Sondre Bjellås startet wikien datakilder.no.

Som Nick Diakopoulos påpeker bør en slik sentral samling av datakilder inneholde automatisk sporing (f.eks. ved trackbacks) av prosjekter som bygger på data herfra. Slik kan vi bygge på hverandres erfaringer og kode, og unngå dobbeltarbeid.

Det største problemet for kartlegging av offentlige data sett fra en prosuments perspektiv, er at vi ikke vet hva vi ser etter. Først når vi vet hvilke rådata som finnes, kan vi begynne å gruble over hvordan disse dataene kan omformes til samfunnsnyttig informasjon.

Referanser

  1. Trond R. Braadland, Innføring i informasjonsbehandling (Fagbokforl., 2002), books.google.com.
  2. Thomas B. Passin, Explorer’s Guide to the Semantic Web (Manning Publications, 2004).
]]>
https://voxpublica.no/2009/11/kan-mine-data-gjenbrukes/feed/ 4