Avoimen lähdekoodin ohjelmien käytettävyydestä



Samankaltaiset tiedostot
Lokalisointitestaus. Matti Vuori, 1(17)

Tiimityö Sinulla on yhteisö, käytä sitä!

Case: Avoimen lähdekoodin ohjelmistojen hyödyntäminen Lahdessa

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

Vuorovaikutustyylit. Lähde: Kauppila Vuorovaikutus- ja sosiaaliset taidot. PS-kustannus.

Avoimen lähdekoodin kehitysmallit

Kuinka vammaisen henkilön päätöksentekoa voidaan tukea?

OP-eTraderin käyttöopas

Verkko-opetus arvon yhteistuotannon ympäristönä Ari-Matti Auvinen

Työpaja Osaamisen kehittäminen vertaisverkostossa

SALITE.fi -Verkon pääkäyttäjän ohje

Ensimmäinen ajatus nähdessäni tämän seminaarin aiheen oli, ai minäkö ennustaja? Arealtec Oy Kari Kumpulainen vain toimitusjohtaja

Tukiohjelman vaikutukset irtisanottujen työllistymiseen ja hyvinvointiin

Tarkastustoimen viestintäsuunnitelma

Kohti Kohaa avoimen lähdekoodin kirjastojärjestelmän käyttöönotto

Yhteisöllisen tuotekehyksen avoin verkkolaboratorio. Asta Bäck

TIIMITYÖSKENTELY ( pv )

Q-KULT-työvälineen kokeilu organisaatiokulttuurin arvioinnissa

Osallisuuden pedagogiikka - kohti uudenlaista toimintakulttuuria. Elina Kataja, LTO, KM, Päiväkoti Kuusimäki, Lempäälä

Onnistunut ohjelmistoprojekti


Mobiililaitteiden ja sovellusten tietoturvallisuus mihin tulee kiinnittää huomiota?

Ritaharjun monitoimitalo

SharePoint verkkopalvelualustana

Minäpätevyyden tunnetta kohottamaan!

Tulevaisuuden johtajan osaamisprofiili Pohdintaa erityisesti strategisen johtamisen näkökulmasta

Uusi kirjastolaki mahdollistajana ja edistäjänä: hajakommentteja

Testaajan eettiset periaatteet

JS PARTNERS OY:N VALMENNUKSET

TYYN STRATEGIA PERUSTEHTÄVÄ

Testataanko huomenna?

Sosiaalinen Media organisaation kommunikoinnissa. Jukka Ruponen, IT Arkkitehti, Innovaattori

IPT 2. Syventävä työpaja ( ): Ryhmätöiden tulokset

Tunnistettu ja tunnustettu tapa käynnistää ja käydä rakentavaa yhteiskunnallista keskustelua

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

HRI, Open Ahjo ja Open Helsinki Hack at Home. Avointa kaupunkia rakentamassa Ville Meloni Forum Virium Helsinki

Samalla Puolella? Näkökulmia perheiden jälleenyhdistämiseen lastensuojelussa

Aikuiskoulutuksestako hyötyä työelämässä?

Luottamuksesta osallisuutta nuorille. Eija Raatikainen, KT Twitter:

Valtion henkilöstö ja tulevaisuus. Hallintopolitiikan alivaltiosihteeri Päivi Nerg Valtio Expo

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

Open source uusia mahdollisuuksia operaattoreille

Suomen avoimien tietojärjestelmien keskus COSS ry

Kaveripiiri.fi - Selkokielen käyttäjien tapaamispaikka internetissä

Kotouttamisrahasto. Vuosiohjelma 2009

SUUNNITTELUTAVAN VALINTA SUUNNITTELUPROJEKTIN MÄÄRITYS DI KARI SIRÉN

CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi

Kuukauden kuvat kerhon galleriaan lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen:

Verkostoista voimaa ergonomiaosaamiseen

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

Miksi tulisin aamulla töihin toimistolle?

<e.g. must, essential, conditional>

6AIKA - KESTÄVÄN KAUPUNKIKEHITTÄMISEN ESR- HANKEHAKU Info=laisuus Turku

labs.kirjastot.fi Antti Pakarinen Timo Tuominen

Visma Avendon asennusohje

Lisätyn todellisuuden hankepilotit ja niistä opittua

Osallistumista, kuulemista, vuorovaikutusta..

TOIMIVA YHDISTYS. Yhdistystoiminnan päivittäminen

Tiimivalmennus 6h. Tiimienergian pikaviritys

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Esimiehen opas kehityskeskusteluihin. Irma Meretniemi

Kuka kylää kehittää? Salon seudun malli kyläsuunnitteluun

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Museo 2015 tavoitteet, organisointi ja museoyhteistyö. Elina Anttila

Mitä prosessissa kehitetään. Prosessin kehittäminen. Kehittämisen tavoitteita. Perusasioita kehittämisessä. Pohjana esim. CMM

Yrityskohtaiset LEAN-valmennukset

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Leikki interventiona. Aikuisen kannustava puuttuminen vuorovaikutustaitojen harjaannuttamisessa. Eira Suhonen

Avoin toimintakulttuuri. SotePeda 7/24 Hanna Lahtinen

Kehittämisprosessin vaihemalli. Pirkko Mäkinen Asiantuntija, Työturvallisuuskeskus

Arvioinnilla kohti vaikuttavaa museotoimintaa Työpaja II: Museotyö muutoksessa toiminta puntariin

Itse tekeminen ja yhdessä oppiminen museossa Kokemuksia Avara museo -hankkeesta

Lefkoe Uskomus Prosessin askeleet

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Sopimusten Verkkopankki

Portfolio maahanmuuttajanuorten ohjauksen työvälineenä. Emma Nylund

TYÖKIRJANEN. Saat inspiroivaa henkisen alan koulutusta

XEROXIN TURVATIEDOTE XRX Http-palvelimen haavoittuvuus ESS:ssä/verkko-ohjaimessa saattaa mahdollistaa järjestelmän luvattoman käytön.

Avoin yliopisto-opetus kohti vuotta Mervi Varja

Ryhmätyöskentelyn purku Hankasalmi

Kaupunkiaktivismi-työpaja Kaupunkisuunnittelu Sosiaalinen media Avoin data

Tietoturvan haasteet grideille

Eettiset periaatteet taustaa

Heilurin heilahdusaika (yläkoulun fysiikka) suunnitelma

Tilat ja opetussuunnitelmien perusteet

Alkukartoitus Opiskeluvalmiudet

Työyhteisöjen rajat ja rajattomuudet

1. Lapsi on päähenkilö omassa elämässään

HUIPUT KEHIIN palautelomake

Kuka tekee arjen valinnat? Hyvää ikää kaikille seminaari Seinäjoki autismikuntoutusohjaaja Sanna Laitamaa

Ti Tietoturvan Perusteet : Politiikka

Itsensä johtaminen uudessa työympäristössä uusin työtavoin

Palveluiden henkilökohtaistaminen - Vaihtoehtona henkilökohtainen budjetointi. Vuorovaikutteisen osion koonti Lappeenranta 2.2.

Kun rahat ei riitä, mitä otetaan ja mitä jätetään. Hanna- Riina Aho, Centria- amma3korkeakoulu

JUPINAVIIKOT Palauteraportti Liiketalouden ala. Julkinen Raportti ei sisällä nimi- eikä tunnistetietoja. Alex Vinter. Opiskelijakunta JAMKO

Kuntasektorin kokonaisarkkitehtuuri

24.11 Verkkokonsulttien työpaja. Pohjois-Suomen sosiaalialan osaamiskeskus Kaisa Kostamo-Pääkkö

Transkriptio:

Matti Vuori Avoimen lähdekoodin ohjelmien käytettävyydestä Edistääkö avoimen lähdekoodin käyttö ohjelmien käyttävyyttä vai ei? Siitä on vielä oikeastaan aikaista tehdä diagnoosia, mutta erilaisia käytettävyyttä edistäviä tai haittaavia tekijöitä voidaan tunnistaa. Edistäviä piirteitä näyttäisikin olevan monia. Sisällysluettelo Johdanto... 2 Avoimen kehittämisen positiiviset kierteet... 3 Käytettävyyttä edistäviä tekijöitä... 4 Käytettävyydelle haitallisia tekijöitä... 5 Sitten ne muut avointen ohjelmistojen tyypit... 6 Johtopäätökset... 6 1 (6)

Johdanto Mitä se avoin lähdekoodi tarkoittaa? Ks. Wikipedian artikkeli Avoin lähdekoodi: http://fi.wikipedia.org/wiki/avoin_l%c3%a4hdekoodi Avoimen lähdekoodin ohjelmia on monenlaisia. Tässä tekstissä rajoitutaan stereotyyppisiin palvelinpohjaisiin tietojärjestelmätuotteisiin, joilla on laajahko kansainvälinen kehittäjäyhteisö ja myös käyttäjiä eri maissa (ensimmäisen sivun kuvassa oleva Drupal on hyvin tunnettu esimerkki sellaisesta). Kuva 1. Drupal on menestyksekäs avoin sisällönhallintaohjelma. Niillä on ollut hieman huono maine johtuen ensimmäisten ohjelmistosukupolvien luontaisesta kotikutoisuudesta. Nyt ohjelmistot ja tavat kehittää niitä ovat uudistuneet ja on aika esittää kysymys edistääkö avoimen lähdekoodin käyttö ohjelmien käyttävyyttä vai ei ilman, että siihen on päivänselviä vastauksia. Tässä tekstissä ei tehdä mitään tilastollista tai muutakaan kattavaa analyysiä asiasta, vaan esitellään erilaisia käytettävyyttä edistäviä ja haittaavia tekijöitä. Kyse ei ole käyttöliittymien piirteistä, vaan asioista, jotka: Lisäävät motivaatiota. Auttavat ihmisiä tekemään hyviä valintoja. Edistävät hedelmällistä vuorovaikutusta ja viestintää. Edistävät kehittäjien oppimista. Nostavat vaatimustasoa. Edistävät tarjolla olevien valmiiden ratkaisujen hyödyntämistä. Saavat aikaan hyvien asioiden vakiintumista, mutta toisaalta tukevat uudistumista. Edistävät hyvän käytettävyyden aikaansaamista tehokkaalla ja tyydytystä tuottavalla tavalla. Jne Yhteisöjen ja käytettävyysihmisten tehtävä on sitten tukea hyviä asioita ja toisaalta pyrkiä poistamaan heikkouksia. 2 (6)

Avoimen kehittämisen positiiviset kierteet Kehittäjän oma tarve Yhteisön ja muiden tuntema tarve Motivaatio Olemassaolevan ohjelman piirteet Kannustus (palaute) Mahdollisuudet Käyttäjien ja yhteisön palaute Toteutus Kuva 2. Kehittäjien positiivinen kierre Hyvien asioiden toteutuksia Toivo, kannustin Odotustason nousu Mahdollisuus ja foorumit esittää uusia ehdotuksia Uudet positiiviset kokemukset Ehdotusten toteutus Kuva 3. Yhteisön positiivinen kierre 3 (6)

Käytettävyyttä edistäviä tekijöitä Tavoitteet ja prioriteetit Ihmiset tekevät välineitä itselleen toimintoja toteutetaan todelliseen tarpeeseen. Tällöin on motivaatio toteuttaa toiminnot siten, että ne oikeasti toimivat hyvin. Suljettuja ohjelmistoja kehitettäessä tuotetaan varallisuutta yrityksen omistajille se ei ole kovin innostavaa. Ei tarvetta rajoittaa tai rampauttaa ohjelmaa kaupallisisista syistä. Kaupallisia ohjelmia pitää usein sovittaa tiettyyn markkinapositioon, jos valmistaja myy useaa erilaista konfiguraatiota tuoteperheenä. Kehittäjät suosivat hyvää toimintaa enemmän kuin estetiikkaa. Ei ole esimerkiksi vaaraa kelvottomista ikoniriveistä, joista ei saa selvää mikä tekee mitäkin (perinteinen ongelma perinteisissä GUIkäyttöliittymissä). Tavoitteena ei ole tehdä kauppaa, vaan toteuttaa hyvä ohjelma! Ei ole vaaraa, että tuotetta muutetaan turhaan tai sille tehdään huonontavia imagopäivityksiä. Laajeneva liiketoimintakriittinen käyttö nostaa vaatimuksia ja laatutasoa. Ja vaatimuksista kuullaan koko ajan. Niistä keskustellaan foorumeilla eikä tieto jää tuotepäälliköille tai myyjille. Kaikki tietävät, missä mennään ja nostavat profiiliaan. Prosessit Kehittäjillä on aikaa eri tavalla kuin suljetuilla ohjelmilla. Ei ole asiakkaan päättämiä deadlineja parin viikon päässä, vaan työt voidaan tehdä hyvin. Aikataulupaineet yhdessä heikon muutoksenhallinnan kanssa tuottavat aina huonoja ratkaisuja. Avoimen lähdekoodin ohjelmaa voidaan parantaa myöhemmin miten monta kertaa tahansa, eikä parannus tarvitse budjettia tai projektia vain sen, että joku tekee sen ja saa myytyä muutoksen asioista päättäville (päätöksenteon organisointi vaihtelee projekteissa hyvin paljon). Käyttäjien ehdotuksia voidaan ottaa vastaan ja käsitellä avoimesti. Monilla suljetuilla ohjelmilla suljetaan tietoisesti korvat käyttäjien impulsseiltä, koska on vaarana joutua antamaan korvauksia ehdotusten hyödyntömisestä. Räätälöidyillä ohjelmilla taas silmät ja korvat suljetaan budjettisyistä. Ohjelmistokehitys on aina oppimisprosessi. Kehittäjäyhteisön oppiminen edellyttää asioiden käsittelyä, dialogia, avoimuutta. Avointen ohjelmistojen sähköiset kehittämisfoorumit ovat tässä omiaan. Suljetuilla ohjelmilla ei perinteisesti ole tällaista yhteistä oppimisfoorumia, vaikka siihen on toki muita keinoja. Käyttöliittymien parhaat käytännöt Avoimessa kulttuurissa muiden avointen ohjelmien parhaiden piirteiden kopiointi on hyve (eikä muodosta oikeusjutun riskiä). Kehittäjät voivat oppia tutustumalla muihin ohjelmiin suljetuilla ohjelmilla tämä on vaikeaa. Mikä tahansa ohjelma voidaan asentaa palvelimelle tai vaikka omalle läppärille ja sen toimintaan ja käyttöön voi rauhassa perehtyä. Yhteisöllisyys Yhteisön suora ja julkinen palaute foorumeilla tai sähköpostilistoilla suljettujen neuvotteluhuoneiden sijaan. Parhaimmillaan syntyy asioita edistävää parviälyä. Kehittäjäyhteisön sisäinen vuorovaikutus ja dialogi. Suljetun ohjelmiston kehittäjät toimivat tiukoissa rooleissa ja voi olla, että tiimit eivät saa olla toistensa kanssa vuorovaikutuksessa lainkaan. Suljettuja ohjelmia kehitetään 2000-luvun yksilöllisessä organisaatiokulttuurissa, jossa ammattilaiset pyrkivät pimittämään tietojaan muilta edistääkseen omaa menestystään. Avoimia ohjelmia sen sijaan kehitetään kulttuurissa, jossa avoimuus on yhteisössä menestymisen avain. Käyttäjien avoin vuorovaikutus kehittäjien kanssa. Tämä on suljetuilla ohjelmilla äärimmäisen harvinaista. Käyttäjien sijaan toimitaan niiden edustajien tai kaikkitietävän tuotepäällikön kanssa. 4 (6)

Avoimuus ja räätälöitävyys Avoimen ohjelmiston täysi avoimuus räätälöinnille. Ohjelmissa voidaan käyttää edistyneitä avoimen lähdekoodin kirjastoja (esim. Ajax-kirjastot), joiden käytölle on esteitä suljetuissa ohjelmistoissa. Konfiguroitavuus on yleensä hyvä. Esimerkiksi Drupal-ohjelmassa voi sisältöjä kirjoittaa käyttäen erilaisia merkkaustapoja, joita voi kuka tahansa tehdä lisää tarpeen mukaan. Suljetuissa ohjelmissa olisi aina valittu paras merkkaustapa. Drupalin ratkaisu mahdollistaa sen, että ohjelman installaatioon voidaan valita käyttäjien tarpeiden ja osaamisen mukaan jokin HTML- tai Wiki-tyylinen merkkaustapa. Kielenä on usein PHP, jolla on muita kieliä helpompi tehdä räätälöintejä ei tarvitse esim. luoda erilaisia käännösympäristöjä, koska PHP on tulkattava kieli. Lokalisointi-arkkitehtuuri tukee räätälöintiä. Lokalisoinnin helppouteen panostetaan näissä ohjelmissa koko ajan enemmän, koska kansainvälistäminen on niiden elinehto. Hajautettua kehittämistä tukeva moduuliarkkitehtuuri mahdollistaa toimintojen laajentamisen ja toisaalta ohjelmiston konfiguraation keventämisen, mikä selkeyttää ylläpitoa ja nopeuttaa sen toimintaa. Teknologiavalinnat Ohjelmissa käytetään tuttuja teknologioita, joiden toimivuudesta on varmuus ja joille on työkaluja. Tämän johdosta myös käyttäjille tulee vähemmän yllätyksiä. On vähemmän vaaraa, että mukaan tulee jokin kolmikirjaiminen käyttöliittymätekniikka, joka onkin sitten kömpelö ja hidas. Ohjelmat tehdään selain-, palvelin- ja käyttöjärjestelmäriippumattomiksi. Käyttäjäkokemus on tällöin stabiili eikä esimerkiksi tarvitse vaihtaa selainta vain sovelluksen käyttämiseksi. Ohjelmiston arvioitavuus Asiakas voi vapaasti arvioida ohjelmistoa ennen sen mahdollista hankintaa. Kokeiluasennuksille ei ole mitään rajoitteita. Voidaan tarvittaessa tehdä hyvät analysoinnit ja vaikka testausta ja niiden perusteella hyvät suunnitelmat räätälöinnille ja käyttöönotolle. Suljetuilla ohjelmistoilla on aina suuria rajoituksia niiden kokeilukäytölle. Käytettävyydelle haitallisia tekijöitä Tavoitteet ja prioriteetit Yleensä ei ole käytettävyystavoitteita (eikä välttämättä muitakaan tavoitteita), vaan ohjelmat kehittyvät orgaanisesti. Kehittäjät tekevät usein ohjelmia itselleen tämä mainittiin etuna, mutta se on myös haitta, koska silloin on sokea ratkaisujen puutteille ja se, mikä sopii ohjelman perinpohjin tuntevalle ohjelmoijalle ei sovi kaikille muille. Ohjelmien suunnitteluratkaisut Ohjelmien toimintojen määrä on suuri ja kasvaa koko ajan (tätä onneksi hallitaan usein konfiguraation räärälöinnillä). Monet avoimet ohjelmat elävät vielä nörttikulttuuria ja esim. niiden konfigurointi tapahtuu tiedostoja editoimalla ja on siis kovin hankalaa. Ja tämä hankaluus heijastuu ohjelman asennuksen räätälöinnin kautta käyttäjille. Prosessit Ei yleensä kunnollista konseptisuunnittelua, vaan ohjelmat kasvavat orgaanisesti ja perusasioita on vaikea muuttaa myöhemmin. Graafinen suunnittelu saattaa olla heikkoa, koska projekteissa ei aina ole graafikkoja. Ei systemaattista käytettävyyden analysointia tai testausta. Yhteisödynamiikka ei välttämättä tue parhaita ratkaisuja. 5 (6)

Sitten ne muut avointen ohjelmistojen tyypit Muistutuksena siitä, että avoimia ohjelmistoja on monenlaisia. Seuraavilla tyypeillä on paljon huonompi ennuste: Hätäisesti useasta avoimesta ohjelmista integroidut kokonaisuudet. Valmistaja tekee oman käyttöliittymän liian pienin panostuksin. Mukana ei ole yhteisöä. Päivänperhot, jotka eivät kestä aikaa, vaan jäävät versioon 0.1. Aina kannattaakin katsella avointa ohjelmistoa ja sen kypsymistä, ennen kuin harkitseekaan sen käyttöä tai muuta hyödyntämistä tai sen yhteisöön osallistumista. Kaksoislisensoidut ohjelmat. Niiden avoin versio voi olla kovin rajoittunut. Jne Suurten toimijoiden projektit, kuten OpenOffice muistuttavat toisaalta enemmän suljettuja ohjelmistoja. Johtopäätökset Jo mittanauha kertoo, että avoimen lähdekoodin ohjelmilla on paljon potentiaalia hyvälle käytettävyydelle. Mutta on myös sudenkuoppia, joita pitää torjua. Ai niin, ja paras uutinen on se, että edelläkuvatut asiat pätevät pitkälti (eivät siis täysin) myös muihin ohjelmistojen piirteisiin. 6 (6)