A gépek kiszámíthatóak (már amelyik hibátlanul működik), az emberek nem (már amelyik hibátlanul működik...).
Ez a különbség számtalan komplikáció forrása.
(A türelmetlenek kedvéért: a konklúzió nem az lesz, hogy az embereknek kiszámíthatóaknak kellene lennie, és nem is az, hogy a gépeknek kiszámíthatatlannak kellene lennie.)
A gépekkel alapvetően két féle ember van kapcsolatban: akik készítik, és akik használják őket.
A gépek (beleértve a szoftvereket, weboldalakat, de bizonyos értelemben még az emberek által működtetett, de személytelen folyamatokat is) kiszámíthatóak, vagyis - feltéve, hogy rendesen megcsinálták és kitesztelték őket - ugyanarra az akcióra konzekvensen ugyanazt a reakciót fogják produkálni.
Pl egy adatbázis lekérdező interface konzekvensen hibajelzés ad, ha a felhasználó a dátum megadásakor a napok után is pontot tesz (persze a hibajelzés nem azt mondja, hogy ne tegyél pontot a napok után...).
A programozó miért nem veszi észre, hogy ez így NEM jó?
Valószínűleg a gépek kiszámíthatósága vezeti félre.
Az emberek közül vannak, akik tudják, hogy a napok után nem szabad pontot tenni, mások nem. A programozó valószínűleg több olyan emberrel találkozik, aki tudja. És ha az emberek ugyanolyan kiszámíthatóak lennének, mint a gépek, jogosan vetíthetné ki a tapasztalatait az ÖSSZES emberre.
A programozó szempontjából azok a felhasználók, akik nem tudják, hogy nem szabad pontot tenni, a STIPID userek, aka lamerek.
A megoldás?
Bár az emberek egyesével kiszámíthatatlanok, a viselkedésük statisztikailag általában mégis leírható.
Azokat a butaságokat, amelyeket a felhaszhálóknak elhanyagolható töredéke követ el, tényleg nem kell figyelembe venni. De az a viselkedés, amit már nem elhanyagolható kisebbség, vagy akár a többség követ, természetes, és a rendszernek kezelnie kell.
Az emberi viselkedést ignorálni könnyű. Emberi interface-eket tervezni nehéz. De amíg van, aki megteszi, azok, akik nem veszik rá a fáradságot, előbb-utóbb elbuknak.