Borger Finn er lidt klemt af finanskrisen og vil gerne lave lidt penge ved siden af sit dagjob. På Digitaliser.dk læser han, at der er penge i offentlige data. Dem vil han gerne have fingre i. Gennemblader Datakildekataloget, for at se hvilke data det offentlige ligger inde med og for at få ideer til hvad de kan bruges til. Familiestyrelsen har listerne over godkendte fornavne, som nybagte forældre kan vælge navn til deres barn fra. Danmarks Statistik har en række statistikker som vedrører navne: hitlister for de mest populære navne for danskere født et bestemt år, hvor mange der er navngivet et bestemt navn et givet år, hvor mange danskere der er med et bestemt navn mm. Wikipedia har artikler om mange fornavne, som f.eks for Pernille. Disse data må kunne bruges til hjælpe kommende forældre med at finde et passende navn til deres afkom, som opfylder deres og myndighedernes krav og ønsker til et navn. Borger Finn kunne godt huske den gang han og hans kone skulle navnegive deres børn. Det var ikke nemt. For det første at få overblik over mulighederne samt vælge mellem de bedste kandidater. Dernæst at sørge for, at navnet ikke var belastet af knap så tiltalende personer bærende samme navn. Finde ud af om det var et sjældent eller meget populært navn osv. Uvist af hvilken grund har nybagte forældre en tendens til finde frem til samme navn. Finn og hans kone mente i hvert fald, at de havde været rimeligt omhyggelige med at finde et godt navn, som der ikke var så mange, som hed. Det troede de på indtil barnet skulle i vuggestue. Her viste det sig, at der var en del andre forældre, der havde fået samme gode ide til et navn. Det kunne have været undgået, hvis de havde brugt den mashup, som borger Finn var i færd med at udtænke. Give kommende og nybagte forældre en mashup, som kan give overblik over godkendte fornavn samt give yderligere information om udvalgte navnekandidater. Der må behov for en sådan mashup, og der må være muligt at lave lidt indtjening på reklamer. Kommende og nybagte forældre skal ud og købe alle mulige ting, for at give deres barn den bedst mulige start. Mashup’en skulle selvfølgelig også kunne bruges, hvis man ønsker at skifte navn, måske efter at have været hos numerolog, eller hvis man blot ønsker at se statistik på ens eget navn. Borger Finn syntes, at det var en god ide og gik straks i gang med at forfølge den.
Det er jo ikke kun børn der skal have navne. Mashups skal også. Navnene NemNavn eller FindNavnet kom hurtigt på banen, derefter BarnetsNavn , men han besluttede sig til sidst for at kalde servicen Navnelaboratoriet pga. af den forsøgsagtige brugsmåde samt de forskellige kurver, der blev brugt til at vise forskellige trends.
Efter 80 linjer html, 79 linjer css og 169 linjer JavaScript var mashup’en klar: http://jordal.dk/navnelaboratoriet.
Navnelaboratoriet fungerer på følgende måde. Lad os sige, at det vordende forældrepar Jonstrup venter en pige, som de meget gerne vil have navngivet med et navn, som starter med ’F’ og ender med ’ja’. De taster følgende ind i søgefelterne:

Klikker på Søg-knappen og bliver præsenteret for følgende godkendte navne:

De syntes at Freja Jonstrup er et godt bud og klikker derfor på det, hvorpå der dannes et faneblad med pågældende navn:

Fanebladet indeholder en række oplysninger om navnet Freja Jonstrup. Først oplysninger om hvor mange der i Danmark hedder henholdsvis Freja, Jonstrup og endelig Freja Jonstrup:

Dernæst oplysninger om hvor mange piger, der bliver navngivet Freja pr. år:

Eventuelle placeringer på navngivningens Top 50:

Og endelig lidt mere information om navnet:

Herefter kan parret gå tilbage til søgefanebladet, klikke på andre gode navnekandidater, danne faneblade for disse navne og blive klogere før deres endelige navnevalg.
Borger Finn, som er fra hulkortsgenerationen og havde sin største udviklingserfaring i FORTRAN IV, blev imponeret over mulighederne i JavaScript, udviklingsbiblioteket JQuery og Google Visualization API kombineret med REST services til Familiestyrelsen og Danmarks Statistiks data. Den enkle arkitektur ses nedenfor:

Der var blot et lille problem med denne arkitektur: De to styrelser havde ingen REST services til navnedata. Det var lidt ærgerligt. Tænk hvis man kunne nøjes med få linjer html, css og JavaScript, så ville det jo være rimeligt overkommeligt at lave en lille mashup baseret på offentlige data. I stedet for ovenstående simple arkitektur, skulle borger Finn etablere følgende arkitektur:

Det betød, at borger Finn i stedet for kun at frembringe den viste browserapplikation også skulle frembringe/etablere følgende:
- En database til at lagre navnedata.
- Et program til at læse den kommaseparerede fil med godkendte fornavne fra familiensstyrelsens web site. Borger Finn satte pris på at Familiestyrelsen gav mulighed for at downloade den maskinlæsbare fil med godkendte fornavne.
- Programmer til at batch web scrape navnedata fra Danmarks Statistiks web site.
- Funktionalitet til dynamisk at web scrape antallet af personer med et givet navn fra Danmarks statistiks web site. Baggrunden for at web scrapingen skal foregå dynamisk er hovedsagligt at der ikke som med fornavns data er et kendt sæt nøgler – nemlig godkendte fornavne, men en ukendt mængde af efternavne. Med dynamisk web scraping menes, at alle data ikke en gang for alle kopieres over på Navnelaboratoriets database, men aktiveres efter behov fra Navnelaboratoriets brugergrænseflade. Dynamisk web scraping er meget følsom for ændringer i den scrapede web side.
- En REST service til at udstille navnedata over for mashup’en.
Det resulterede i, at borger Finn skulle etablere et noget mere komplekst driftsmiljø samt udvikle væsentlig mere end de par hundrede linjers kode, der skulle til at etablere browserapplikationen(mashup’en). Derudover skulle han til at finde ud af, hvordan hans sæt af navndata skulle synkroniseres med Familiestyrelsen og Danmarks statistiks navnedata, når de blev opdateret. Det var trælst at skulle etablere alt dette for at lave denne lille mashup. Hvis nu bare myndighederne udstillede deres data via en REST snitflade, så kunne borger Finn undgået at skulle etablere det noget mere komplekse driftsetup, undgået at skulle kode en række web scrapingsprogrammer samt undgået at skulle forholde og gøre noget ved opdateringsproblemstillingen.
Det var ikke en situation, som borger Finn ønskede, at andre skulle komme i, så han offentliggjorde navnelaboratoriets REST API: http://jordal.dk/navnelaboratoriet/api.htm med et par eksempler på brugen: http://jordal.dk/navnelaboratoriet/eksempler.htm. Og kildekoden blev lagt her. REST API’et var egentlig kun rettet mod hans egen mashup, men han mente, at andre måske kunne få glæde af det. Desuden var han fascineret af figuren fra W3C’s Publishing Open Government Data:

Borger Finn nåede ikke at nyde sin lille mashup-kreation længe, før han begyndte at spekulere over om det overhovedet var lovligt at bruge de to myndigheders data på denne måde. Det måtte han hellere til at finde ud af.
Finn Jordal / @OIOREST
IT- og Telestyrelsen