Viznutin blogissa pohdiskeltiin laajamittaisesti nykyaikaisen digitaalikulttuurin ongelmia.
Oma kommenttini aiheeseen uhkasi paisua eeppisiin mittoihin, joten julkaisen kirjoitukseni tässä. Intron jälkeen lähdetään täyteen juoksuun, joten alkuperäinen kannattaa lukea. Tätäkin voi harkita.
Digitaalitekniikan kehitys on jo yli puolen vuosisadan ajan noudattanut ns. Mooren lakia, joka ennustaa, että mikropiirille mahtuvien transistorien määrä tuplaantuu noin kahden vuoden välein.
Sivuhuomautuksena todettakoon, että Moore puhui alunperin vuodesta. Vaan kyllähän hyvääkin lakia pitää välillä korjata.
Bloatista olen sinällään samaa mieltä, samoin kuin sen tuottamista, tarpeettomista ohjelmistovirheistä.
Ennen vanhaan pesukoneet ja televisiot ostettiin kahdeksikymmeneksi vuodeksi eteenpäin, mutta nykyään samassa ajassa "pääsee" hankkimaan ainakin neljä kappaletta kumpiakin.
Kaiken uhallakin kysyisin kuitenkin tähän tueksi tilastoja. On toki mukava fiilistellä vanhojen hyvien aikojen ikuisuuksia kestäneillä laitteilla, mutta väittäisin, että siinä aika pitkälti aika kultaa muistot.
Kuinkakohan moni 50-luvun televisio oli oikeasti käytössä 70-luvulla? 60-luvun pyykkikone 80-luvulla?
Kannattaa muistaa, että laitteiden määrä nykyään on aika paljon menneitä aikoja suurempi. Televisioita oli 50-luvulla noin yksi kylässä, 80-luvulla ehkä yksi taloudessa, nykyään alkaa olla yksi huoneessa.
Samaan aikaan myös ihmisten välinen tiedonvälitys on mullistunut. 1950-luvulla puhelin oli ehkä joka kolmannessa tuvassa ja virallinen totuus löytyi sanomalehdestä ja Ylen uutisista. 2000-luvulla suurehko osa kansasta kohisee verkossa. Niin kuin tuttua on, ihmiset puhuvat kärkkäämmin negatiivisista asioista - ja myös muistavat ne paremmin.
Laitetiheyden takia siis todennäköisyys sille, että viallinen yksilö osuu omalle kohdalle tai tuttavapiiriin on suurempi kuin aiemmin. Toisaalta viestinnän takia on huomattavasti aiempaa todennäköisempää, että niistä hajonneista toosista kuulee myös vähän kauempaa.
On toki mahdollista, että laitteet ihan oikeasti hajoavat useammin, mutta toisaalta monella alalla valmistusmateriaalit, -tekniikka ja myös laadunvalvonta ovat ottaneet harppauksen tai pari menneinä vuosikymmeninä.
Todettakoon, että sekä laitteiden yleistymistä että kommunikaation lisääntymistä voi kritisoida, molempia jopa varsin hyvillä perusteilla.
Ohjelmaan voidaan piilottaa esimerkiksi ajastin, joka hieman takuuajan umpeutumisen jälkeen estää laitteen toimimisen kokonaan tai saa sen oikuttelemaan.
Alkuperäisen kirjoituksen kommenteissa kyseltiin näistä esimerkkejä. Mistään kovin merkittävästä en ole kuullut, mutta tulostuskaseteissahan tuosta on käyty oikeuttakin: mikropiireillä on estetty tarvikekasettien käyttöä, mutta sen lisäksi niillä on myös rajoitettu ikää esim. tiettyyn arkkimäärään, riippumatta siitä, kuinka paljon mustetta oikeasti on kulunut.
Vasteaikaongelmat ovat vain yksi esimerkki siitä, kuinka teollisuus haluaa keskittyä mieluummin uusien toimintojen tehtailuun kuin peruskäyttöä häiritsevien ongelmien ratkaisemiseen.
Olen samaa mieltä siitä, että vasteen antaminen käyttäjälle on tarpeellista. Sen sijaan olen eri mieltä siitä, että kyse olisi teollisuuden nimenomaisesta halusta tehdä jotain vastoin käyttäjän etua.
Itse luulen, että monet kehittäjät yksinkertaisesti ovat siinä määrin funktionaalisuuteen keskittyviä ihmisiä, että välittömän vasteen antamisen sijaan mieluummin keskitytään tekemään sitä ohjelman varsinaista käyttötarkoitusta. Prioriteetteja voisi ehkä jossain määrin rukata, siitä lisää hiukan jäljempänä.
Esimerkiksi kaikki suosituimmat uudet nettipalvelut Facebookista Youtubeen ja Spotifyyn olisi täysin mahdollista toteuttaa siten, että ne toimisivat 1990-luvun lopun koneilla ja vieläpä paremmin ja nopeammin kuin nykyisillä.
Sinällään vitsikkäästi muuten Facebookin ja monen muunkin nettisivuston tapauksessa aika iso osa siitä käyttäjän koneeseen kohdistuvasta tehovaatimuksesta tulee juuri tuosta syystä, jonka puutteesta edellisessä kohdassa valitettiin: nykysivustoja monesti rakennetaan hyvinkin dynaamisiksi ja pyritään antamaan käyttäjälle vasteita, ja käytännössä se nykyteknologioilla tarkoittaa esimerkiksi javascriptin tai Flashin/Silverlightin/jonkunmuunminkä käyttöä.
Flashin suorituskyky toki on aika lailla surkuhupaisa, ja selaimien javascript-tulkkeihinkin on kiinnitetty oikeasti huomiota vasta parin viime vuoden ajan. Lopputulos kuitenkin on, että yhtä ongelmaa oiottaessa on törmätty toiseen.
On vaikea edes keksiä mitään yksittäiselle ihmiselle mielekästä tietojenkäsittelytehtävää, joka vaatisi 2000-luvun suorituskykyä pelkän luonteensa vuoksi ilman minkäänlaisia määrällisiä paisutteluja. Tätä voisi hyvin pitää merkkinä siitä, että meillä on jo aivan riittävästi tehoja vähäksi aikaa.
Voi toki pitää, mutta eri asia on, onko sillä mitään totuusarvoa. Jos tyytyy pelaamaan Pongia ja Space Invadersia, 70-luvun tehot riittävät mainiosti. Se ei kuitenkaan tarkoita, etteikö lisäteholle olisi ihan validia käyttöä.
Kuinka moni käyttää nykyään digikameraa 1990-luvun lopulta? Kuinka moni haluaisi käyttää sellaista?
Edistystä on tapahtunut niin käyttöliittymässä (mm. siinä käyttäjälle annettavassa vasteessa) kuin kuvanlaadussakin. Itse veikkaan, että jos digikamerat olisivat kymmenen vuoden takaista tasoa, moni kuskaisi edelleen mukana filmiä. Se voisi toki olla hyväkin asia, mutta valokuvauksen ja digikuvauksen yleistymiseen sillä määrällisellä kehityksellä on ollut kyllä aika ratkaiseva vaikutus.
Jos siirrytään liikkuvaan kuvaan, digitaalinen video ylipäätään on mahdollistanut edes jollakin tasolla järkevän editoinnin myös kotioloissa. Puuhana noin ylipäätään se on aika lailla ehtymätön resurssisyöppö - sekä koneiden että ihmisten. Niinpä niitä kotivideoita ei sitten käytännössä edelleenkään editoida ollenkaan riittävästi.
Esimerkiksi kuvankäsittelyohjelma voisi normaalitilassa muistuttaa yksinkertaista piirto-ohjelmaa, jonka toimintatavan pystyisi sisäistämään täydellisesti pelkän lyhyen koekäytön perusteella. Kaikenlaiset aputoiminnot, automatiikat ja muut erikoisuudet löytyisivät tarvittaessa helposti, ja käyttäjä voisi lisäillä niitä kokonaisuuden jatkeeksi tarpeen mukaan, mutta ne eivät koskaan häiritsisi olemassaolollaan sellaisia käyttäjiä, jotka eivät niitä tarvitsisi,
Käytännössähän tuota yksinkertaistusta on tullut siinä mielessä, että nykyään on tarjolla noita yksinkertaisia ohjelmia, eikä samaa softaa yritetäkään tarjota kaikille käyttäjille.
Tosiasia nimittäin on, että tuo ylläoleva kaunis kuvaus on äärettömän helppo kirjoittaa mutta pirullisen vaikea toteuttaa.
Käyttöliittymä- ja käyttökokemussuunnittelu on peijoonin vaikeaa. Sen suunnitelman toteuttaminen on vielä jonkin verran vaikeampaa. Microsoft on ainakin menneinä vuosina pistänyt pelkästään käyttöliittymien tutkimiseen pienen valtion budjetin verran rahaa vuosittain, ja lopputulokset näkyvät itse kunkin pöydällä.
Tosiasia vaan on, että yleispätevää käyttöliittymää on vaikea tehdä. Kun ominaisuuksien määrä kasvaa, tuo vaikeus lähestyy nopeasti mahdottomuutta.
Muutoin olen kyllä Avuttomuus-otsikon alustasta pitkälti samaa mieltä. Ohjelmien pitäisi olla helpompia. Tämä on jossain määrin tunnistettu myös koulutuksessa, nykyään korkeakouluissakin taitaa tietotekniikan opiskelijoilla olla ainakin jonkin verran pakollisia käyttöliittymopintoja.
Avoimet ohjelmat kuitenkin kärsivät niistä aivan samalla tavoin, ja lisäksi niillä on vielä aivan omat ongelmansa päälle. Syyt tähän löytyvät liikkeen historiasta, jossa on alusta asti mieluummin keskitytty jäljentämään olemassaolevia ohjelmia kuin rakentavasti kyseenalaistamaan vallitsevia suunnitteluperiaatteita.
Itse taas palaisin tässä kyllä tuohon edellä esittämääni teesiin "käyttöliittymäsuunnittelu on peijoonin vaikeaa", ja väittäisin, että avoimen lähdekoodin ohjelmistot ovat siitä lähes poikkeuksetta hyviä esimerkkejä. On sama, yritetäänkö niillä matkia kaupallisia ohjelmia vai tehdä jotain ihan omaa, käyttöliittymät ovat yleisesti ottaen jotain välttävän ja hirvittävän välimaastossa.
Syyt tosiaan löytyvät monesti historiasta - moni softa on rakennettu ratkaisuksi kehittäjiensä ongelmaan, eikä niissä ole välttämättä juuri mietitty yleiskäyttöisyyttä tai käyttöliittymää. Kehitys on ollut hyvin tavoitehakuista: kohdekäyttäjän tarpeet on täytetty, eikä muuta.
Sen jälkeenhän kysymys muuttuukin sitten ideologiseksi: jos softassa on jotain vikaa, ei muuta kuin Emacs käteen ja korjaamaan. Harva korjaa, koska se edellyttää perehtymistä ja oman ajan käyttämistä. Ja jos nyt ihan totta puhutaan, harvalla olisi todellista kompetenssia tehdä vaikkapa siitä käyttöliittymästä kovin paljon parempi; lopputulos olisi todennäköisesti vain vähän erityyppisen käyttäjän henkilökohtaisiin tarpeisiin sorvattu variaatio.
Noin yleisesti ottaen kirjoituksessa on useita oikeinkin hyviä huomioita, mutta se muotoutuu tarpeettomaksi vastakkainasetteluksi pahansuovan teollisuuden ja jonkunlaisen ideologisen utopian välillä.
Markkinavoimat eivät päätä mitään. Niitä päätöksiä tekevät käyttäjät, kehittäjät, jos jonkinlaiset isot ja pienet pomot. Ihan tavalliset ihmiset, joka ikinen päivä.
Ja toisaalta, minkään sortin manifesti ei tee ihmisistä yhtään sen ahkerampia, koodareista taitavampia tai perusjanttereista viisaampia. Korjattavaa riittää kyllä, mutta vikojen ulkoistaminen kasvottomien markkinavoimien syyksi on vain epärehellisyyttä.