Vihdoinkin sain itseäni otettua niskasta kiinni ja laitettua tämän viimeisimmän Puhelutiedot-ohjelman Android Marketiin. Käykääpä kokeilemassa!
Tämä onkin jo minun kolmas ohjelma Marketissa
Vihdoinkin sain itseäni otettua niskasta kiinni ja laitettua tämän viimeisimmän Puhelutiedot-ohjelman Android Marketiin. Käykääpä kokeilemassa!
Tämä onkin jo minun kolmas ohjelma Marketissa
Edellisessä postauksessa oli juttua tuosta “Kuka julkishallinnon henkilö soittaa?” Android-sovelluksesta. Se on nyt saanut jatkoa. Tiesittekö, että Helsingin kaupungilla on hyvin dokumentoitu rajapinta omiin yhteystietoihin. No minä en ainakaan tiennyt, mutta onneksi sain tästä vinkin ja tottakai tuo oli otettava mukaan. Löytyisiköhän muistakin kaupungeista?
Lisäksi eksyin jotakin kautta tälläiselle Puhelinmyyja.info sivuille, jossa on ainakin joskus pidetty listaa puhelinmyyjien käyttämistä puhelinnumeroista. Ne on voinut ladata omaan puhelimeen, minkä jälkeen ainakin osan puhelinmyyjien soitoista on voinut tietää etukäteen. Kuulosti hyödylliseltä, joten nappasin nuokin numerot mukaan. Lisäsin vielä mahdollisuuden raportoida, jos joku tuntematon soittaja oli puhelinmyyjä, koska se tuntui kätsyltä lisältä.
Nyt siis ohjelma tunnistaa julkishallinnosta, Helsingin kaupungilta ja puhelinmyyjiltä tulleita puheluita. Jos kiinnostaa, niin kokeilkaapa ja kertokaa saitteko puhelinmyyjiä kiinni. Tuolla QR:lläkin voi ohjelman ladata.
Apps4Finland-kisaa järjestäessä tuli käytyä läpi kaikenlaista avointa dataa, mitä on tarjolla. Joidenkin kohdalla tuli ideoita datan käytöstä ja yhden kohdalla jopa tein oman pikku sovelluksen, koska se tuntui tarpeelliselta. Kun tarvittavat palaset ja sopivasti luppoaikaa löytyi, niin sovelluksen tekeminen oli suoraviivainen juttu.
Sovellus on kopio noista Kuka soittaa? -tyylisistä palveluista. Se kuitenkin käyttää yhteystietojen selvittämiseen ainoastaan julkishallinnon työntekijöiden yhteyshakemiston Julha:n dataa. Ohjelma yrittää selvittää Julhan yhteystiedoilla soittajan nimen ja organisaation, jos minulle tulee puhelu tuntemattomasta numerosta.
Ohjelmassa on monia pikku asioita, joiden takia se viehättää. Ensinnäkin tietenkin se, että se käyttää avointa dataa ja luulenpa että Julhan data on aika vähän käytetty joten on hauska olla avaamassa uusia latuja. Nykyään kun kännyköihin on vaikka mitä sovelluksia, niin juuri tälläisiä minusta hyödyllisten kännykkäsovelluksien pitäisi olla eli ne toimii automaattisesti juuri silloin kuin sinä sitä tarvitset. Ne eivät ole hukassa eikä niiden käyttöä unohda.
Sovellus on kaiken lisäksi todella yksinkertainen. Se käyttää suoraan Julhan LDAP -rajapintaa ja kaikki oleellinen oikeastaan tapahtuu yhdessä ohjelman tiedostossa.
Laitan ohjelman jossain vaiheessa Android Markettiin jakoon. Nyt sen koodi löytyy gitoriuksesta. Mukaan saa tulla jatkokehittämään ja kiinnostavaa olisi esimerkiksi pohtia voisiko Julhasta saatavalla soittajan organisaatio- ja paikkakuntatiedoille keksiä jotain uusia käyttöideoita.
Tasan 7 kuukautta sitten kirjoitin, että olen aloittanut Apps4Finland-kilpailun projektipäällikkönä. Aika on mennyt kuin siivilla. Nyt kilpailun voittajat on julkistettu, palkittu ja juhlittu upeassa Apps4Finland -gaalassa Vanhalla ylioppilastalolla.
Miltäkö nyt tuntuu? Katsokaa vastaus vaikka tältä videolta (4.44 alkaen).
Eli oikein hyvältä tuntuu.
Ensi viikko on kiireinen viikko. Silloin Helsingissä on kaksi kiinnostavaa tilaisuutta, joita olen ollut järjestämässä.
Tiistaina 20.9 kello 15 alkaen järjestämme “Workshop on Open Location Data” -työpajan, jossa on tarkoitus tarkastella erilaisten konkreettisten demojen kautta, miten avoinna olevaa paikkatietoa voi ottaa käyttöön. Kaikille jotka ovat puuhailleet paljon Google Mapsin sen sellaisten kanssa, tämä aivan varmasti avartaan hieman paikkatiedon maailmaa ja mahdollisuuksia. Ainakin minulle on käynyt niin.
Torstain 22.9 tilaisuudessa on hieman eri aihe, mutta vähän sama lähestyminen. Torstaina Lasipalatsissa “Culture Hack Evening” -tilaisuudessa katsellaan hieman, mitä kulttuuriin liittyvää dataa meillä onkaan tarjolla. Sen jälkeen pohditaan mihin ja miten data saataisiin paremmin käyttöön. Hieman erikoinen nimi on saatu Culture Hack Day- tapahtumasta, josta vaikutteita on ammennettu. Ihan häkkäilyn asteelle ei taideta illan aikana päästä, mutta ajatusten vaihtoon teknisesti orientoituvien (eli häkkeri/nörtti) ja kulttuurisektorin ihmisten kanssa pyritään pääsemään.
Tilaisuuksissa on vielä muutamia vapaita paikkoja joten tulkaa rohkeasti mukaan! Ilmoittautukaa linkeistä, niin saadaan kaikille sämpylät järjestettya
Tässäpä on teille tehtävä. Alla on erilaisia karttakuvia samalta alueelta. Mikä alla olevista kuvista pitää sisällään jokia, metsiä, peruskartan, peltoja ja teitä.
Apps4Finland-kilpailuun liittyen on päässyt tutustumaan Maanmittauslaitoksen avaamaan karttatietoon. Samalla on tutustunut paremmin, siihen mitä karttamaailma oikeasti pitää sisällään. Maanmittauslaitoksen vektoripohjaisesta ilmaisaineistosta avautuu uusia asioita helposti käyttöön, mistä nuo kuvatkin on osoitus.
Toisena esimerkkinä voisi olla rajatieto, joka on aina kiinnostavaa (kun siis puhutaan sijaintipalveluista). Kartta-aineistosta voi erottaa kuntien väliset rajat omaksi KML-tiedostoksi, jonka voi sitten vaikka esittää Google Mapsissa.
Jos tämä herätti kiinnostuksesi, tervetuloa jatkamaan asioiden oppimista Apps4Finlandin järjestämään avoimen paikkatiedon työpajaan 20.9 Helsingissä
PS. Vastauksen muuten kysymykseen saa sillä, kun muistaa että Suomi on oikeasti täynnä metsää! Nuo kuvat on muuten tehty ilmaisella QGIS-ohjelmalla ja se oli yllättävä helppoa!
Maanmittauslaitos on avannut omia karttatietojaan laajempaan käyttöön. Joillekin on ehkä jäänyt epäselväksi, mitä eroja vaikka Maanmittauslaitoksen ja esim. Google Mapsin kartoilla on. Tein pienen vertailun Kolin kansallismaisema-alueelta. (Erot olisivat pienempiä kaupunkialueilla.)
Ensimmäisenä on Maanmittauslaitoksen ortokuva verrattuna Google Mapsin satelliittikuviin.
Seuraavana on Maanmittauslaitoksen maastokartta ja Google Mapsin normaalikartta.

Viimeisenä vielä OpenStreetmap kartta samalta alueelta.

Minkä kartan sinä ottaisit mukaan mieluiten tuolle alueelle?
Vaikka olen järjestämässä Apps4Finland-kilpailua, en ole ajatellut pitää kynttilää vakan alla ideoiden suhteen. Tässä näitä tulee ja näitä saa ihan häpeilemättä varastaa.
Kun muita avoimen data kilpailuja katsoo, niin sieltä aina silloin tällöin tulee vastaan pelejä, jotka jollain tavalla pohjautuvat avoimeen dataan. Apps4Finland-kilpailuiden 3-vuotisessa historiassa niitä ei ole jostain syystä näkynyt, vaikka Suomesta puhutaan nykyään pelien ihmemaana. Onhan täällä Angry Birds ja sijaintiin pohjautuva Shadowcities-peli, jota New york Times hehkutti mobiilipelaamisen tulevaisuutena, mutta Apps4Finland-kilpailussa pelejä ei ole näkynyt.
Voisi kuvitella, että pääkaupunkiseudun tilastodatan pohjalta voisi kehitellä hauskoja trivial pursuit -tyylisiä tietopelejä, joissa pitää arvata onko Munkkiniemessä enemmän asukkaita kuin Etelä-Haagassa. Entäpä kummassa paikassa tulotaso on korkeampi tai ympäristötilastojen perusteella uudempia asuintaloja.
Peliin voisi lisätä paikkaan liittyviä asioita, kuten että pitäisi osata sanoa karttapisteestä mikä kaupunginosa on kyseessä. Tai pelaajan pitäisi osata näyttää puhelimella, mihin suuntaan pitäisi lähteä, jos haluaisi oman ympäristönsä keskimääräisen koulustustason nousevan.
Entäpä sitten olemassa olevat pelit kuten Shadowcities, jonka slogan on “Your city is a game”. En ole pelannut peliä (ei saatavilla Androidille), mutta tiedän, että pelissä hyödynnetään kaupunkien karttatietoa. Siihen se kaupunkidatan käyttö kuitenkin taitaa jäädä. Jos kerran tuolle tielle on lähdetty, niin voisihan mukaan ottaa muutakin dataa. Kaupungeista on paljon dataa saatavilla.
Mitä jos Shadowcities pelaajien valtaamilla alueilla olisi jotain vaikutusta pelin kulkuun, kuten jos on kunkkuna paikassa jossa on paljon koulutettuja ihmisiä, olisi sillä vaikutusta pelaajan saamiin taitoihin ja loitusuihin (huom! en ole pelannut peliä). Tai jos alkaa räiskiä palvelukartan tiedon pohjalta lasten leikkipuiston tai päiväkodin vieressä, niin tästä huolimattomasta toiminnasta olisi seurauksena pistemenetyksiä. Tai pelissä voisi kiinnittää pienen pommitervehdyksen vierestä viilettävän sporan kyytiin ja katsoa mitä tuhoa se saa aikaiseksi parin korttelin päässä lymyävien vihollisten joukossa. Nyt kaupunki alkaisi olemaan mukana pelissä ihan eri tasolla.
Taidan lopettaa ennenkuin innostun liikaa. Toivottavasti tämä herätti ideoita. Jään nyt odottelemaan innolla Shadowcities ja muiden pelintekijöiden kiinnostavia Apps4Finland-kilpailutöitä
Aina kun kehittäjien kanssa keskustelee Apps4Finland-kilpailusta, keskustelu nopeasti kääntyy siihen, että mistä sitä kiinnostavaa avointa dataa löytyy, josta voisi tehdä sovelluksia. Kysymykseen on ollut hieman huonoja vastauksia tähän saakka.
Kysyjän on lähinnä voinut ohjata ihmettelemään data.suomi.fi tai hri.fi datakatalogeja. Huonoja on ne ovat oikeastaan vain sen takia, että niistä on vaikea löytää kiinnostavat ja sovelluksille sopivat datasetit.
Tämän takia olenkin aloittanut Avoimen datan perkuu -talkoot. Tarkoitus on setviä noista katalogeista parhaimmat datat ja laittaa ne esille tuonne Apps4Finland-sivun datakatalogisivulle.
Olen aloittanut työn käymällä läpi data.suomi.fi -sivun ja erottanut siitä kaikki turhat RSS syötteet erikseen. Lisäksi olen vähän koittanut merkata, mitkä noista jäljellä olevista datoista on kiinnostavia ja mitä listasta puuttuu. Työ on vielä kesken joten tulkaa mukaan talkoisiin auttamaan löytämään kiinnostavat avoimen datan setit!
PS. Olen aloittanut myös tekemään lopullista datalistaa, joka tulisi tuonne Apps4Finland-sivulle tämän perkuutalkoon seurauksena. Sitäkin saa kommentoida!
Pääkaupunkiseudun palvelukartta on hulppea, mutta ehkä kuitenkin aika tuntematon, tietovarasto kaikista Helsingin, Espoon, Vantaan ja Kauniaisten toimipisteistä ja palveluista. Kesäkuussa tuohon palvelukarttaan tuli REST-rajapinta.
Tutkailin sen käyttöä yksinkertaista esimerkkiä käyttäen. Mitä jos tekisin sovelluksen, joka auttaisi vessahädän yllättämäksi joutunutta kansalaista ja näyttäisi pääkaupunkiseudulta lähimmän yleisen vessan, jonne rynnätä. Ensimmäinen ongelma oli löytää REST-rajapinnan web-osoite, josta hädänhetkellä löytyy ne vessat. REST-rajapinta ja sen kuvaus ei tässä kauheasti auttanut. Kun vihdoin oikea osoite löytyy, tulos on tälläinen:
<service>
<id>8920</id>
<parent__id>8800</parent__id>
<name__fi>Yleisövessat</name__fi>
<name__sv>Allmänna toaletter</name__sv>
<name__en>Public toilets</name__en>
<child__ids/>
<unit__ids>
<int>10929</int>
<int>10935</int>
<int>10939</int>
...
</unit__ids>
</service>
Jos hätä yllättää Hietalahdentorilla, niin tuo lista numeroita ei paljoa auta. Pitää tietää, että Hietalahden torilla on onneksi yleisövessa ja sen numero on 10927. Tuolla tiedolla saa esiin vessan koordinaatit ovat 60.162735, 24.928944, joiden avulla löytää oikeaan paikkaan.
Oikeastaan helpompi tapa vessojen löytymiselle on hakea palvelukartalta vessat ja klikkaamalla kartan yläkulmassa olevaa Vie-linkkiä ja valitsemalla “Vie Google Earthiin …”. Sieltä saa vastaukseksi KML-tiedoston, jossa on kaikki vessat koordinaatteineen ja osoitteineen. Tuossahan on oikeastaan kaikki tieto, mitä tarvittiinkin sovveluksen tekemiseen yhdessä paketissa!
Kun tuota palvelukartan linkkiä katsoo, niin sehän on REST-rajapinta itsessään, joka palauttaa XML-tiedoston takaisin. Ainoa mikä pitää tietää on tuo vessojen “themes” numero 8920, jonka löytää palvelukarttaa selaamalla. Tuo numero on muuten sama, mitä varsinaisessa REST-rajapinnan käytössäkin tarvitsee. Mieleen tulee kysymys, että mihinkäs tuota REST-rajapintaa oikeastaan tässä tarvittiinkaan?
En pystynyt sittenkään pitämään näppejäni irti avoimen datan koodailuista. Olin jo vähän aikaa miettinyt, että olisi kiva kokeilla, miten noita Maanmittauslaitoksen esim. maastokarttoja saisi kännykkään näppärästi. iPhonessa on muutama ohjelma, jotka jotain noista kartoista näyttää. Ajattelin kuitenkin, että olisi parempi tehdä yleinen kirjasto, jonka avulla kuka tahansa saisi nuo kartat mukaan Android ohjelmiinsa.
Tämän tekeminen tuntui aika isolta hommalta, kunnes törmäsin avoimeen osmdroid-kirjastoon. Sillä pystyy helposti näyttämään Android-kännyköissä erilaisia karttoja, kuten OpenStreetMap-kartan. Vielä kun Maanmittauslaitoksella oli sopivan oloinen web rajapinta karttoihin eli Web Map Service-palvelun (WMS), joka on mahdollisesti tulossa aivan vapaaseen käyttöön, tuntui karttojen yhdistäminen osmdroid-ohjelmaan suoraviivaiselta jutulta.
Ensin piti hakea tunnukset rajapinta-palveluun, jotka saikin sutjakkaasti. Sitten osmdroid-softaa piti puukottaa hieman lisäämällä sinne uusi lähde karttojen laatoille (eng. tile).
public class TileSourceFactory {
...
public static final OnlineTileSourceBase MML =
new MML__XYTileSource("Maanmittauslaitos",
ResourceProxy.string.mml,
0, 18, 256, ".png",
"http://opendata.fi/tiles/proxy.php");
...
private static ArrayList mTileSources;
static {
mTileSources = new ArrayList();
mTileSources.add(MML);
...
}
}
Kuten koodista näkyy, tein oman “karttaproxyn” verkkoon (kyllä opendata.fi -domain on minulla käytössä
). Varsinainen karttojen laattalähde (MML__XYTileSource) yksinkertaisesti kertoi, miten tuohon minun proxyyn kysely pitää tehdä.
public class MML__XYTileSource extends XYTileSource {
....
@Override
public String getTileURLString(final MapTile aTile) {
return getBaseUrl()+"?zoom=" + aTile.getZoomLevel() +
+ "&X=" + aTile.getX() + "&Y=" + aTile.getY();
}
}
Tuolla proxyllä lähinnä kierretään WMS-palvelun vaatima HTTP Basic tunnistautuminen. Nyt kännykän sijaan proxy tunnistautuu palveluun käyttäjätunnuksella ja salasanalla. Proxy myös muuntaan nuo OpenStreetMap laattanumerot WGS-84 koordinaateiksi ja sitten vielä WMS-palvelun käyttämiksi ETRS-TM35FIN tasokoordinaateiksi.
$url = "https://ws.nls.fi/rasteriaineistot/image?service=WMS" .
"&version=1.1.1&request=GetMap&width=256&height=256".
"&format=image%2Fpng&layers=maastokartta_500k".
"&styles=normal&srs=EPSG%3A3067&bgcolor=ffffff".
"&transparent=false&time=&bbox=";
$zoom = $_GET['zoom'];
$X = $_GET['X'];
$Y = $_GET['Y'];
//Lasketaan kulmien koordinaatit minimi NE ja maksimi NE
$Y=$Y+1;
$wgs2 = tiles_to_wgs84($X,$Y,$zoom);
$etr2= wgs_etrs($wgs2['lat'], $wgs2['lon']);
$X = $X + 1;
$Y = $Y - 1;
$wgs4 = tiles_to_wgs84($X,$Y,$zoom);
$etr4= wgs_etrs($wgs4['lat'], $wgs4['lon']);
$url .= $etr2['E'] .",".$etr2['N'].",".$etr4['E'].",". $etr4['N'];
PHP:n cURL-functioilla käydään hakemassa karttakuva Maanmittauslaitoksen WMS-palvelusta, josta se heitetään se suoraan kännykkäsovellukselle.
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
// Getting binary data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "käyttäjätunnus:salasana");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
$image = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$im = @imagecreatefromstring($image);
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
Laskentakaavat joilla OpenStreetMap laattanumerot muutetaan WGS-84 koodinaateiksi ja sitten vielä ETRS-TM35FIN tasokoordinaateiksi piti hakea kissojen ja koirien kanssa netistä. Lopullinen totuus löytyi täältä ja täältä.
function tiles_to_wgs84($x,$y,$zoom){
$n = pow(2, $zoom);
$lon_deg =$x / $n * 360.0 - 180.0;
$lat_rad = atan(sinh( pi() * (1 - 2 * $y / $n)));
$lat_deg = $lat_rad * 180.0 / pi();
$wgs = array();
$wgs['lat'] = $lat_deg;
$wgs['lon'] = $lon_deg;
return $wgs;
}
function wgs_etrs($la, $lo){
$Ca = 6378137.0;
$Cb = 6356752.314245;
//WGS84 ellipsoid
//$Cf = 1.0 / 298.257223563;
$Cf = 1.0 / 298.257222101;
$Ck0 = 0.9996;
$Clo0 = deg2rad (27.0);
$CE0 = 500000.0;
$Cn = $Cf / (2.0 - $Cf);
$CA1 = $Ca / (1.0 + $Cn) * (1.0 + pow($Cn, 2.0) / 4.0 + pow($Cn, 4.0) / 64.0);
$Ce = sqrt(2.0 * $Cf - pow($Cf, 2.0));
$Ch1 = 1.0/2.0 * $Cn - 2.0/3.0 * pow($Cn, 2.0) + 37.0/96.0 * pow($Cn, 3.0) - 1.0/360.0 * pow($Cn, 4.0);
$Ch2 = 1.0/48.0 * pow($Cn, 2.0) + 1.0/15.0 * pow($Cn, 3.0) - 437.0/1440.0 * pow($Cn, 4.0);
$Ch3 = 17.0/480.0 * pow($Cn, 3.0) - 37.0/840.0 * pow($Cn, 4.0);
$Ch4 = 4397.0/161280.0 * pow($Cn, 4.0);
$Ch1p = 1.0/2.0 * $Cn - 2.0/3.0 * pow($Cn, 2.0) + 5.0/16.0 * pow($Cn, 3.0) + 41.0/180.0 * pow($Cn, 4.0);
$Ch2p = 13.0/48.0 * pow($Cn, 2.0) - 3.0/5.0 * pow($Cn, 3.0) + 557.0/1440.0 * pow($Cn, 4.0);
$Ch3p = 61.0/240.0 * pow($Cn, 3.0) - 103.0/140.0 * pow($Cn, 4.0);
$Ch4p = 49561.0/161280.0 * pow($Cn, 4.0);
$la = deg2rad($la);
$lo = deg2rad($lo);
$l = $lo - $Clo0;
$cos = cos($la)*$l;
// Mittakaavakerroin
//$Ck0 = $Ck0*(1 + 0.5 * pow($cos,2));
//logger("mittakaavakerroin: $Ck0");
$Q = asinh(tan($la)) - $Ce * atanh($Ce * sin($la));
$be = atan(sinh($Q));
$nnp = atanh(cos($be) * sin($lo - $Clo0));
$Ep = asin(sin($be) * cosh($nnp));
$E1 = $Ch1p * sin(2.0 * $Ep) * cosh(2.0 * $nnp);
$E2 = $Ch2p * sin(4.0 * $Ep) * cosh(4.0 * $nnp);
$E3 = $Ch3p * sin(6.0 * $Ep) * cosh(6.0 * $nnp);
$E4 = $Ch4p * sin(8.0 * $Ep) * cosh(8.0 * $nnp);
$nn1 = $Ch1p * cos(2.0 * $Ep) * sinh(2.0 * $nnp);
$nn2 = $Ch2p * cos(4.0 * $Ep) * sinh(4.0 * $nnp);
$nn3 = $Ch3p * cos(6.0 * $Ep) * sinh(6.0 * $nnp);
$nn4 = $Ch4p * cos(8.0 * $Ep) * sinh(8.0 * $nnp);
$E = $Ep + $E1 + $E2 + $E3 + $E4;
$nn = $nnp + $nn1 + $nn2 + $nn3 + $nn4;
$ETRS = array();
$ETRS['N'] = $CA1 * $E * $Ck0;
$ETRS['E'] = $CA1 * $nn * $Ck0 + $CE0;
return $ETRS;
}
Kun nämä saadaan tehtyä, ilmestyy tälläinen hieman sekava kartta kännykkään.
Kun tuota kuvaa tarkemmin katsoon, niin ohjelma lataa karttalaattoja hieman pieleen. Vierekkäiset karttalaatat eivät aivan täsmälleen osu kohdalleen ja siksi kuva on vähän sekava. Syy on (kai) se, että nuo WMS-palvelun laattojen koordinaatiolasku ei ole noista eri koordinaatistoista (WGS-84 ja ETRS-TM35FIN) johtuen ihan niin suoraviivainen kuin miten sen olen tehnyt. Tähän oikeastaan jätin homman, koska ajattelin, että ehkä joku geo-viisaampi osaisi neuvoa, miten jatkaa tästä eteenpäin.
Toivottavasti en tallonut kenenkään varpaille, koska tämä aihe liippaa myös hyvin läheisesti Apps4Finland-kilpailua, jota olen järjestämässä. Tämä kuitenkin osoitti, että tuollaisen ohjelman tekeminen ei ole mahdotonta ja vaikka homma jäi vielä aika pahasti vaiheeseen (esim. zoomauksen ottaminen paremmin huomioon proxyssä), tästä on hyvä jatkaa kenen tahansa ja tehdä kiinnostava ja etenkin toimiva sovellus Androidiin, joka käyttää noita karttoja. Ja tietenkin toivon näkeväni noita sovelluksia myös Apps4Finland-kilpailussakin!
(Ajattelin laittaa tämän postauksen tänne, vaikka sen piti ilmestyä aivan muualle jo viime keväänä. Näin laiskana kesäpäivänä kai tämä on sallittua. Asia on yhä ajankohtainen ja tekstikin ihan kelvollinen. Hienoa, että aina silloin tällöin voi huomata, että asia etenee täällä härmässäkin, viimeksi VR:n Junat kartalla -kartalla palvelussa.)
Monille yrityksille tietojen avaaminen ei ole kuitenkaan mitenkään outo asia. Kun tarkastelee internetin varsinaisia menestyjiä, niin tiedon avaaminen on ennemmin sääntö kuin poikkeus. Ei liene sattumaa, että niin internetin konkarit Amazon ja eBay kuin tuoreemmat menestyjät Facebook ja Twitter, ovat olleet aktiivisesti avaamassa omien palveluidensa tietoja sovelluskehittäjille. Amazonin ja eBayn palveluiden tietojen avaaminen alkoi jo kymmenen vuotta sitten. Niiden palveluita voi käyttää perinteisen selaimen lisäksi myös ns. web service-rajapintojen kautta, joita sovelluskehittäjät käyttävät tekemissään sovelluksissaan.
Ohjelmoitavat web service- rajapinnat eivät kuitenkaan tulleet internet-yrityksien palveluihin aivan heti. Aluksi ulkopuoliset sovelluskehittäjät hakivat vaivihkaa yritysten sivuilta tarvittavat tiedot erilaisilla tekniikoilla kuten Web scraping:llä. Pikkuhiljaa yritykset oppivat, että helpottamalla sovelluskehittäjien pääsyä palveluihinsa, he saisivat uusia sovelluksia yrityksen asiakkaiden käyttöön. Sovelluskehittäjät siis paransivat yrityksen asiakkaiden saamaa palvelua ja lisäsivät siten yrityksen houkuttelevuutta. Ja mikä parasta, tämä kaikki tuli lähes ilmaiseksi. Sen takia yrityksien tietoihin alettiin määritellä sovelluskehittäjille helpompia web service -rajapintoja.
Oma seikkailuni Alkon tietojen maailmassa ei loppunut vielä sieltä saatuun kieltävään vastaukseen. Vaikka Alko ei innostunut ideastani, ei se minun innostusta lopettanut. Päätin jatkaa heistä huolimatta. Olin siis yrittänyt pyytää Alkolta heidän tuotteidensa viivakooditietoja. Viivakoodit ovat niitä jokaisen tuotteen kyljessä olevia viivakuvia, jotka vastaavat numerosarjaa. Alkossa viivakoodit ovat jopa painettu hyllyssä olevaan hintalappuun, joten niiden lukeminen puhelimella onnistuu ilman että pulloa edes tarvitsee nostaa hyllystä. Hieman pohdittuani asiaa, päätin kerätä nuo viivakooditiedot itse. Kun olin suunnitellut ja tehnyt operaatioon tarvittavat valmistelut, tein sen julkiseksi, jotta kuka tahansa pystyi osallistumaan tähän viivakooditietojen vapautusoperaatioon.
Internetissä on pitkään jatkunut suuntaus, jossa yhä enemmän tietoa tulee meidän kaikkien saataville. Vastikään kymmenen vuotta täyttänyt Wikipedia on kirkkain esimerkki siitä, mitä ihmiset voivat omalla toiminnallaan saada aikaiseksi. Tälle suuntaukselle ei ole näkyvissä loppua. Yhä monimutkaisemmin kerättävä tieto tulee kaikkien saataville. OpenStreetMap-aktiivit kulkevat maastossa tallentaen GPS-laitteillaan pienimmätkin metsäpolut ja rakentavat näin ilmaista karttaa julkiseen käyttöön. Minä puolestani olen puikkelehtinut Alkon hyllyjen välissä keräten viinien viivakooditietoja. Teknologian kehittyessä kenestä tahansa voi tulla tiedon avaaja. Näyttää siltä, että tulevaisuudessa kaikki tieto, joka on mahdollista julkaista internetissä, tulee sinne jossain muodossa.
Yrityksillekin tässä suuntauksessa on enemmän saatavaa kuin menetettävää. Internet on jo näyttänyt, miten menestyneimmät yritykset ovat siellä olleet eturintamassa helpottamassa tietojensa saatavuutta. Nämä yritykset ovat kuunnelleet sovelluskehittäjiä ja avanneet omia tietojaan. Tämä suuntaus tulee laajentumaan internet-yritysten ulkopuolelle ja yhä enemmän myös perinteisempien yritysten kuten Alkon tietoja tullaan avaamaan julkisiksi. Kun yrityksen internet-sivut on saatu hyvään kuntoon, on tietojen laajempi avaaminen kannattava jatke. Jos näin ei tapahdu, voivat kansalaiset toimia itse aktiivisesti tietojen avaamisessa.
Mitä omaan tietojen avaamisoperaatioon tulee, niin se on tällä hetkellä hyvässä vauhdissa. Alkon viinien viivakoodit on jo yli 90-prosenttisesti avattu. Vihdoinkin olemme päässeet vaiheeseen, jossa kuka tahansa voi alkaa kehittää sovelluksia, jotka auttavat Alkon asiakkaita löytämään loistavan viinin ruokapöytään. Jos haluat osallistua, olet tervetullut. Tai miksi et aloittaisi omaa operaatiotasi!
Apps4Finland-kilpailun yksityiskohtaiset tiedot julkaistiin nettisivuilla viime perjantaina 10.6.2011 kello 14.24. Tämä tarkoittaa, että Apps4Finland-kilpailu on alkanut! Jippii! Fiilis on oikein hyvä, koska kilpailusta tuli minusta erittäin onnistunut!
Kilpailuun lähti mukaan todella kiinnostava joukko ihmisiä ja sponsoreita. Näistä mainittakoon esimerkiksi tuomaristo, jossa on tosi kiinnostava joukko eri alan ihmisiä. Tuomariston puheenjohtajana toimii itse Jyrki J.J. Kasvi.
Kilpailulla on aikaisempina vuosina ollut hieman huono näkyvyys suuremman yleisön joukossa. Tänä vuonna kisan pääsponsorina on Helsingin Sanomat. On todella hienoa, että he lähtivät näin merkittävästi mukaan kilpailuun, koska heidän kanssaan kilpailu ja avoimen datan asia saadaan leviämään aivan varmasti paremmin ihmisten tietoisuuteen. Helsingin Sanomat on ollutkin jo viemässä kiinnostavalla tavalla avoimen datan asiaa eteenpäin järjestämällä esimerkki tämän vuoden HSOpen-tapahtumat.
Kilpailua uudistettiin hieman tuomalla uusia sarjoja tänä vuonna. Aikaisempien vuosien tyyliin on Sovellus- ja Ideasarja. Tänä vuonna lisänä on Visualisointi- ja Datan avaus -sarjat. Muita uudistuksia on erikoispalkinnot, joilla palkitaan eri teemaan liittyviä töitä. Erikoispalkintoja saa paikkatietoon, Ylen dataan ja kulttuuriin liittyvillä kilpailutöillä.
Toinen uudistus on sellainen, että kilpailutyöt julkaistaan heti, kun ne on ilmoitettu kilpailuun. Kilpailutöitä voi myös alkaa yleisö heti äänestää. Näillä muutoksilla halutaan saada vähän avoimuutta lisää itse kilpailuun, mutta myös säpinää ja keskustelua aikaiseksi kilpailun aikana.
Yksi mielenkiintoinen kuvio kilpailussa on se, että kilpailija voi tienata 500€ lisäpalkinnon, jos hänen ideasta tai datan avauksesta joku kehittää palkitun sovelluksen. Tällä halutaan vielä hieman lisätä ihmisten motivaatiota tuoda esiin niitä omia ideoita ja ongelmia, joihin toivoisi ratkaisua.
Tervetuloa mukaan kilpailuun! Kilpailutöitä voi jättää 23.10.2011 saakka, mutta mitä sitä aikailemaan. Osallistu vaikka heti! Sitä ei tiedä mitä kaikkea siitä voi seurata jopa kisan aikana!
(PÄIVITYS: Kick-off tilaisuuden ohjelmaa tarkennettu mielenkiintoisilla puhujilla!)
Jes! Apps4Finland-kilpailu alkaa aivan pian. Olen tosi tyytyväinen millainen kisasta tuli. Siinä on paljon vanhaa, mutta on siinä paljon uuttakin.
Tulkaa kuuntelemaan minkälainen kisasti tuli. Järjestämme kilpailusta kick-off tiedotustilaisuuden 15.6 klo 17 Forum Virium Helsingin tiloissa Aleksanterinkatu 16-18. Tuolta sivulta löytyy linkki, josta voi ilmoittautua kilpailuun tai voitte tehdä sen suoraan täältä:
http://www.apps4finland.fi/fi/ilmoittaudu-apps4finland2011-kick-off-tilaisuuteen
Tervetuloa!
Alla vielä aika ja paikka tarkasti sekä tämän hetken ohjelma.
Apps4Finland-kilpailun Kick-off
Keskiviikkona 15.6.2011 klo 17-20
Aleksanterinkatu 16-18 (käynti sisäpihalta)
Klo 17 – 17.15 Alkusanat
Jyrki J.J. Kasvi, TIEKE
Klo 17.15 – 17.30 Pääsponsorin alustus
Esa Mäkinen, Helsingin Sanomat
Klo 17.30 – 17.45 Kilpailun kuvaus
Jaakko Rajaniemi, Apps4Finland-kilpailun projektipäällikkö
Klo 17.45 – 18.30 Avoin data ja sen mahdollisuudet:
Kari Haakana, Yleisradio
Ville Meloni, Helsinki Region Infoshare
Antti Rainio, Maanmittauslaitos
Klo 18.30 eteenpäin ->
Kysymyksiä ja vastauksia ja yleistä keskustelua kilpailusta ja avoimesta datasta.
Näin Apps4Finland-kilpailun edellä on hyvä muistuttaa, että mitä avoin data on. Miksi avoin data on tärkeää? Miksi järjestää tälläinen Apps4Finland-kilpailu?
Onneksi asiasta on tehty erinomainen video #opendata filmi. Katsokaa ja osallistukaa!