Gemilo Oy

Avoin lähdekoodi ei tarkoita ilmaista tai automaattisesti hyvää

Torstai, Maaliskuu 22, 2012

Katri Lietsala // Avoin lähdekoodi ei ole sama asia kuin hyvä, toimiva palvelu automaagisesti. Se ei ole synonyymi ilmaiselle, halvalle tai rahan säästämiselle. Avoimuus ei takaa, että avointa lähdekoodia kehittäviä toimijoita olisi tarpeeksi kehittämässä valittua ratkaistua tai että avoin lähdekoodi olisi vaivatta ja järkevin kustannuksin käytettävissä uuteen käyttötarkoitukseen ilman poikkeuksia (reusability).

Entäpä avoimen lähdekoodin tietoturva-aukot? Niin ihana kuin ajatus kaikkien yhdessä tuumin kehittämästä koodista on, mahtuu joukkoon aina niitä, jotka joko vahingossa tai tahallaan aiheuttavat haavoittuvaisuuksia järjestelmään. Kehittäjän tulee avoimen lähdekoodin osalta tukkia paitsi varsinaisesta järjestelmästä, myös sen liitännäisistä mahdolliset tietoturva-aukot. Liitännäistä saattaa tehdä kehittäjä-kollegaani lainatakseni “pari jamppaa“, jotka aikansa pulattuaan saattavat jättää työn niikseen, koska joku muuhan sen voi sitten korjata – avointa, kun on.

Ei silti. Minä pidän avoimesta koodista, älkää käsittäkö väärin. Meidän järjestelmämme toimivat Linuxilla, hyödynnämme Pythonin avoimen lähdekoodin komponentteja, toiminnassa on  myös memcached, Shibboleth ja LAMP-ympäristö. Wysiwyg-editori on avointa koodia sekin. Maailmassa on paljon hienoja avoimen lähdekoodin toteutuksia. Silti Gemilon teknologia (Gemilo Platform) ei ole avointa.

Koodi ja käyttöliittymä hienoine ominaisuuksineen on meidän kilpailuetumme isoja jättejä vastaan. Se on meidän itse tekemää, omilla resursseilla. Toki asiakkaiden rahoituksella, mutta vastineeksi asiakkaat ovat saaneet sen, mitä pyysivät ja mistä maksoivat. Jos meiltä ostetaan järjestelmän käyttöoikeuksia ja toteutuksia, tuetaan suomalaista työtä ja suomalaista yritystä. Missä kohtaa tästä tuli jotenkin väärää ja sellaista, mitä julkishallinnossa pitäisi välttää?

Joonas Pekkanen (Avoin ministeriö) ehdottaa [korjaus 16.4.2012 ehdotus on Joonaksen eikä Avoimen ministeriön kanta], että julkishallinnon hankkimien ohjelmistojen tulisi olla avointa koodia. Pidän tärkeämpänä vapaata kilpailua kuin että lakiin kirjoitettaisiin julkishallinnolle pakoksi käyttää avointa lähdekoodia. Avoimessa lähdekoodissa on välillä filosofinen/poliittinen eetos, joka joskus muistuttaa melkein uskonnollista vakaumusta.

Sen sijaan, että tuijotetaan, onko ratkaisu avointa lähdekoodia vai ei, kannattaisi katsoa tarkemmin, miten paljon kuluu aikaa ja sitä kautta resursseja:

  • toimituksen kokoonpanoon,
  • käytön oppimiseen,
  • ratkaisun soveltamiseen
  • laajennettavuuteen
  • sekä tilaajalta itseltään että tekijöiltä.

Lisäksi on se kaikista tärkein mittari: Toimiiko palvelu, kuten halutaan ja täyttääkö ne toiminnalliset tavoitteet, joita sille on asetettu? Joko heti tai kehittämistyön jälkeen. Jos täyttää ja on budjetin mukainen, niin kannattaa tilata, olipa avointa tai suljettua koodia.

Joskus avoin lähdekoodi voi olla hyvinkin edullinen ja toimiva ratkaisu, mutta on myös tapauksia, joissa väitän, että julkishallinto olisi säästänyt pitkän pennin ottamalla valmiin ratkaisun, joka on suljettua koodia, mutta toimii ja olisi ollut valmiina ajat sitten.

Jaa kavereille
  • Facebook
  • Twitthis
  • del.icio.us
  • Digg
  • Reddit
  • Google Bookmarks

Facebook toi aikajanan yrityssivuille

Maanantai, Maaliskuu 5, 2012

Arto Liukkonen // Facebook aikoo tuoda Aikajana-ominaisuuden (“Timeline”) käyttöön kaikille yrityssivuille 30.3.2012 mennessä. Mahdollisuus ottaa aikajana käyttöön onnistui jo hieman ennen tiedotustilaisuuden alkua, ja kaikilla fanisivuilla on siis maaliskuu aikaa sopeutua muutokseen. Facebook tiedotti muutoksista 29.2.2012 pitämässä markkinointitapahtumassa.

Miltä Aikajana näyttää?

Aikajana koostuu neljästä tärkeästä osioista. Nämä osiot ovat:

  • kansikuva (engl. Cover photo)
  • profiilikuva
  • sovelluslaatikot
  • sekä itse aikajana.

Kansikuva on suuri kuva aivan sivun yläreunassa, jota sivun ylläpitäjä voi vaihtaa. Kansikuvan koko on kiinteä. Profiilikuva on kansikuvan vasemmassa reunassa. Myös tämän kuvan koko ja paikka on kiinteä. Sovelluslaatikot ovat heti kansikuvan alapuolella, joiden alta näkyivät aiemmin “Laskeutumissivu” (engl. landing page) -nimellä tunnetut sivut.

Viestien korostus ja kiinnitys

Aikajana mahdollistaa yksittäisten viestien korostamisen (“Highlight“) ja kiinnittämisen (“Pin to top“). Korostamalla viestin viesti levenee kattamaan koko aikajanan. Näin käyttäjän on helpompi huomata tärkeät viestit aikajanalta.

Viestin voi myös kiinnittää, jolloin Facebook nostaa sen viikoksi näkyville sivun ensimmäiseksi viestiksi. Viikon jälkeen viesti vaihtuu taas takaisin omalle paikalleen. Kiinnitetyt viestit erottaa pienestä lipusta viestin oikeassa yläreunassa.

 

Mitä käy laskeutumissivuille ja Fanisivukoneelle?

Aikajanaa käyttävillä sivuilla laskeutumissivua ei voi enää vaihtaa. Käyttäjä saapuu aina ensimmäisenä aikajana-näkymään. Vanhat laskeutumissivut ja välilehdet  toimivat, mutta ovat nyt yhden klikkauksen päässä.

Hyvää muutoksessa on, että välilehdet saavat lisää tilaa, sillä niiden palsta ei ole pakotettu niin kapeaksi kuin aiemmin. Tämä mahdollistaa entistä näyttävämpien sivujen luomisen.

Reagoimme Fanisivukone-palvelumme kanssa muutokseen välittömästi, ja teimme siitä yhteensopivan aikajanan kanssa. Aikajana tuo Fanisivukoneen kannalta kuitenkin merkittäviä uudistuksia, joihin käyttäjän itse tulisi reagoida tai tilata toimittajaltaan konsultointia.

Tykkää / Ei tykkää

Aiemmin Facebook päivitti laskeutumissivun sisällön automaattisesti siinä vaiheessa, kun käyttäjä painoi  Facebookin “Tykkää“-painiketta. Tämä mahdollisti , että käyttäjälle näkyvä sisältö voidaan vaihtaa riippuen, onko hän tykkääjä vai ei. Uudessa mallissa Facebook ei enää automaattisesti päivitä näkymää, mutta Gemilo on tuomassa tähän oman ratkaisunsa pian.

Mieti sisältö uudelleen

Koska sivu ei ole enää laskeutumissivuna, sivun sisältö on hyvä suunnitella uusiksi. Pelkkä banneri tai kaunis näkymä ei enää auta, vaan tilalle kannattaa tuoda toiminnallisuuksia, kuten videoita, kyselyitä, kuvakaruselleja ja arvontoja. Nämä kaikki onnistuvat Fanisivukoneessa ja avullamme edelleen. Suosittelemmekin jatkossa tekemään toiminnallisempia välilehtiä kuin aiemmin, koska käyntikorttimaisen, päivittyvän sivun merkitys on vähentynyt Facebookin muutoksen jälkeen. Fanisivukoneen teknologia mahdollistaa toiminnalliset välilehdet.

Hyödynnä korostaminen ja kiinnittäminen

Ohjaa käyttäjiäsi aktiivisesti tekemällesi alasivulle hyödyntämällä korostettuja julkaisuja sekä julkaisun kiinnittämistä. Alasivulle on edelleen mahdollista linkittää myös suoraan.

Kysele, ole aktiivinen, ota yhteyttä

Mikäli sinulla heräsi kysymyksiä aikajanan hyödyntämisestä tai siirtyminen uusittuun Facebook-sivuun pelottaa, ota yhteyttä meihin joko kommentoimalla alle tai lähettämällä yhteydenottopyyntö. Olemme tutustuneet aikajanan käyttöön jo yli puolen vuoden ajan. Kehitämme jatkuvasti uusia ideoita sen hyödyntämiseksi kaikille ja Fanisivukoneessa saat parhaat ideamme käyttöösi. Autamme myös erillisissä Facebook-sovelluksissa.

Jaa kavereille
  • Facebook
  • Twitthis
  • del.icio.us
  • Digg
  • Reddit
  • Google Bookmarks

Näkökanta: Googlen käyttöehdot – Älä tyhjennä tietojasi

Tiistai, Helmikuu 28, 2012

Creative Commons, NCReedplayer @ Flickr

 

Arto Liukkonen // Mediassa on Suomessa ja maailmalla pöhisty viime päivinä jatkuvasti Googlen uusista käyttöehdoista ja millaisia yksityisyysongelmia tämä aiheuttaa. Suomessa lähes poikkeuksetta kaikki IT- ja tietoturvagurut ovat toitottaneet, että tyhjentäkää välittömästi hakuhistoria. Monet tuttuni ovatkin tätä ohjetta seuranneet tai vähintään kyselleet apua, miten toimia Googlen uusien käyttöehtojen kanssa ja miksi.

Mitä hyötyä tai haittaa hakuhistorian poistamisella sitten on? Käytännössä ainoa vaikutus on, että et saa enää niin tarkkoja tuloksia hakiessasi jotain Googlesta. Lisäksi menetät oman historiasi, etkä löydä enää niin helposti jotain aiemmin etsimääsi asiaa. Yleisesti mitä enemmän Google sinusta tietää niin sen parempi. Näin se osaa muodostaa hakutuloksia tehokkaammin käyttöösi ja juuri tämä tekee Googlesta maailman parhaan hakukoneen. Eikö näytettävä mainonta olisi vielä entistä ärsyttävämpää, jos Google ei enää tiedä niin tarkkaan mistä olet kiinnostunut? Mielummin katson mainoksia tietotekniikasta kuin vaikkapa naisten hygieniasta.

Toivottavasti tämä herätti edes jonkun ajattelemaan uudelleen hakuhistorian ja Google-tietojensa poistamista. Mikäli olet jo poistanut oman hakuhistoriasi, ei tietoja voi valitettavasti enää palauttaa. Olet menettänyt merkittävän osan virtuaalista minääsi. Osanottomme.

Jaa kavereille
  • Facebook
  • Twitthis
  • del.icio.us
  • Digg
  • Reddit
  • Google Bookmarks

Vinkkejä hankintayksiköille: Miten kilpailuttaa tietojärjestelmän tai muun verkkopalvelun hankinta?

Tiistai, Helmikuu 21, 2012

Tomi Terentjeff // Julkisten hankintojen  tekeminen alkaa olla Suomessa melkoista rulettia.  Olemme huomanneet julkishallinnon tarjouspyynnöissä ja kilpailutuksen aikana seuraavia yhteneväisyyksiä:

  • Hankinta on kuvattu lyhesti ja ympäripyöreästi.
  • Aikataulua ei ole annettu kuin tarjouksen jättämiselle ja mahdolliselle päätökselle.
  • Toiminnallisuudet on kuvattu todella epätarkasti.
  • Toiminnallisuuksiin kerätään kaikki mahdolliset mieleen tulevat asiat.
  • Pyydetään jotain tiettyä avoimen lähdekoodin järjestelmää tai tietyn toimittajan ohjelmistoa.
  • Vertailuperusteet on esitelty ylimalkaisesti (hinta 60%:ia, laatu 40%:ia ei riitä tarkkuudeksi). 
  • Referenssejä pyydetään, mutta niitä ei huomioida.
  • Haluttu ylläpito on kuvattu hyvin epäselvästi. Silti kuukausittaiselle ylläpitosopimukselle täytyy arvata hinta, vaikka vaatimustaso on täysin epäselvä.
  • Halutut hinnat kuvataan epäselvästi.
  • Lisätietoja ei pyydetä, vaikka sellaiseen on aina optio. Sen sijaan tarjoaja tyydytään pudottamaan pois kisasta muotoseikkaan vedoten. 
  • Tarjoukseen halutaan kattava projektisuunnitelma, vaikka todellisuudessa se ei kerro palvelun toimivuudesta ja käytettävyydestä vielä mitään.
  • Pyydetään tarjouksia, vaikka hankintaa ei  lopulta edes tehdä.
  • Kutsutaan kaikki esittelemään palveluaan, vaikka valinta olisi jo tehty.

Julkiset hankinnat hoidetaan melko poikkeuksetta huonosti. Epäselvät tarjouspyynnöt johtavat epäselviin tarjouksiin ja epäselviin, joskus jopa vertailukelvottomiin hinnoitteluihin. Poikkeuksiakin löytyy, tästä erityismaininta Rauman kaupungille, joka esitteli alustavan vaatimusluettelon ennen kilpailutuksen aloittamista ja pyysi avoimesti vinkkejä tarjouspyyntöä varten.

Muille olisi tässä julkishallinnon hankintoihin viisi kultaista sääntöä, joita toivomme, että noudatatte, kun kilpailutatte verkkopalveluita, verkkosivuja, intranettejä ja muita webissä käytettäviä työkaluja:

1) Selkeä erillinen hinnasto-liite (valmis pohja) ja peruste hinnasta saataville pisteille

Erillinen tarjouksen mukana toimitettava (esim. excel) nopeuttaa tarjouksien vertailua ja antaa kaikille varmasti käsityksen siitä miten hinnat tulee ilmaista. Muistakaa aina huomioida myös kuukausi- ja/tai vuosimaksut, jotta tarjoajat varmasti ilmoittavat haluamanne kokonaiskustannukset (esim. kuukausikustannukset seuraavalle kolmelle vuodelle). Mainitkaa myös, onko tarjoajalla oikeus laskuttaa matkakuluja tai päivärahoja ja pitääkö kyseisten summien näkyä tarjouksessa tavalla tai toisella.

2) Konkreettiset, priorisoidut toiminnallisuusvaatimukset

Selkeästi, mutta tiiviisti kuvatut toiminnallisuudet helpottavat niin tarjoajien kuin teidän elämää. Mikäli jokin toiminnallisus on hankala kuvata sanoin, on suositeltavaa, että tapaus kuvataan käyttöesimerkillä. Vaatimukset kannattaa pyrkiä pitäämään tiiviinä, sen sijaan että vaatimuksiin pyritään keksimään kaikki mahdollinen ja mahdoton. Priorisoikaa vaatimukset ainakin ehdottomiin vaatimuksiin ja nicetohave-toiminnallisuuksiin.

3) Helppolukuinen lista vaadituista liitteistä, vaikka jo valmiiksi numeroituna

Tarjoukseen tulee usein liitteitä 5-10kpl. Helpotatte omaa ja tarjoajan elämää, jos teette tiiviin muistilistan mitä liitteitä kaipaatte. Tarjoukset ovat myös mukavasti yhdenmukaisessa muodossa, jos numeroitte liitteet jo tarjouspyyntöön. Silloin toimittaja täyttää varmemmin joka liitteen, jota kaipaatte ja saatte tiedot yhdenmukaisessa muodossa.

4) Referenssien vaatimukset ja kuvaukset

Referenssejä on monenlaisia. On hyvä pyytää toimittajaa esittämään referensseistä olennaiset asiat, jotta referenssit jälleen kerran ovat vertailukelpoisia. Tämän lisäksi on myös hyvä pyytää referenssin budjetti, jotta näette mitä toimittaja on saanut aikaan kyseisellä summalla. Ilmaiskaa myös monta referenssiä haluatte kuvattavan teille, jotta toimittaja osaa varmasti valita oikean määrän. Se, että toimittajalla ei ole toteutuksia juuri teidänkaltaiselle toimijalle, ei välttämättä tee toimittajasta huonompaa kuin kyseiselle sektorille enemmän toimituksia tehneet. Päinvastoin, kyseinen toimittaja voi antaa teille enemmän, koska haluaa teistä tyytyväisen toimiala-referenssin.

5) Pyytäkää lisätietoja, mikäli niitä tarvitsette

On aika inhimillistä, että suuremmissa tarjouspyynnöissä jää jokin pieni yksityiskohta mainitsematta. Näin käy hankintaa tekeville kuin tarjouksen jättäjille. Tarjoaja on voinut panostaa tarjouksen tekemiseen paljon aikaa ja on varsin valitettavaa, jos tarjoaja pudotetaan pois kilpailusta täysin muotoseikkoihin vedoten (esim. hinta unohtunut eritellä koulutukselle). Se, että yhden tarjouksen putoaminen vertailusta, vähentää teidän työtänne, ei ole perustelu olla välinpitämätön tarjoajia kohtaan. Kilpailutuksia tulisi tehdä, jotta löydetään soveltuvin  ratkaisu – ei siksi, että löydetään byrokraattisesti paras toimittaja.

6) Olkaa reiluja tarjoajia kohtaan

Ikävä kyllä näyttäisi siltä, että moni julkinen hankinta on sovittu ennakkoon. Tarjouspyynnöt jätetään riittävän epäselviksi, jotta saadaan vapaat perusteet valita “sopivin” kokonaisuus. Tyypillistä on myös tarjouspyyntöjen tekeminen suoraan tietyn toimijan listausten mukaan. Toiminnallisuuslistaukset on silloin kopioitu jostain olemasta olevasta järjestelmästä, melkein sanasta sanaan. Ainoa mikä jätetään puuttumaan, on viittaus järjestelmään ja toimittajaan – joka käytännössä ollaan jo valittu. Tämä on muiden toimijoiden aliarvioimista. Kilpailuta rehdisti.

Jaa kavereille
  • Facebook
  • Twitthis
  • del.icio.us
  • Digg
  • Reddit
  • Google Bookmarks

Codecasting – Tervetuloa seuraamaan koodausta livenä

Torstai, Tammikuu 19, 2012

Arto Liukkonen // Koodaus on kivaa. Teen sitä sekä työkseni, että vapaa-ajalla. Ja usein kun en koodaa, pyörittelen koodaukseen liittyviä ongelmia päässäni. Mutta mitä se koodaus sitten on?

Gemilo esittää: Codecasting

Tervetuloa seuraamaan koodausta huomenna perjantaina 20.1.2011, kello 17.00 alkaen. Tapahtuma on tarkoitettu kaikille, olitpa sitten ammattilainen, ohjelmoinnista kiinnostunut tai vain halukas kurkistamaan että mitä koodaus käytännössä on.

Tapahtumaan minut alunperin innosti Ilkka Pirttimaa, joka järjesti viime syksynä vastaavan tapahtuman iOS-ohjelmoinnin ympärillä. Hänen tapahtuma on katsottavissa Bambuserista (huomaa että tapahtuma on useammassa osassa).

Huomenna perjantaina minulla on aiheena NodeJS, jQuery ja Android. Tarkoituksena on siis toteuttaa verkkopalvelu, joka toimii sekä työpöydällä, kännykän selaimessa että kännykkäsovelluksena. Lisätietoja löydät Facebook-tapahtumasta, josta myös lähempänä löytyy linkit itse live-videoon sekä chatiin.

Tervetuloa mukaan kurkistamaan nörtin elämään, oppimaan jotain uutta, ja ehkä myös opettamaan minulle jotain uutta.

Jaa kavereille
  • Facebook
  • Twitthis
  • del.icio.us
  • Digg
  • Reddit
  • Google Bookmarks