Svenska.yle.fi firar fyra år med Drupal

Synd fyra år

Idag har det gått fyra år sedan Svenska.yle.fi ö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å Svenska.yle.fi 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 Svenska.yle.fi:s systersajt yle.fi/aihe (som snart fyller tre år).

Effektivt arbete med grafik, Buu-klubbens webbjulkalender 2014

Buu-klubbens webbjulkalender är en årligen återkommande storsatsning hos svenska.yle.fi. 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 (http://yle.fi/yleisradio/ajankohtaista/mikropcn-vuoden-ilmio-palkinto-yle-areenalle).

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 yle.fi/aihe added the same-as link function to the Finnish terms. This makes it possible for users of yle.fi/aihe and Svenska.yle.fi (the Swedish pages got the function a while ago) to move between the metadata term page on the respective sites.

asiasana-urheilu

term-idrott

See http://svenska.yle.fi/term/koko/idrott-httpwwwysofiontokokop48399 and http://yle.fi/aihe/termi/koko/urheilu-httpwwwysofiontokokop48399

We also added a source link to http://finto.fi/koko/en/page/p48399

Changing a Drupal pathauto alias pattern with working redirects

So we recently found out we’ve been a bit boneheaded with the pathauto alias to our Freebase taxonomy pages. The pattern was http://svenska.yle.fi/term/freebase/politics-1234, where 1234 was the term ID (tid) in Drupal.

This is a stupid alias pattern, since it makes our urls obfuscated – impossible to determine from the outside without access to our Drupal database. Also it feels like bad semantical form, because the url contains something that’s meaningless to most people. So we wanted to change the pathauto alias to use the unique Freebase ID instead.

Here it is important to remember that the best looking url naturally would be just http://svenska.yle.fi/term/freebase/politics, but because of disambiguation (dealing with the case where a word can have many different meanings, such as ”mercury”, which can be an element, a Roman god, a planet and many other things) we want to guarantee that a url is unique.

If we look up the word politics on Freebase, we find that its unique Freebase ID is /m/05qt0 and so we would like our url to have the form http://svenska.yle.fi/term/freebase/politics-m05qt0.

Using our own Freebase module (which may be released to Drupal.org at a later time) has put a field called ”field_freebase_freebaseid” under a taxonomy vocabulary called ”freebase”. This means we have access to the token [term:field-freebase-freebaseid] and that makes the whole pattern for Freebase taxonomy term listings the following:

term/freebase/[term:name]-[term:field-freebase-freebaseid]

The problem

The problem is that when we change the url alias pattern we want to leave the old alias intact and redirect from it to the new one. This functionality is built into the pathauto module: you can open up a taxonomy term for editing, save it and the new alias will be generated and the old one made into a redirect.

However, we have 6 000 Freebase terms and it would take a day to open up them all and save them to get the new alias with a redirect. It seems fortunate then, that we have a bulk update feature in the pathauto module. Bulk update generates aliases for all entities in a specific content type. Unfortunately, bulk update only works on entities, in our case taxonomy terms, that don’t yet have a pathauto alias. What you have to do is delete all current aliases and then start the bulkupdate, which will generate new aliases using the new pattern. If we start by deleting all current aliases, no redirects can be created! Here are some articles and threads discussing this very issue. Apparently it’s been a problem for around four years:

https://drupal.org/node/1661546

http://drupal.stackexchange.com/questions/98350/how-create-redirect-pattern-from-old-to-new-urls

Basically, if you’ve created thousands of pathauto aliases that have been indexed by Google and need to exist as redirects to the new alias, you’re out of luck! This seems like an incomprehensible oversight and part of me thinks I must’ve missed something, because this isn’t acceptable.

The solution

Searching the web has given us several ideas about how to deal with this issue, but most require some kind of manual hacking of the database, which doesn’t really sound like something we want to do.

Instead, we ended up writing a simple drush script that just loads all terms in a taxonomy vocabulary (”freebase” in our example, but the script could easily be modified to take a command line parameter). Writing the script took about a third of the time it took to write this blog text, so hopefully at least two other Drupal-users will find this beneficial.

I am assuming you are familiar with Drush scripts, but to briefly explain, assuming your module is named ”freebase”, you can just create a file called ”freebase.drush.inc” in the same folder and when you activate your module, your drush.inc file will be autoloaded as an available drush script.

The code

The definition of the Drush-command:

function ydd_api_drush_command() {
  $items = array();
  $items['yle-resave-freebase-terms'] = array(
    'description' => "Loads all Freebase terms and saves them to force Drupal to create new pathauto aliases.",
    'callback' => 'drush_fix_freebase',
    'aliases' => array('yrft'),
  );
  return $items;
}

The accompanying function that does the actual work:

function drush_fix_freebase() {
  // Find freebase vocabulary id.
  $fbvoc = taxonomy_vocabulary_machine_name_load('freebase');
  if (!empty($fbvoc)) {
    $vid = $fbvoc->vid;
    // Get a list of all terms in that vocabulary.
    $tree = taxonomy_get_tree($vid);
    $counter = 0;
    // Loop through all term ids, load and save.
    foreach ($tree as $t) {
      drush_print('Fixing '.$t->tid.' ['.++$counter.' / '.count($tree).']');
      // Load and save term to refresh its pathauto alias.
      $term = taxonomy_term_load($t->tid);
      taxonomy_term_save($term);
    }
  }
}

Finally, you need to run the script which will tell you how many terms have been processed out of how many. The command is:

drush yrft

After running this, it’s easy to verify that all terms have indeed received new aliases and a redirect from the old alias.