Collaboration across borders


Nordvision agreed to fund a programmer’s exchange between DR in Denmark, Rúv in Iceland and Yle in Finland. The exchange started off with me going to Iceland for two weeks. We collaborated on a meta-data project for Drupal called Yild by preparing for migration of Rúv’s terms to a Yild-compatible format and by writing a new Spotify provider module for it. We feel a lot of good came out of the project and are eager to continue it when someone from Iceland comes to Yle for a similar exchange in Q1/2017.

The project

Three nordic broadcasting companies: Svenska Yle, DR and RÚV have received funding from Nordvision to undertake a two week developers’ exchange between the companies. This text documents my experiences and findings from working with RÚV for two weeks.

Where it all started

The project first started in Amsterdam in 2014, when we met Helgi Páll Þórisson from RÚV at Drupalcon, a big convention for enthusiasts and professionals of the content management system Drupal. Both Icelandic RÚV and Finnish Yle were already using Drupal and we have the unique common ground of both being a publicly funded public service company with the same challenges and demands on the web platform.

We discussed the merits of Drupal and the unique problems we were facing. Quite soon the idea of collaborating was born. Coincidentally, there is already an organisation for such collaboration: Nordvision, which gathers representatives from all Nordic public service companies around the same table in a partnership.

Later, we would run into Helgi several times at various Drupal events and our visits to other Nordic public service companies. The idea of working together started to grow and pretty soon a developer exchange was proposed: One developer from Yle would work in Iceland at RÚV for a couple of weeks and later on, someone from RÚV would come work with Yle in Finland. Danish DR also expressed interest in being part of this program and time tables and other circumstances permitting, a similar exchange involving DR is planned for the future.

The exchange

After the summer of 2016 things started coming together: Nordvision approved the request for funding and pretty soon a time table was drafted: I would go to RÚV for two weeks in November 2016. At Yle and RÚV we started planning the details of the exchange.

We decided the developer exchange would focus on metadata, since Yle already uses a tagging system for Drupal that connects tags to an official source, such as Wikidata. This module or plugin for Drupal is an open source project called “Yild” (for Yle integrator for linked data). We agreed that our main focus would be to determine whether the same system could be used at RÚV and if so, to start implementing it.

The team

RÚV has a team of highly skilled web developers wrestling with a multitude of technologies, such as Swift, Python, PHP, to name a few. The team is cooped up in a far away corner of the building, fairly well isolated from the rest of the workforce. This is typical and unsurprisingly the same arrangement we use at Yle: Developers need to be isolated from outside disturbances and any interaction should ideally be channeled through one intermediary, a team leader or a scrum master.

What’s impressive is that two of the developers, Hannes and Jón, had only been at RÚV for a month when the exchange started and they were already highly productive. Hannes showed me the Apple TV app he was working on and told me the first version was already in production! Most of all, what stayed with me, was how fast RÚV had managed to make their new employees productive. Something many other companies could take note of.

Volunteer work

One thing that sets our organisations apart is that many developers at RÚV seem to be involved in some kind of extracurricular and in many cases volunteer activities:

Jón runs an non-profit initiative at the web address to teach young kids programming. This is done with a Raspberry Pi computer that is able to run the popular game Minecraft in such a way that it can be programmatically manipulated using Python. This means the kids can learn to build houses by programming logic instead of the traditional approach of walking (in the game) to a spot and placing a building block there. I was impressed by how visual this process of learning the basic tools of programming is.

Gunnar is deeply involved in an initiative first introduced by BBC to give 9000 Icelandic children their own one-circuit-board computer, the so called Micro:bit. This collaboration between Microsoft and BBC gives the children an app that runs on their mobile. Using Bluetooth, they can first design the program in the app and then transfer it to the Micro:bit for running. I started Googling the Micro:bit and apparently there have been some Workshops at Kiasma, our modern museum, in Finland to introduce it to the public. In Iceland, this project has already evolved into an Icelandic web page developer by RÚV that contains dozens of exercises for those who want to learn how to program. I’m hoping to see similar initiatives in Finland as well. Maybe Yle could look into something similar or even collaborate with RÚV?

Image showing how small the micro:bit device is.
Micro:bit. The price is as tiny as the device itself: 25€.

Team management at RÚV

The first thing that catches your eye at the web developers’ office at RÚV is the gigantic kanban board in the middle of the room. Almost all the sticky notes are in the “ready for testing” or “done” column.

Image depicting the Kanban board at Rúv
Yes, most of the issues are in the ”done” column.

Like most software companies these days, the chosen methodology is a sort of customised agile model with daily meetings and a desire to achieve synergy through shared problems and tasks. Whenever I told the team about a problem I was facing during a daily meeting, someone was always eager to offer a solution: “Icelandic always has problems with character encoding because of our many special characters”, Gísli Þórmar Snæbjörnsson offered helpfully.

Whenever one team-member recognised another member was working on something they had previous knowledge about, they were quick to offer assistance. I believe one big reason, perhaps the biggest, for implementing agile in a team is to move from working as individuals to working as a team and the Icelandic developers’ team was clearly a team. I often saw three or four people flock around the same screen, speaking enthusiastically about some new idea of problem they were having. In contrast, at Yle I usually see people keep to their own screen and I think this is something we could learn from the Icelandic team: to be more brave in seeking out other people’s ideas and thoughts.


We started the project with a kick-off meeting the very first day. Everyone on the web-team attended and it was decided I would primarily work with Jón, Hilmar and Helgi. These were all people with prior Drupal experience or, in Jón’s case, new employees who needed to familiarize themselves with the platform.

As part of the Kick-off meeting I demonstrated the Yild module to the whole team. Yle has been using the module for tagging content for several years and it is this experience and expertise that puts us in a position to help RÚV take their tagging to the next level.

Real structured data opens up exciting possibilities: For one, Google will start to know what the content is about, which will help the search engine ranking. Using a common vocabulary, there is also the possibility of linking content from different sites. If Svenska Yle writes about the Eurovision Song Contest, we could link to RÚV’s content about the same subject.

Code review

The next day the Drupal developers gathered for a more technical meeting: The code review and presentation of the Yild module. I explained the structure of the project and walked the team through the programming patterns in use.

Yild is a multi-part module where a core module provides the basic functionality. The core then calls upon so called provider modules to fetch tag suggestions and details from various external sources. Each external service has its own provider: Wikidata, Geonames, Wikipedia, Musicbrainz, etc.

As a result of the collaboration with Rúv, a stable version of Yild was published. You can read more about it and test it yourself at

Writing your own provider module is a relatively trivial task if they have a well-documented api to fetch data from. As a result from the code review, Hilmas became enthusiastic about writing a provider module for Spotify since that was something he needed for another project. By making Hilmar a co-maintainer for the Yild project, it would also be possible for him to contribute to the Yild project itself with a new component that added functionality:  the ability to tag articles and other content with any artist, song or album that is on Spotify, complete with l descriptions and album covers.

Jón would in turn work on a provider for tagging with Icelandic politicians (an idea that was later scrapped and replaced by a provider for looking up Icelandic companies).

Helgi and I would work on researching how to best migrate from the current tag system on RÚV’s Drupal site. It was suggested that a migration tool for trying to match existing tags against a preferred provider would be useful for the whole Drupal community, so that would be my main focus for the next weeks, along with trying to match RÚVs tags against Wikidata to find out how many I could actually match.

The Spotify Provider

Hilmar was quick to finish his first draft of the Spotify provider module. After committing it to the version control repository at, I read the code, tested the module and offered my comments and insights.

In just a few days, Hilmar went from not having seen the project before to contributing a provider module that was added to for the benefit of the whole world. This felt like a big win for the project. Two Nordic public service companies had actually worked together on the same code and then released it as open source.

Image showing the Spotify provider in action.
Looking up the Icelandic artist Mugison using the Spotify provider finds all albums and songs.

In the meantime, Jón discovered a bug that broke an important part of the functionality of Yild on cleanly installed systems. He quickly fixed the bug, made a patch, which was added to and credited to him. We now had two Icelandic web developers from RÚV with official contributions to a Drupal project started by Finnish Yle.


One thing to keep in mind is that the quality of your structured data can only be as good as the data you get from the provider. There was always a concern that Wikidata wouldn’t be good enough in Icelandic to actually be used with RÚV’s content.

During one of our first meetings, Jón mentioned there was a very exciting open source initiative for cataloging and structuring content on Icelandic news sites called Greynir. Greynir is an NLP (Natural Language Processing) parser for the Icelandic language. It indexes several sites and breaks the content into a tree structure, distilling the content into specific terms, such as names of people, places, job titles etc.

Greynir is developed by Vilhjálmur Þorsteinsson, a veteran programmer and enthusiast of deep learning and artificial intelligence. Jón set up a meeting to sit down with mr Þorsteinsson to discuss the possibility of turning Greynir into an API for use with Yild.

One way we use Yild at Yle is to fetch term suggestions based on the content. This requires some kind of analysis service that reads the text and offers suggestions on terms that are relevant for the content. There is currently no such service for Icelandic that we know of, but Greynir is very close and with a small amount of work might become such a service. This would help immensely with the tagging of Content at RÚV.

During the meeting mr. Þorsteinsson said it would be quite easy to give Greynir an Api structure and it’s an angle we are excited to move forward with.

Read more about Greynir and try it out yourself at their website.

Migration tools

The biggest obstacle for implementing Yild on RÚV’s site was always migrating from the current, unverified tags to something actually connected to Wikidata.

I set out to write a migration tool that would go through all 2000 tags used on RÚV’s website and try to match them with their Wikidata counterparts. After some challenges with character encoding – of which I had been duly warned – and a lot of translation help from my fellow team members and Google translate the tool was finally ready. Out of more than 2000 terms approximately half could be matched against Wikidata. The rest of the terms were saved in a report delivered to Helgi for further inspection.

Image depicting the migration of terms by matching against Wikidata.
Matching tags in Icelandic against terms found on Wikidata.

The way to move forward is now to analyse the migration data and see if it’s good enough to work with. The plan is to run the migration script on RÚV’s test servers and then on the production servers, after which moving to use Yild is simply a matter of enabling the module and teaching the editors to use it.

One particularly amusing problem was when I tried to match the Icelandic word for heavy rock, Þungarokk and kept getting a totally unrelated word from Wikidata that means “roofing sheet” (the sheets of corrugated steel used as roofing on some houses). The word was bárujárn. After a while I asked a team member if he had any idea why this might happen and he laughingly told me it was actually a term used by metalheads as a synonym for heavy rock since back in the beginning of the musical genre they thought the music sounded like hitting sheets of corrugated steel with a hammer. Sometimes the code works perfectly and it’s just the interpretation of the data that is wrong.

The way forward

Having completed the first part of the collaboration project, I feel it’s important not to lose momentum. It’s easy to pat ourselves on the back and congratulate each other on a job well done, but the reality is we’re not done yet.

In the near future, possibly in January, a developer from RÚV is scheduled to join our developers at Yle for two weeks. During that time we will work more on the metadata issues and hopefully come a step closer to implementing Yild on RÚV’s website. We will also likely work together on other issues to benefit from the knowledge of the Icelandic web developers.

In February RÚV is hosting Drupalcamp Northern Lights 2017 in Reykjavik. This will be another opportunity to meet and discuss the project. Hopefully by then, we will be on track to enable the Yild module at RÚV and start tagging in a common way.

There is another Nordvision project focused on API collaboration between the companies. During my stay I demonstrated Yle’s many APIs and walked some RÚV developers through the documentation. As it turns out, RÚV is eager and excited to bring their content to a similar API structure and I feel there is a great opportunity for collaboration around this issue as well. Both in imparting our knowledge of API design, but also ensuring our APIs are built with a similar structure so that we can share information and data more easily in the future.

Above all else though, I feel it’s important to keep the wheels in motion. There is a lot of potential and we’ve come a long way already. By producing something tangible, we stand a chance of bringing even more Nordic public service companies and specifically the developers together in collaboration. firar fyra år med Drupal

Synd fyra år

Idag har det gått fyra år sedan övergick till Drupal. Under det senaste året har vi bland annat bytt utseende (mycket har hunnit hända gällande mobilanpassingen).

Vi har också jobbat vidare med vår meta data och använder numera samma meta data i vårt bildhanteringssystem som på sajten – det i sin tur betyder att vi kan rekommendera bilder till en artikel baserat på artikelns meta data.

Vi har migrerat vår meta data till Wikidata (läs mer i bloggposten Yle <3 Wikidata) och delar nu en modul tillsammans med isländska RÚV i form av Shownid.

Tack för gott samarbete till teamet som jobbar med systersajt (som snart fyller tre år).

Effektivt arbete med grafik, Buu-klubbens webbjulkalender 2014

Buu-klubbens webbjulkalender är en årligen återkommande storsatsning hos Utmaningar uppstår på bred front, från manus till tekniska detaljer, från kodning till grafiskt finlir. Ett gott slutresultat kräver sakkunnighet på flere områden, och står och faller på gott samarbete inom teamet.

Från BUU-klubbens julkalender 2014

Det som tidigare ofta skapat huvudbry för mig som grafiker är den stora variationen i materialet som måste bearbetas. Spelen har ofta varit ensamstående helheter, och att få ihop 24st sådana till ett grafiskt fungerande paket är inte alltid det lättaste. Ofta har också en större grupp människor jobbat med enbart grafiken vilket ger ännu fler utmaningar vad gäller enhetlig stil och arbetsflöde. Miljöer, figurer och allehanda andra objekt har anpassats mer eller mindre framgångsrikt.

2014 jobbade vi lite annorlunda med grafiken än tidigare. Alla 24 spel var uppbyggda kring 5 olika miljöer: en källare, ett badrum, en trappa, ett vardagsrum och en vind. Grafiken levererades till mig som “paket”. Ett paket bestod av miljön och respektive objekt. Spelfigurerna, Rune och Holly, var också ritade av samma person.

En miljö fullproppad med diverse prylar såg till en början aningen avskräckande ut, men så fort arbetsflödet hittade sin form var det klart som korvspad. Då vi tidigare tampats med att få ihop visuellt kloka helheter ur material lite härifrån och därfrån, ritade av underskriven och ibland flere andra grafiker, hade jag nu tillgång till enhetliga helheter, genomgående i alla 24 spel. Då en och samma grafiker producerat varenda lilla detalj, är en av de största fördelarna den genomgående enhetliga känslan av att man är i samma “värld”.

Jag kunde nu koncentrera mig på att framställa all grafik till format som lämpar sig till spelproduktion. Det gick de facto väldigt fort att “plocka ut” alla bitar i sådan form som kodarna behövde för att sammanställa spelen jämfört med tidigare år. Dessutom kunde de grafiska elementen grupperas rätt tydligt för dem som jobbade med kodningen av spelen.


Analysering av webbjulkalendern 2014 som en komplett helhet får någon klokare människa sköta. Jag anser ändå att 2014 var året då vi gjorde framsteg åtminstone vad gäller arbetsflödet kring det grafiska. Att vi lyckades med detta anser jag bero på följande saker:
1) Grundlig planering av spelkoncept 2) Väl uttänkt arbetsflöde 3) Fungerande samarbete inom teamet.

Hur än tekniska lösningar o.dyl. ser ut i framtiden har vi åter igen många lärdomar att ta med oss till kommande projekt.

Video och audio lätt och snabbt

Arenan och verktygen för publicering av video och audio på nätet utvecklas i rask takt. Som med all teknik där det krävs ett stort och invecklat maskineri för att få det att fungera så friktionsfritt som möjligt, har Arenan och alla komponenter bakom Arenan både haft en del framgång, men också en del bakslag i utvecklingen. Jag har valt att belysa två framsteg.

Spela upp video och audio direkt på mobilen

För den som vill titta på ett videoklipp eller höra på en audio i sin telefon, pekplatta eller annan mobil enhet, känns det onekligen onödigt att från en intressant artikel dels uppmanas att först installera Arenans applikation för att sedan flyttas till Arenanapplikationen för att kunna spela upp klippet.

Under våren 2014 blev det därför tekniskt möjligt att direkt på den webbsida videon eller audion finns, spela upp den utan att förpassas till Arenan. Visserligen finns det begränsningar om hurdant innehåll som får erbjudas på detta sätt. Det krävs att YLE har precis alla rättigheter till klippet utan några som helst avtalsrättsliga begränsningar. Detta på grund av att videon eller audion saknar skydd, och alltså går att ladda ner. Men tekniken finns vilket är en enorm fördel till det tidigare.

VOD via Plasma

Numera är det mer regel än undantag att TV-program har rättigheter för att publiceras på webben, vilket alls inte var en självklarhet för några år sedan. För att effektivera och slippa mellanhänder – och därmed också risken för både tekniska men också mänskliga misstag – görs nu Arenanpubliceringen i Plasma, planeringsverktyget för teve.
Detta ger oss större kontroll över själva processen, det finns inte lika många etapper där det kan gå tokigt. Ändringar och fel kan både snabbare identifieras och åtgärdas. Vi som jobbar med Arenan har sett en märkbar förändring i arbetsflödet, en nära kontakt med Plasma-teamet har gjort att vi redan i ett tidigt skede har kunnat förutse och åtgärda möjliga flaskhalsar.
En logisk följd av detta är att det med färre system finns möjlighet för fler personer att förstå och behärska systemen. Och det är en grundförutsättning för att skapa en produkt vi kan vara stolta över.

Utvecklingen är definitivt på väg åt rätt håll.

Bra flyt för Yle Arenan

Yle Arenan har bra flyt för tillfället. Åtminstone om man ser på statistik. Antalet uppspelningar ökade år 2014 med cirka 15 procent.

”Konkurrenternas” siffror visar en nedåtgående tendens.

Bland svenskspråkiga program var KAJ:s julkalender den kanske största publikmagneten i Arenans historia.

Samtidigt som publiken strömmar till pågår febril utveckling bakom kulisserna. Detta för att kunna möta ökande belastning på systemen och ökande kvalitetskrav. Publikens engagemang har förutom i statistiken synts även på den respons som Arenan får in. Tekniska problem har flera gånger under året drabbat Arenan och besökarna har varit snara med att rapportera felen.

Arenans besökarmängder är redan nu cirka två gånger större än Ruutus eller Katsomos. Enligt statistiktjänsten Comscore är tendensen tydlig. Arenan visade ett ökande antal uppspelningar – cirka 15 procent under år 2014 – medan Ruutu och Katsomo visade en svagt nedåtgående tendens särskilt mot slutet av året.

Enligt MikroPC är Yle Arenan överlägsen etta då det gäller TV på nätet i Finland. Tidningen MikroPC valde Yle Arenan till årets fenomen år 2014 (

Statistik för Arenan, Katsomo och Ruutu
Miljoner starter per tjänst år 2014. Källa: comScore (Yle), comScore (MTV), Drupal (Nelonen Media).


Kajs julkalender hade under perioden 1.12.2014 – 25.1.2015 totalt 559 459 visningar enligt statistiktjänsten Comscore. I siffran ingår uppspelningar via webbsidor och via mobila applikationer. I tabellen nertill syns uppspelningar per ”lucka”.


Statistik från Comscore
KAJ:s julkalender 2014, visningar per ”lucka” via webbsidor och mobila applikationer. Källa: comScore.



Mediekonvergensens nästa fas – att idka skogsvård i aska

Förra fredagen (23.1.2015) hörde jag bl.a. Emanuel Karlsten tala på Mediespråkseminariet. Han hade talat där senast tre år sedan, och inledde med att säga att han egentligen kunde ha valt att dra precis samma presentation som då i repris. För enligt Emanuel står hela mediebranschen stilla och ställer sig om igen samma fråga om vad som ska ske till näst. För att komma loss ur denna “catch 22” så tycker han att mediebranschen bör brinna, och likt efter en skogsbrand återuppstå ur askan.

Samtidigt så brukar det ju vara så att man inte alltid märker då ens egna barn växer, utveckling som sker rakt framför ens egna ögon går ibland en obemärkt förbi. Då jag ser på det blogginlägg som jag skrev till bloggen för tre år sedan med titeln “Att tänka webb” så känner jag nog igen den stagnation som Emanuel beskriver. Samma frågor och ambitioner är ännu aktuella. Men samtidigt har oerhört mycket utveckling skett. På mediebranschen i stort har utvecklingen varit snabb. Eller snarare har omvärlden och vår publiks mediekonsumtionsmönster förändrat radikalt.

De här yttre förändringarna har skett snabbare än vad traditionella mediehus klarar av att förändra sig, utan den skogsbrand inom organisationerna som Karlsten efterlyser. Om de strategier som kan krävas för att klara av anpassningen skrev jag nyligen om i Nya Argus.

Men samtidigt har alltså även stor förändring skett i verksamheterna. Hos oss på Svenska Yle har webben på riktigt (läs i budgeter och personalresursallokationer) fått prioritet. Olika delar av verksamheten är i lite olika lägen av utvecklingen, men det rör på sig. På sätt och vis är faktiskt läget lite liknande som efter en skogsbrand. Det finns nu ny mark och allehanda skott skjuter upp. Frågan är om man vill låta alla blommor blomma, odla fritt för var och en. Eller om man vill ha ett effektivt skogsbruk som låter höga furor snabbt resa sig i ordnade rader? Kanske idealet är en park, med mångfald under ordnade former. Men dit är det nog en bit väg ännu.

Kanske idealet är en park, med mångfald under ordnade former

Det jobbas mycket med att reda ut i utgivningen och göra scheman för webb. Det kan synas märkligt att schemalägga webbutgivning, är det inte just friheten från etermediernas tablåer vi vunnit i.o.m. digitaliseringen? Ja, i sig nog. Men om vi publicerar allt vi gör genast då det blir färdigt så får publiken betydligt svårare att hitta våra innehåll. Innehållen blir i regel klara under kontorstid, medan, delvis beroende på genre, i regel konsumeras andra tider. Och följetongen är betydligt lättare att följa (därav namnet) än ett stort block utgiven i en hop.

Men att omorgansiera verksamheten utan att ta det hela några steg vidare är också en reell risk. Det ger en illusion av förnyelse, då man bygger upp något gammalt på nytt. Emanuel Karlsten beskrev olika metoder att anpassa sig till det nya fältet; att bygga enligt nätets logik, anställa spridare av innehåll och communityredaktörer, använda teknik för att gynna innehåll. Allt kändes väldigt bekant från teknologi- och startupföretagsvärlden. Det är också många som funderat kring ifall mediehusen håller på förvandlas till teknologiföretag? Ja, är min mening. Vi gynnas av principerna för agil utveckling både inom utvecklingen av våra plattformer OCH våra innehåll. Följande tweet summerar det bäst:


Googles Eric Schmidt gjorde här i dagarna ett intressant utspel och sade att “internet kommer att försvinna”. Han syftade på att i takt med att allting blir uppkopplat så slutar vi lägga märke till nätet i sig, det “försvinner” och blir en integrerad del av vår verklighet. Jag tror att medier med fördel kan tänka lika om sina egna alster. De journalistiska innehållen är i en process där de håller på att omvandlas från att vara separata ritualer – morgontidningen, kvällsnyheterna, lördagsfilmen, söndags-Strömsö – och bli integrerade delar av vår vardag. De journalistiska innehållen blir som repliker i en daglig kommunikation via applikationer och onlinetjänster.

De journalistiska innehållen blir som repliker i en daglig kommunikation

Då bör man också fundera på funktionerna och formaten som man tidigare tagit för givna, håller t.ex. nyheterna på att bli en anakronism? Är det kanske bara bra ifall robotar börjar sköta en del av vår journalistik. Bör den journalistiska agendan sättas av big data? (Se tweeten nedan, allt detta diskuterades under #mediesprak.)

Så bör medierna brinna, brinner vi redan? Det kanske sist och slutligen kvittar vilka analogier som fungerar bäst som väckarklockor. För väckarklockor är nog något som krävs för att vi ska kunna blicka vidare och ta de steg som behövs för att överleva. I ett historiskt perspektiv så är faktiskt mediernas tillbakagång bara en liten svacka. Och informationsförmedlinegen- konsumtionen i bredare perspektiv har aldrig mått bättre i mänsklighetens historia än på internet. Så det finns alla möjligheter att gå vidare med vår verksamhet.


Visualising three years of development

About two and a half years ago I made a visualisation of the work on SYND so far. Much has happened since then, and with the three-year-anniversary of the first commits to the SYND repos rapidly approaching, I felt it was time to revisit gource and do another loop through the commit history. Presenting the three-year-mark of YDD development:

Much have changed since the previous visualisation, the biggest of the changes of course the creation of the two sub-branches of the project, SYND and FYND. It’s easy to see how much the project has expanded in scope and complexity since we started, something that would have happened even without the forking of the project.

Linking metadata terms in two languages between two sites

Today added the same-as link function to the Finnish terms. This makes it possible for users of and (the Swedish pages got the function a while ago) to move between the metadata term page on the respective sites.



See and

We also added a source link to