perjantai 21. joulukuuta 2012

Menneet viimat, tulevaisuuden tuulet

Ajattelin koota hieman mennyttä vuotta yhteen ja katsoa tulevaisuuteen, sillä on tullut aika juhlistaa tämän datajournalismi-blogin syntymäpäivää.

Julkaisin nimittäin ensimmäisen viestin keskiviikkona, 21. joulukuuta 2011. Kirjoituksen aiheena oli tuolloin Ei-versionhallintadatan visualisointi Gource:lla ja käsittelin datan siivoamista ja visualisointia verkostojen avulla. Olin vast'ikään siirtynyt Tampereen teknillisestä yliopistosta ja tutkijan vakanssista Svenska Yle:en Web-suunnittelijaksi (käytännössä Drupal-koodariksi) ja ajattelin, että blogi olisi myös hyvä tapa ylläpitää kontaktia aikaisempaan uraani.

Valitsin nimen lähinnä hetken mielijohteesta mutta myös, koska termi "datajournalismi" ilmensi mielestäni hyvin sellaisia käsitteitä kuten visuaalinen tarinan kerronta sekä käyttäjäinteraktio, joista olin tuolloin hyvin kiinnostunut. Tuossa vaiheessa en kuitenkaan osannut juurikaan ajatella mitä "journalismi"-osuus edes sanassa datajournalismi voisi tarkoittaa. Minulle datajournalismi merkitsi terminä lähinnä sellaisten visualisointien toteuttamista, jotka kertovat datan tarinan lukijalle ymmärrettävässä muodossa. Blogia perustaessani olin siis täysin untuvikko datajournalismin saralla ja olin kuullut koko termistä ensimmäistä kertaa muutamaa kuukautta aikaisemmin osallistuessani Antti Poikolan masinoimaan datajournalismin päivään.

Kuitenkin heti ensimmäinen kirjoitus yllätti minut suosiollaan (tähän päivään mennessä 372 lukukertaa) ja sain sen johdosta paljon positiivista palautetta eri tahoilta. Palautteen kannustamana koin, että blogille on tarvetta ja olenkin kirjoittanut tähän päivään mennessä tämä viesti mukaan lukien 48 kirjoitusta erilaisista datajournalismiin liittyvistä asioista.

Suosituin viesteistäni on ollut kirjoitus Hyvinkään ampumistapauksesta epäillyn sosiaalisesta verkostosta, johon Yle Uutiset linkkasi minusta tehdyssä haastattelussa (2111 lukukertaa). Kokonaisuudessa lukukertojen perusteella kirjoitusten Top5 näyttää seuraavalta:
Keskimäärin yksittäinen kirjoitus blogissa kerää muutama sata lukukertaa. Tavanomaisena päivänä, jolloin en julkaise mitään vierailee blogissa tilastojen mukaan muutamia kymmeniä henkilöitä. Yhteensä blogi on kerännyt runsaat 16 000 lukukertaa, joka tekee runsaat 40 lukukertaa yksittäistä päivää kohden.

Näin tilastojen valossa. En kuitenkaan missään vaiheessa arvannut, että harrastuksesi kirjoittamallani blogilla olisi osaltaan niin merkittävä vaikutus tulevaisuuteeni. Vuoden aikana olen nimittäin Drupal-työni ohessa vapaa-ajallani osallistunut Yle:ssä ja muissa mediaorganisaatioissa yheensä n. 20:een datajournalistiseen projektiin, enkä voi olla uskomatta, etteikö esimerkiksi tämän blogin saamalla huomiolla olisi ollut tiettyä vaikutusta siihen, että olen noihin projekteihin ajautunut. Toki olen ollut myös suotu erittäin hienoilla ystävillä ja työkavereilla, jotka ovat edesauttaneet asioita ja suositelleet minua mukaan hankkeisiin.

Tämä menneistä. Katsottaessa tulevaisuuteen niin on tästä harrastuksesta nyt tulossa minulle oikea työ. Aloitan vuoden vaihteen jälkeen työt Yle:een perustettavassa PlusDesk-toimituksessa Uuden ajan toimittajana eli datajournalistina. Toimitus tulee alkuvaiheessa olemaan viiden hengen suuruinen ja pitää sisällään itseni lisäksi tuottajan (Juho Salminen) ja kolme graafista osaajaa. Tehtävämme on käytännössä tuottaa dataan perustuvaa journalismia uutis- ja ajankohtaistoimituksille. Uudenlaista ja julkiselle palvelulle ominaista sisältöä.

Minulla on paljon suunnitelmia ja odotuksia tulevaa työtäni varten ja niistä toivottavasti kaikki datajournalismista kiinnostuneet saavat tietää tuonnempana.

Kiitos kaikille blogia lukeneille ja hyvää joulua sekä railakasta tulevaa vuotta.

torstai 13. joulukuuta 2012

Sormiharjoitus Twitter-datalla, osa 2

Käsittelin pari viikkoa sitten yksinkertaista Twitter-datan analyysiä, joka muodostui siinä määrin yleisömenestykseksi, että ainakin neljä ihmistä innostui sen perusteella tekemään vastaavanlaisen visualisoinnin ja tästä hurmioituneena ajattelin jatkaa saman aiheen tiimoilta.

Tällä kertaa minulla on tavoitteena kertoa miten on mahdollista kerätä ja visualisoida käyttäjän kuukausittaiset twiittimäärät. Innostuin ideasta viime aikoina Twitter:ssä liikkuneen ilmiön kautta, jossa kerrotaan omista Twitter:iin liittymispäivistä (kts. Twitter Birthday -palvelu). Etenkin, että monet kertoivat liittyneensä jo useita vuosia sitten, mutta aktivoituneen palvelun käyttämiseen vasta viime aikoina, herätti minussa kiinnostuksen siitä milloin itse aloin todella Twitter:ä käyttämään.

Ajatus, joka minulle heräsi oli kerätä talteen kaikki twiittini ja ryhmitellä ne kuukausittaisiksi twiittimääriksi. Eli esimerkiksi niin, että joulukuussa 2011 twiittasin 98 kertaa ja tammikuussa 2012 84 kertaa. Halusin nähdä datan piirrettynä yksinkertaisesti visualisoituna pylväsdiagrammiksi, jossa pystyakseli kuvaa twiittien määrää ja vaaka-akseli aikaa. Näin pystyisin näkemään missä vaiheessa olen esimerkiksi saavuttanut twiittimäärissäni nykyisen tason ja millä tavoin tuo twiittien kuukausitten määrä on vaihdellut eri aikoina.

Mutta nyt itse asiaan!



Kuten aikaisemmasta harjoituksesta opimme on All My Tweets -palvelun kautta mahdollista ladata käyttäjän kaikki twiitit aina
30003200:een viimeisimpään twiittiin saakka (Note: Twitter limits the number of tweets returned to 3,200). Itselläni tämä raja ei tule täyteen, joten edelleen palvelu palvelee käyttötarkoitustani.

Aloitan kuten aikaisemmassakin esimerkissäni eli kopioin henkilökohtaisen All My Tweets -sivuni sisällön Sublime Text -editoriin leikepöydän kautta. Analyysia tehdessäni minulla oli Twitter:n mukaan 1930 twiittiä ja tarkistin, että tämä lukuarvo täsmäsi Sublime Text -editoriin kopioituneiden rivien määrää. (Kuva 1)

Otin twiitit talteen All My Tweets-palvelusta yksinkertaisesti maalaamalla kaikki twiitit ja kopioimalla ne leikepöydän kautta käyttämääni Sublime Text -tekstieditoriin. (Kuva 1)
Edellisellä kerralla halusin poistaa kaikki aikaleimatiedot datasta, koska en halunnut niitä mukaan avainsanapilveen. Tällä kertaa motivaationi on sen sijaan muokata päivämäärätietoa niin, että siitä poistetaan reduntantti tieto twiitin lähetyspäivästä, koska haluan niputtaa twiittejä yhteen nimen omaan kuukauden ja vuoden perusteella. All My Tweets -palvelusta kopioitujen twiittien perässä oleva aikaleima on muotoa "Dec 10, 2012", joten tavoitteeni on muuttaa tekstijono muotoon "Dec, 2012". Tällä tavoin kaikki joulukuussa 2012 lähetetyt twiitit saavat yhteisen nimittäjän, jonka avulla ne on myöhemmässä vaiheeessa mahdollista visualisoida.

Teen muunnoksen jälleen säännöllisten lausekkeiden avulla. Käyttämäni etsi ja korvaa koodi näyttää seuraavalta:

([A-Z]{1}[a-z]{2}) ([0-9]+), ([0-9]{4})

ja

\1, \3

Korvaan siis merkkijonon jossa on kolme merkkiä joista ensimmäinen on kapitaali, välilyönti, numeroita yksi tai useampi, pilkku, välilyönti, sekä neljä numeroa siten, että poistan päivämäärää kuvaavan osuuden. (Kuva 2)

Etsi ja korvaa toiminto löytyy CMD/CTRL + SHIFT + F näppäinyhmistelmän takaa. Voit myös tarkistaa, että vasemmasta alanurkasta löytyvä hakutuloksien määrä vastaa twiittiesi määrää. (Kuva 2)
Tähän asti toteutus on edennyt hyvin samalla kaavalla kuin edellisessäkin harjoituksessa. Data hankittiin All My Tweets -palvelusta ja sitä muokattiin hieman sopivampaan muotoon Sublime Text -editorissa. Tässä kohtaa esimerkit lähtevät kuitenkin eri poluille, koska aikaisemmassa harjoituksessa veimme tekstimuotoisen datan suoraan Sublime Text -editorista Wordle:en. Nyt datan muokkaamista tulee kuitenkin jatkaa antamalla sille lisää rakenteisuutta, koska on tarpeellista pystyä osoittamaan missä kohtaa twiitin tekstisisältö loppuu ja tieto twiitin lähetysajankohdasta alkaa.

Tein twiitin tekstisisällön ja aikaleiman erottamisen askelsarkainmerkillä (tabulator). Tämä siitä syystä, että esimerkiksi pilkun tai puolipisteen käyttäminen ei ole oikein mielekästä, koska ne ovat normaalisti twiiteissä/tekstissä käytettäviä merkkejä ja erotinmerkin tulee olla sillä tavalla yksikäsitteinen, ettei sitä voida sekoittaa sisältöön. Eli oletan, ettei twiittien sisällöissä ole askelsarkaimia. (Kuva 3)

Poistan päivämäärien edessä olevan välilyönnin ja korvaan sen askelsarkain merkillä, jota käytän erottamaan tekstisisältö- ja aikasolut toisistaan. (Kuva 3)
Nyt data on valmis tallennettavaksi (CMD/CTRL + S). Tallennettaessa kannattaa käyttää .csv-tiedostopäätettä. CSV-tiedosto on rakenteista dataa sisältävä tiedostoformaatti, jossa data on useimmiten eroteltu toisistaan pilkuilla, mutta pilkkujen sijaan on mahdollista käyttää oikeastaan mitä tahansa erotinmerkkiä (kts. DSV). CSV-tiedoston avaaminen onnistuu kätevimmin LibreOffice-taulukkolaskentaohjelmassa, joka mahdollistaa tiedostossa käytettävän erotinmerkin manuaalisen valitsemisen. (Kuva 4)

Erotinmerkiksi on valittu "Tab". Muut asetukset toimivat usein sellaisenaan, mutta ongelmia voi syntyä esimerkiksi merkistökoodauksen kanssa, jolloin "Character set" asetusta voi yrittää muuttaa valintojen ISO-8859-1:n ja UTF-8:n välillä. (Kuva 4)
Tiedoston avaamisen jälkeen huomasin, että muumien twiittien aikaleimat eivät olleet tulleet oikein erotelluiksi, mutta korjasin ne tässä vaiheessa käsin, koska kyse oli vain muutamasta kymmenestä virheellisestä esiintymästä. (Kuva 5)

Dataa kannattaa selata silmämääräisesti läpi, jotta huomaa tämänkaltaiset ilmiselvät virheet. (Kuva 5)
Korjattuani virheet tallensin tiedoston uudelleen LibreOfficessa ja tehdessäni näin valitsin, että haluan muokata asetuksia (Kuva 6). Tämä mahdollistaa sen, että voin valita mitä erotinmerkkiä jatkossa käytetään (Kuva 7). Tämä on tärkeää, koska seuraavaksi käyttämämme Excel ei osaa käsitellä oletuksena kuin puolipistein eroteltua dataa.

"Edit filter settings" -asetus antaa seuraavassa vaiheessa mahdollisuuden muokata .csv-tiedoston asetuksia. (Kuva 6)
Tärkeää on valita "Field delimeter" -kohtaan puolipiste (;) ja Text delimeter -kohtaan lainausmerkki ("). (Kuva 7)
Nyt minulla on siis hyvin jäsennelty .csv-muotoinen tiedosto, joka sisältää taulukkodataa missä on rivejä twiittieni määrä ja kaksi saraketta. Ensimmäinen sarake pitää sisällään lähettämäni twiitin sisällön ja toinen tiedon siitä minä kuukautena ja vuotena twiitti on lähetetty.

Seuraavaksi avaan tiedoston Excel:ssä. Mikäli huomaat ongelmia ääkkösten kanssa voit yrittää vaihtaa kuvassa 7 näkyvän Character set valinnan ISO-8859-1:ksi (twiittien tekstisisällöllä ei tämän harjoituksen kannalta ole kuitenkaan merkitystä). Kuitenkin jos kaikki meni hyvin näet aika- ja twiittitiedot eroteltuina omiin soluihinsa myös Excel:ssä. Mitä meidän täytyy tässä vaiheessa tehdä on lisätä datan alkuun yksi rivi, johon lisäämme solujen kuvauksen. (Kuva 8)

Sarakkeille on annettava nimet, jotta voimme käsitellä niitä jatkossa. Nimi sijoitetaan lisäämällä alkuun uusi rivi ja sijoittamalla rivien ensimmäisiin sarakkeisiin jokin saraketta kuvaava tunniste. (Kuva 8)
Nyt dataa on mahdollista analysoida Excel:ssä. Tämä onnistuu helposti Pivot-taulukoiden avulla. Pivot-taulukon luominen onnistuu kätevimmin osoittamalla kenttää A1 ja valitsemalla valikosta Tiedot -> Pivot. Pivot-taulukot mahdollistavat taulukkomuotoisen datan jäsentämisen ja yhteenkokoamisen. Eli esimerkiksi tässä tapauksessa Pivot-taulukko mahdollistaa, että voimme niputtaa twiitit aika-sarakkeen perusteella yhteen. Myös LibreOffice:sta löytyy Pivot-toiminnallisuus, mutta olen kokenut, että Excel:n vastaava on hieman näppärämpi käyttää. (Kuva 9)

Luotuani Pivot-taulukon huomasin, ettei taulukkoa ollut mahdollista järjestää ajallisesti laskevaan tai nousevaan järjestykseen, koska kuukausien lyhennetyt nimet eivät järjestäyty tietokoneen avulla millään yksinkertaisella logiikalla kronologiseen järjestykseen. Aikamääreet olisi voinut muuntaa tässä kohtaa johonkin toiseen muotoon, mutta päädyin tekemään järjestämisen käsin, koska kyse oli kuitenkin vain muutamasta kymmenestä data-alkiosta. Käsin järjestetty data on nähtävillä kuvassa 9 oikealla puolella ja alkuperäinen Pivot-taulukko vasemmalla.

Vasemmalla vihreän otsakkeen alla näkyy Pivot-taulukko. Oikealla sama data, mutta jäsennettynä ajallisesti nousevaan järjestykseen. (Kuva 9)
Nyt data on helppo visualisoida Excel:stä löytyvillä kaavio-komponenteilla. Tämä onnistuu maalaamalla haluttu data – tässä tapauksessa kuvassa 9 näkyvä oikeanpuolimmainen data – ja lisäämällä soveltuvan valikon kautta taulukkoon kaaviokomponentti. Kaaviokomponentiksi valitsin pylväsdiagrammin, koska se on melko luonnollinen tapa kuvata tämänkaltaista dataa määrällistä dataa, jolla on kaksi ulottuvuutta (määrä ja aika). (Kuva 10)

Twitter-käyttöni trendi on ollut selkeästi kasvava. (Kuva 10)
Näinkin monivaiheisen toteutuksen tekeminen oli kuitenkin melko yksinkertaista ja ei ehkä vienyt minulta kuin 15-minuuttia. Tämä kertoo toki, että olen melko sopeutunut käyttämään eri sovellusten parhaita puolia datan käsittelyssä ja tiedän valmiita polkuja, joiden avulla pääsen haluamaani lopputulokseen. Uskon kuitenkin, että jos vain suuntaviivat ovat selvillä niin samankaltaiseen lopputulokseen pääseminen ei ole kovin suuri tekninen haaste.

Jatkokehitysideoitakin keksin matkan varrella kuten, että pylväät voisivat pitää sisällään tiedon siitä kuinka moni twiiteistä kulloisenakin kuukautena on ollut uudelleentwiittaus (retweet).

Kuulen taas mielelläni jos joku on onnistunut toteuttamaan omasta Twitter-datastaan samanlaisen analyysin. Tai mielelläni pullautan tarvittaessa tällaisen sellaisesta kiinnostuneelle.

Muokkaus: 14.1.2013

Tässä Anna Emilia Alentolan versio:
https://twitter.com/anniemilia__/status/282175539157028865

maanantai 10. joulukuuta 2012

Datajournalisti vs. Internet Explorer

Tämä on tarina turhautumisesta ja liian pitkäksi venyneestä päivästä.



Tein yhteistyössä Eva Koskisen ja Pekka Palmgrenin kanssa Radar:lle muutaman visualisoinnin koskien amerikkalaisen Capital Group -investointipankin sijoituksia suomalaisissa pörssiyhtiöissä. Aiheesta julkaistu juttu löytyy täältä: Radar: Anonyma ägare på finska börsen

Visualisointien toteutus ja kasaaminen oli melko suoraviivainen ja nopea prosessi, koska käytin olemassa olevia komponentteja. Tämä oli tarkoituksenmukaista sillä muutamassa päivässä, jotka minulla oli aikaa ei ollut mahdollista lähteä toteuttamaan mitään laajempaa omaa ja uudenlaista toteutusta.

Juttuun toteuttamiani tiedonvisualisointikomponentteja oli kolme:
  1. pallovisualisointi, joka kuvaa Capital Group:n sijoitusten suuruutta yrityksissä. (Kuva 1)
  2. taulukko, josta on mahdollista vertailla tietoja perustuen yrityksen omiin kotisivuihin ja muualta kerättyihin tietoihin. (Kuva 2)
  3. pylväsdiagrammi, joka mahdollistaa valittujen yritysten omistajatietojen tarkastelun. (Kuva 3)
Pallovisualisointi kuvasi Capital Group:n sijoitusten arvoja eri yrityksissä. Värit oli asetettu satunnaisesti USA:n lipun väreihin. (Kuva 1)
Taulukosta oli mahdollista vertailla yksittäisen yrityksen omistajalistaa kahden eri lähteen perusteella. (Kuva 2)
Pylväsdiagrammista oli mahdollista selata halutun yrityksen suurimpia omistajia perustuen vaihtoehtoisesta tietolähteestä kerättyihin tietoihin. (Kuva 3)
Pallovisualisoinnin (Kuva 1) toteutin perustuen esimerkkiin, joka löytyy täältä:
http://vallandingham.me/vis/gates/

Samaa lähdekoodia on hyödynnetty mm. New York Times:n toteuttamassa visualisoinnissa, jossa käsitellään USA:n budjettia.

Pylväsdiagrammin toteutin D3-Generator -palvelun avulla. Muokkasin palvelun tuottamaa koodia vain niin, että käyttäjän oli mahdollista valita pudotusvalikon avulla tarkasteluun haluamansa yrityksen tiedot.

Taulukkovisualisointi toteutettiin leipätekstin sekaan sellaisenaan HTML:n ja CSS:n avulla. Kyseessä oli siis tavallinen <table>-HTML-taulukko.



Interaktiiviset visualisoinnit toteutin D3.js-JavaScript-kirjaston avulla. Kirjasto mahdollistaa graafisten elementtien yksinkertaisemman toteuttamisen samaan tapaan kuin jQuery helpottaa tavallisten JavaScript-toiminnallisuuksien toteuttamista. D3.js-kirjasto tarjoaa valmiita funktioita ja toiminnallisuuksia, joiden avulla esimerkiksi kuvassa 3 nähtävien pylväiden piirtäminen onnistuu vain muutaman koodirivin avulla.

D3.js:ää on käytetty maailmalla paljon ja se on Raphaël-kirjaston ohella yksi eniten käytetyistä JavaScript-kirjastoista mitä tulee interaktiviisten visualisointien toteuttamiseen selainympäristöissä. Vaikka D3.js on yleisesti käytetty ei se kuitenkaan ole ongelmaton kaikkien selainten suhteen. Tai pikemminkin kaikki selaimet eivät noudata Internet-standardeja siinä määrin, että D3.js:llä toteutetut visualisoinnit toimisivat niissä aina suoraan. Syyttävä sormi osoittaa tässä etenkin Internet Explorer -selaimeen ja sen vanhempiin versioihin (IE 8 ja vanhemmat).

Myös toteuttamani visualisointien kohdalla jouduin toteamaan, etteivät ne toimi IE 8:n ja vanhemmilla selaimilla. Virheilmotukseksi selain antaa:

CSSStyleDeclaration undefined

joka aiheuttaa, että koko D3.js-kirjasto jää määrittelemättä eikä visualisointi toimi siten lainkaan. Google:n avulla ongelmaan löytää D3.js:ään ja kyseiseen virheilmoitukseen linkittyviä aiheita, mutta mitkään niistä eivät tarjonneet toimivaa ratkaisua, jota olisin voinut hyödyntää.

Tilanne oli sinällään erittäin turhauttava, että visualisointi toimi hienosti missä tahansa modernissa selaimessa. Kuitenkin kun Yleisradio:n hiljainen lupaus on tuottaa sisältöä kaikille kansalaisille velvoittaa se ottamaan huomioon kaikki kohderyhmät. En kuitenkaan halunnut jättää toteutusta tämän lupauksen takia julkaisematta, koska olin käyttänyt jo suhteellisen paljon aikaa visualisointien toteuttamiseen.

Vaihtoehtoina oli pyrkiä korjaamaan virhe ja tekemään D3.js:stä paremmin yhteensopiva Internet Explorer -selaimen kanssa, mutta sinällään tämä tie olisi voinut olla hyvinkin kivinen ja aikataulullisesti haastava, koska toteutus tuli saada ulos seuraavana päivänä. Ratkaisuni oli päätyä toteuttamaan visualisoinneista erilliset versiot vanhemmille selaimille, jotka eivät vaatisi niin monimutkaisia JavaScript-toiminnallisuuksia.

Pallovisualisoinnille (Vis 1) toteutin version, joka toimii myös IE:llä (Vis 2) ottamalla kuvankaappauksen alkuperäisestä versiosta ja lisäämällä kuvankäsittelyohjelmassa eri yritysten tiedot visualisoinnin päälle käsin. Eli sen sijaan, että käyttäjän oli mahdollisuus osoittaa palloja hiirellä näytettiin hänelle kaikki data kerralla (joka ironisesti ehkä osoittautui kyllä paremmaksikin tavaksi esittää data).

Interaktiivinen D3.js toteutus näytti yritysten tiedon käyttäjän viedessä hiiren halutun yrityksen päälle. (Vis 1)
Staattisessa kuvassa kaikki yritysten tiedot olivat esillä heti. (Vis 2)
Pylväsdiagrammivisualisoinnissa taas otin kuvankaappaukset kaikista yksittäisten yritysten tiedoista (Kone, Sampo, Nokian Renkaat, Orion ja Nokia) ja muutin toteutusta niin, että datan interaktiivisen uudelleen piirtämisen sijaan visualisointia hallitaan CSS+JavaScript -toiminnallisuuden avulla. IE:lle optimoitu toteutus toimii niin, että kun käyttäjä klikkaa haluamaansa yritystä, piilottaa JavaScript-koodi CSS:n avulla kaikki muut kuin käyttäjän valitseman yrityksen kuvat näkyvistä. Tämänkaltainen toteutus on siinä määrin yksinkertainen, että edes IE ei pysty sen implementoinnissa epäonnistumaan. (Vis 3 & Vis 4)

Interaktiivisessa pylväsdiagrammissa käyttäjän oli mahdollista osoittaa yksittäisiä pylväitä saadakseen lisätietoja. (Vis 3)
Internet Explorer -selaimelle toteutetussa versiossa yrityksen valinta oli tehty linkkien avulla, jotka mukautuvasti näyttivät ja piilottivat kuvia. (Vis 4)
Leipätekstiin interaktiiviset visualisoinnit upotettiin <iframe>:n avulla seuraavasti:

<!--[if (lt IE 9)&(!IEMobile)]>
<iframe src="http://svenska.yle.fi/dataviz/capitalgroup/juttu3/fallback/index.html?l=se" width="400" height="560" frameborder="0" scrolling="no" style="overflow:hidden;">Laddar...</iframe>
<![endif]-->

<!--[if gte IE 9]><!-->
<iframe src="http://svenska.yle.fi/dataviz/capitalgroup/juttu3/index.html?l=se" width="400" height="560" frameborder="0" scrolling="no" style="overflow:hidden;">Laddar...</iframe>
<!--[endif]-->


Koodissa käytetään IE:n tunnistamia conditional comments -lausekkeita, jotka mahdollistavat IE:lle erityisten koodipätkien kirjoittamisen. Kyseisessä koodissa IE 9:ää vanhemmille selaimille tai IE:n mobiiliselaimelle näytetään yksinkertaistettu "fallback" versio toteutuksesta.

Internet Explorer yhteensopivuuden toteuttaminen vei aikaani siitä kun olisin voinut viimeistellä visualisointeja paremmiksi ja selkeämmiksi, joka aiheutti etenkin pallovisualisoinnin (Vis 1) kohdalla, että en ollut lopputulokseen täysin tyytyväinen.

http://stefanvermaas.nl/wp-content/uploads/2012/08/internet_explorer_fail.jpeg
Suosittelen kaikille esimerkiksi Google Chrome, Mozilla Firefox tai Safari -selaimia, joita käyttäessänne teette minun ja monen muun web-sovelluksia kehittävän ihmisen elämän todella paljon helpommaksi.