Miksi kaikki osaavat ajaa autolla, mutta niin monelle tuottaa vaikeuksia käyttää tietokonetta? Entä miksi tietokonetta käytettäessä erilaiset (käyttäjästä riippumattomat) virhetilanteet ovat arkipäivää, mutta autot tuntuvat toimivan moitteetta ainakin niin kauan kun niitä käyttää säännöllisesti huollossa? Autovertaus ei ole ehkä kaikkein sopivin, mutta se pistää miettimään. Onko vika käyttäjissä vai tietokoneissa? Väitän, että vika on ensisijaisesti tietokoneissa.
Ongelman laajuuden ymmärtämiseksi on aluksi avarrettava hieman perspektiiviä. Ensinnäkin, tietokoneet ovat erittäin monimutkaisia laitteita. Tietokoneen sisuksista löytyy valtavasti erilaisia monimutkaisia järjestelmiä, jotka yhdessä lopulta muodostavat käyttäjän havaitseman, erilaisten hallintalaitteiden (kuten hiiren ja näppäimistön) avulla toimivan koneen.
Monimutkaisuus ei yksin riitä syyksi sille, että käyttäjä joutuu lähes päivittäin painimaan tietokoneen kanssa usein turhauttavien ja täysin käsittämättömiltä tuntuvien ongelmien kanssa. Todistaakseen hulluutensa, amerikkalaiset lähettivät lajitovereitaan jo pari vuosikymmentä sitten maata kiertävälle radalle, ja kuuhunkin asti, eivätkä nekään järjestelmät (joitain tietokonevikoja lukuunottamatta) pettäneet. Tästä pääsemme aasinsillalla tietokonemaailman toiseen yleispiirteeseen: heterogeenisyyteen.
Nykyaikaiset tietokoneet on tarkoitettu toimimaan mitä erilaisimpien laitteiden ja ohjelmistojen kanssa samanaikaisesti. Tavalliseen kotitietokoneeseen on asennettuna (vaikka käyttäjä ei sitä tietäisikään) satoja erilaisia - pieniä ja suuria - ohjelmia. Jos kone on kytkettynä Internetiin, sen on osattava kommunikoida myös kymmenien erilaisten laitteiden kautta käyttäen ennalta sovittuja sääntöjä, yhteistä kieltä. Eli tähän mennessä tarkasteltu tilanne on suurinpiirtein se, että erilaiset elektoniset ja sähkömekaaniset laitteet (tietokoneen sisuskalut) juttelevat mitä erilaisimpien ohjelmistojen ja ohjelmakomponenttien (käytössä olevat ohjelmat) kanssa, jotka puolestaan ohjaavat toisenlaisia laitteita (tietokoneen oheislaitteet, kuten näytöt, tulostimet, modeemit ja verkkokortit), jotka myös toimivat elektroniikan ja/tai sähkömekaanisten osien avulla. Ja ettei homma kävisi turhan helpoksi, nämä kokonaisuudet halutaan usein yhdistää verkkoihin, joissa voi olla kymmeniä tai jopa tuhansia järjestelmiä (yksittäisiä tietokoneita tai kokonaisia verkkoja) samanaikaisesti. Joko heruu sympatiaa alan ammattilaisia kohtaan? Ei kannata pehmentyä ihan vielä.
Yllä kuvatun painajaisen hallitsemiseksi tietokoneen eri maailmat yhdistyvät toisiinsa yleensä hyvin monimutkaisilla säännöstöillä, eli rajapinnoilla ja standardeilla, joiden idea on taata ohjelmistojen ja laitteistojen tekijöille se, että näiden ei tarvitse tietää toisten maailmasta sen enempää kuin mitä ohjepaperi kertoo. Periaatteessa.
Standardit ovat hieno asia, mutta kuten kaikki asiat tässä maailmassa, myös tietokoneala muuttuu ja kehittyy jatkuvasti. Tästä aiheutuu paine muuttaa standardeja tai toteuttaa asioita niiden vastaisesti. Tehdä siis jotain sellaista, mikä ainakin tässä ja nyt vaikuttaisi toimivan, mutta mistä ei ole yhteisesti kaikkien alalla toimijoiden kanssa sovittu. Tietysti on olemassa myös niitä, jotka haluavat toteuttaa uuden ideansa omalla tavallaan siksi, että siitä mahdollisesti jälkeenpäin tehtäisi standardi ja sitä hyödyntävät rojaltirahat kilahtaisivat oman kassalippaan pohjalle. Eletään siis jatkuvassa varustelukilvassa. Ja mikä on käyttäjän rooli tässä näkökulmassa? Onko käyttäjä iloinen keksinnön hyödyntäjä? Ei. Hän on koekaniini, joka kokeilee keksinnön toimivuutta käytännössä. Hän on juurikin se suivaantunut asiakas, joka kotiin päästyään huomaa, ettei tietokoneen uusi lisäkortti jostain syystä toimikaan juuri tämän laitteiston kanssa.
Tarkennanpa tässä vaiheessa hieman alkuperäistä väittämääni: vika ei tarkkaanottaen ole tietokoneissa, vaan niiden suunnittelijoissa. Itseasiassa, jos tarkkoja ollaan, suunnittelijatkin ovat varmasti (ainakin suurimmaksi osaksi) oikein päteviä, mutta ohjelmistoalan kulttuuri ja ajan mittaan vakiintuneet käytännöt ovat syypäitä siihen, että jokapäiväisissä askareissamme käyttämämme koneet toimivat käsittämättömän huonosti.
Vasta hiljattain ovat käyttäjät alkaneet ymmärtää, että on todellakin mahdollista suunnitella tietokoneita ja ohjelmistoja myös niin, että ne toimivat luotettavasti, ja että niitä on helppo käyttää. Steve Jobs mullisti tietokonemarkkinat vuonna 1984 julkaisemalla tietokoneen, joka oli silloisessa mittakaavassa "insanely great". Ohjelmistoalaa jo pitkään seuranneena kaipaan tuota perfektionismia. Olen kyllästynyt käyttämään puolivalmiita ja melko hyvin toimivia laitteita. Tahdon toimivan ja helppokäyttöisen, järjettömän hyvän tietokoneen!
lähdetäänpä vaikka siitä että luin muutaman rivin ja siihen se sitten jäikin..eihän tuota nyt erkkikä ois jaksanu loppuun lukea!!!
mäcciä yli 10 vuotta käyttäneenä en voi muuta todeta kuin että järjettömän hyvin ovat systeemit tähän asti pelanneet. toiseen en vaihda! :)
ihmetyttää aina välillä, miksi pc-puolella (jotkin) asiat ovat hoidettu niinkin epäloogisesti ja -käytännöllisesti. aiheuttaa vaan ylimääräistä hommaa käyttäjälle.