Parempia ohjelmistoja tarkoituksenmukaisella ohjelmoinnilla

Ohjelmistojen kanssa säätäminen on tuttua jokaiselle, joka tietokonetta käyttää – ja nykyisellään saman kokemuksen saa jo mobiilistikin. Tekstinkäsittely kaatuu, tyylit eivät osu kohdilleen, pdf-dokumentit jumittavat koko koneen, virheilmoituksista ei ota mitään tolkkua, virustarkistus vetää ruudun siniseksi. On laskettu, että ohjelmistomokien aiheuttamat kustannukset vuodessa ovat liki 60 miljardin dollarin luokkaa, mikä on ihan tolkuton luku. 60 miljardia dollaria. Ja miksi? Siksi, että loppukäyttäjät on jätetty yhtälöstä pois, kertoo tämänpäiväinen New York Timesin artikkeli:

“The reasons aren’t hard to divine. Programmers don’t know what a computer user wants because they spend their days interacting with machines. They hunch over keyboards, pecking out individual lines of code in esoteric programming languages, like medieval monks laboring over illustrated manuscripts. Worse, programs today contain millions of lines of code, and programmers are fallible like all other humans: there are, on average, 100 to 150 bugs per 1,000 lines of code, according to a 1994 study by the Software Engineering Institute at Carnegie Mellon University. No wonder so much software is so bad: programmers are drowning in ignorance, complexity and error.”

Koska ohjelmistojakin tekevät ihmiset ihmisille, olisi siis syytä kiinnittää huomiota myös niihin, jotka ohjelmia lopulta käyttävät. Yksi tapa, jolla koodarit voisivat ottaa loppukäyttäjät huomioon on intentional programming, jolle en löytänyt järkevää suomennosta, mutta josta joku alan ihminen varmasti osaisi kertoa tarkemminkin.

“[...] in which programmers would talk to machines as little as possible. Instead, they would concentrate on capturing the intentions of computer users.

The method begins with the intentions of the people inside an organization who know what a program should do. Mr. Simonyi [ohjelmointitavan keksijä] calls these people ‘domain experts’, and he expects them to work with programmers to list all the concepts the software must possess.

The concepts are then translated into a higher-level representation of the software’s functions called the domain code, using a tool called the domain workbench. [...] Using the workbench, domain experts and programmers can imagine the program however they want: as something akin to a PowerPoint presentation, as a flow chart, as a sketch of what they want the actual user screen to look like, or in the formal logic that computer scientists love.

Thus, programmers and domain experts can fiddle with whatever projections they prefer, editing and re-editing until both parties are happy. Only then is the resulting domain code fed to another program called a generator that manufactures the actual target code that a computer can compile and run. If the software still doesn’t do what its users want, the programmers can blithely discard the target code and resume working on the domain workbench with the domain experts.”

Mutta onko hyvä käytettävyys pelkästään käyttäjästä ja koodarista kiinni?

Jos joku tietää aiheesta lisää, niin otan mielelläni selkokieliset linkkivinkit vastaan.

Kaunis, muttei käytettävä

tuunattu digiboksiUudessa V-lehdessä julkistetaan Tuunaa digiboksi -kisan tulokset, jossa TaiKin toisen vuosikurssin graafikko-opiskelijat virittivät boksit uuteen uskoon. Monesti tuotteen sykähdyttävä ulkoasu saa antamaan anteeksi käytössä ilmenevät pienet ongelmat, mutta sen perusteella mitä olen digibokseista kuullut (omakohtaisen kokemuksen vielä puuttuessa), arvelen, etteivät tässä pelkät kivat ruusukuoret riitä.

(Kuvassa Sanna Taskisen Ruusu-unelma, joka ei voittanut kisaa.)