17. apr. 2007

Valþversögnin: Færri möguleikar leiða til betri forrita og meiri skilvirkni

Ég rakst nýlega á mjög skemmtilega grein um hvers vegna fleiri valmöguleikar leiða ekki endilega til betri forrita. Joel Spolsky (Joel on Software) velti því fyrir sér í þessari grein hvers vegna hægt sé að slökkva á Windows Vista á svo marga vegu sem raun ber vitni og hvort það sé raunverulega gagnlegt.

Ég hef lengi verið þeirrar skoðunar að forrit eiga að vera eins einföld og mögulegt er. Þau eiga fremur að gera fáa hluti á hnitmiðaðan og einfaldan hátt heldur en að vera flókin og gera margt illa.

Reyndar á öll tækni að vera hnitmiðuð og einföld. Því miður er það oft svo að frekar en að gera hlutina einfaldari og auðveldari þá er hlaðið inn nýjum möguleikum til að hafa "feature" listann lengri en í síðustu útgáfu eða lengri en hjá keppinautunum. Farsímar finnst mér vera besta dæmið um tækni sem er komin út í öfgar. Allir kvarta yfir því hvað nýir símar eru flóknir en samt velur fólk sér nýja síma eftir því hvað "feature" listinn er langur.

Reynsla mín kemur fyrst og fremst frá hönnun öryggisforrita. Það hefur enginn gaman af því að vinna í vírusvörninni sinni eða fikta í eldveggnum. Öryggisforrit eiga að vera "install and forget it", það eiga ekki að vera neinar stillingar. Tölvunotendur hafa almennt ekkert vit á öryggismálum og vilja ekki þurfa að verða sér úti um þá vitneskju. Þess vegna kaupa þeir vírusvarnir og eldveggi og ætlast til þess að þessi forrit og þeir sem búa þau til viti hvað eigi að gera. En ef það eru einhverjar stillingar í öryggisforritum þá er verið að biðja notandann um að hafa vit á tölvuöryggismálum. Ef öryggisforrit er með örugg sjálfgildi/hegðun sem notandinn ætti helst ekki að breyta og sem hann hefur líklega ekki þekkingu til að breyta, hvers vegna þá yfirleitt að bjóða upp á stillingar?

Ég tel að þetta sjónarmið, að tækni eigi að vera hnitmiðuð og einföld, eigi við allar tegundir forrita, ekki einungis öryggisforrit. Ég hef t.d. skrifað um leit mín að einfaldri klukku sem gæti sýnt bæði dagsetningu og tíma, sem tók um 5 mánuði því öll forritin sem ég fann voru ofhlaðin af annarri virkni. Þetta á við mjög mörg tól, höfundar þeirra setja oft inn alltof mikið af möguleikum.

En hvað aðrar tegundir af forritum, eins og skrifstofuhugbúnað og leiki?

Rannsóknir hafa sýnt það að flestir nota ekki nema brot af því sem hugbúnaður eins og Microsoft Word og Excel bjóða upp á. Enda er helsta breytingin sem Microsoft gerði í Office 2007 sú að reyna að einfalda forritin og auðvelda aðgang að möguleikunum, en ekki bæta við möguleikum.

Maður gæti ætlað að leikir væri sú tegund forrita þar sem helst ætti að bæta við endalausum möguleikum. Það er e.t.v. að vissu leyti rétt, en þó verður að skoða það að of mikið efni getur orðið til þess að draga athyglina frá aðalsöguþræðinum. Auk þess er dýrt að framleiða leikjaefni (t.d. fleiri og stærri borð). Það er ekki hagkvæmt að hver leikmaður noti einungis 10% af innihaldi leiksins, það þarf að vera nær 90% (og helst þannig að allir leikmenn noti 90% af efninu og 90% af efninu sé notað af leikmönnum). Netleikir eiga svo við annað vandamál að stríða, að eftir því sem fleiri möguleikum er bætt við til að halda athygli núverandi leikmanna þá verður hann flóknari og óaðgengilegri fyrir nýja, óreynda leikmenn.

En hvers vegna er þetta svona? Hvers vegna er svona erfitt að selja einfaldleika? Hvernig verður tækni of flókin? Oftast er það notendum (og markaðsdeildinni) að kenna að of mörgum möguleikum er bætt við en svo geta hlutir líka farið illilega úr böndunum í hönnunar- og þróunarferlinu.

Í svargrein Arno Gourdol við grein Joels (sem þessi pistill hófst á) þá segir Arno frá því hvernig þurfti að berjast fyrir einfaldleika hjá Apple. Svo kom önnur grein frá Joel í framhaldi af svargrein frá Moishe Lettvin, sem er fyrrverandi starfsmaður Microsoft og vann í teyminu sem hannaði og forritaði ræsivalmyndina í Windows Vista. Moishe skrifaði aðra grein degi seinna til að útskýra að það var kerfið og ferlarnir hjá Microsoft, ekki fólkið, sem varð til þess að hlutirnir fóru svona úr böndunum og benti svo á grein eftir vinnufélaga sinn hjá Google um hvernig eigi að gera hlutina. Þessar greinar eru stórskemmtileg lesning og lærdómur fyrir þá sem vilja búa til einföld forrit og stefna að skilvirkum vinnubrögðum.

1 ummæli:

Baldur sagði...

Svo má líka alltaf kíkja á The Paradox of Choice: Why Less is More sem ætti að vera skyldulesning allra þeirra sem hanna viðmót, þó svo að hún sé ekki beinlínis um viðmótshönnun.

Svo eru líka nokkrir góðir kaflar um einfaldleika í About Face 2.0 (segir t.d. á bls. 119: "No matter how cool your interface is, less of it would be better.").