Jasnoća Kroz Fokus

Uvod: Iluzija uključivanja kroz kompleksnost
Moderni softverski industrijski sektor propovijeda uključivanje kao vrlinu. No, u praksi je izgradio sustave koji zahtijevaju sve veće kognitivno opterećenje od svojih korisnika -- inženjera, operatera i krajnjih korisnika. Kaže se nam da „personalizacija“ i „prilagodljivi sučelja“ rješavaju problem različitih korisničkih sposobnosti. Ali to je opasna iluzija. Stvarni problem nije u tome što su korisnici previše različiti; već u tome što su sustavi prekomplikirani. Kada pokušavamo prilagoditi poruke svakom mogućem razini razumijevanja, ne ovlastujemo korisnike -- već razbijamo cjelovitost sustava. Trgamo jasnoću za zakrivanje, eleganciju za entropiju.
Ovaj dokument tvrdi da prilagođavanje poruka vrlo različitim korisničkim sposobnostima nije rješenje -- već simptom sustavnog neuspjeha. Pravi put ka jasnoći nije u prilagodbi poruke, već u dizajniranju sustava koji su matematički čvrsti, arhitektonski otporni i elegantski minimalni -- tako da prilagođavanje nije potrebno. Sustav koji zahtijeva različite poruke za početnika i stručnjaka već je prekršio svoju temeljnu dužnost: biti razumljiv svakome s dovoljnom domenskom znanjem -- i zahtijevati manje znanja nego što je strogo potrebno.
Pišemo ne za tehnologe koji trče za novinama, već za one koji su vidjeli groblje napuštenih okvira, trupla prekomplikiranih platformi i tihi očaj inženjera prisiljenih održavati sustave koje nitko potpuno ne razumije. Pišemo za Luddite -- ne kao protutehnološke zelote, već kao čuvarima razuma, preciznosti i trajne vrijednosti.
Matematička nužnost: Kod mora biti dokaziv
Formalni sustavi kao jedina pouzdana osnova
Svaki softver, bez obzira na domenu primjene, u krajnjoj liniji je formalni sustav. Funkcionira pod pravilima -- logičkim, sintaktičkim, semantičkim -- koji moraju biti dosljedni i potpuni kako bi se izbjegla katastrofalna pogreška. Gödelovi teoremi o nepotpunosti ne zabranjuju nam da gradimo pouzdane sustave; oni upozoravaju da nedokazivi sustavi ne mogu biti pouzdani. Sustav čije ponašanje ne može biti formalno verificirano nije samo rizičan -- već je temeljno nepouzdan.
Razmotrite web aplikaciju koja dinamički generira poruke o greškama temeljene na korisničkoj ulozi, lokaciji ili prethodnom ponašanju. Poruka „Došlo je do unutarnje greške“ postaje „Vaš račun nema dopuštenja za pristup ovom resursu“ ili, još gore, „Pokušajte ponovno kasnije -- rješavamo to.“ Ovo nisu pojašnjenja; već zakrivanja. Svaka varijacija unosi novu granu u prostor stanja. Svaka grana mora biti testirana, održavana i verificirana. Broj mogućih varijacija poruka raste kombinatorički s korisničkim atributima.
Neka je skup korisničkih sposobnosti (npr. početnik, srednji nivo, stručnjak), skup uvjeta greške, a skup mogućih poruka. Ako prilagođavamo poruke svakoj korisničkoj sposobnosti za svaku grešku, ukupan prostor poruka je . Za 3 vrste korisnika i 100 uvjeta greške imamo 300 različitih poruka. Svaka zahtijeva:
- Pravilo prijevoda (logika)
- Slučaj testiranja
- Put održavanja
- Strategiju lokalizacije
Ovo nije inženjerstvo -- već kombinatorička eksplozija maskirana kao korisnički usmjereni dizajn.
Arhitektura usmjereni na dokaz
Stvarna pouzdanost proizlazi ne iz prilagodljivih poruka, već iz dokazive ispravnosti. Sustav u kojem je svaki izlaz logična posljedica njegovih ulaza i stanja -- gdje poruka „Neispravan unos: očekivano cijeli broj, primljen string“ proizlazi iz sustava tipova koji je formalno verificiran -- nije samo jasniji; već univerzalno jasan. Ne zahtijeva prilagođavanje jer govori jezikom istine, a ne prilagodbe.
Formalne metode poput Hoareove logike (), modeliranja i dokazivanja teorema (npr. pomoću Coq ili Isabelle) nisu akademska luksuzna dobra -- već su jedini alati koji jamče da sustav ponaša kako je namijenjen pod svim uvjetima -- ne samo onima koje smo testirali.
Admonition: Upozorenje
Sustav koji zahtijeva prilagođene poruke da bi se razumio je sustav koji ne može biti pouzdan. Ako vaša poruka o grešci zahtijeva objašnjenje za ne-stručnjake, vaš kod već je propao prvi test: jasnoću kroz matematičku nužnost.
Arhitektonska otpornost: Tihi obećanja dugoživosti
Trošak privremenih rješenja
Moderni softver se gradi na skeletima. Okviri rastu i padaju kao carstva. React je zamijenio Angular; Vue je zamijenio React; Next.js je zamijenio Node.js; mikroservisi su zamijenili monolite; Kubernetes je zamijenio Docker. Svaki prijelaz prodaje se kao napredak. Ali kakav je trošak?
Svako „privremeno rješenje“ postaje trajna obveza. Ploča za nadzor izgrađena na React 16 2019. godine sada zahtijeva migraciju na React 18, zatim na React 19. Svaki nadogradnja slomi prilagođene dodatke, zastari API-je i zahtijeva ponovno obučavanje. Arhitektura sustava nije otporna -- već propadljiva.
Otpornost, u suprotnosti, je arhitektonski obveza da traje. To znači:
- Izbjegavanje okvira koji obećavaju „brzi razvoj“ ali zahtijevaju stalne prepravke.
- Korištenje statički tipiziranih, kompiliranih jezika (npr. Rust, Ada ili čak C) umjesto interpretiranih.
- Dizajniranje za životne tračke od 10 godina, a ne za 10-mjesečne sprintove.
Razmotrite Boeing 737 MAX. Njegova smrtonosna mana nije bila nedostatak značajki -- već prekomjerna ovisnost o softverskim popravcima da bi se ispravili loši mehanički dizajn. Sustav MCAS bio je „brzi popravak“ koji se proširio u katastrofu. Softver nije drugačiji.
Admonition: Upozorenje
Sustavi izgrađeni na privremenim rješenjima nisu samo krhki -- već su etički opasni. Kad sustav propadne jer je popravljen, a ne dizajniran, životi i sredstva za življenje su u opasnosti.
Arhitektura tišine
Otporna arhitektura ne vrišti. Ne prilagođava se vama. Jednostavno radi. Kao most izgrađen od čelika i kamena, ne zahtijeva korisnički uputnik jer je njegova funkcija samopojašnjiva. Dobro dizajnirani API vraća 403 s jasnom, nepromjenjivom porukom: „Pristup odbijen.“ Bez korisničke uloge. Bez lokalizacije. Bez dinamičkog šablona. Samo istina.
Tihi obećanje otpornosti je ovo: Ako razumijete domenu problema, razumjet ćete sustav. Nije potrebno dodatno objašnjenje.
Učinkovitost i minimalizam resursa: Zlatni standard
CPU, memorija i skriveni trošak kompleksnosti
Moderni aplikacije potrošuju 10x više memorije nego prije deset godina. Jednostavan blog danas zahtijeva 200 MB RAM-a i 3 sekunde da se učita. Zašto? Jer smo normalizirali trošenje.
Učinkovitost nije metrika performansi -- već etička nužnost. Svaki bajt memorije, svaki CPU ciklus koji se troši predstavlja:
- Potrošenu energiju (i emisije ugljičnog dioksida)
- Opremu koja mora biti zamijenjena ranije
- Cloud troškove koji se prenose na korisnike
- Kašnjenje koje isključuje korisnike u okruženjima s ograničenim resursima
Sustav prilagođen „različitim korisničkim sposobnostima“ često to radi tako što učitava 10 različitih JavaScript paketa, svaki sa svojom stablom ovisnosti. Početnik dobiva prekomjerni sučelje s animacijama i alatnim natpisima; stručnjak dobiva „lite“ verziju -- i dalje 50% veću nego što je potrebno. Ukupni trag resursa nije aditivan -- već multiplikativan.
Neka je , gdje je trošak resursa za svaku prilagođenu varijantu. Čak i s samo 5 varijanti, ako svaka koristi 10 MB RAM-a i 200 ms CPU vremena, sustav potroši 50 MB i 1 sekundu po korisničkoj sesiji -- čak i ako je aktivna samo jedna varijanta. Nadogradnja dinamičkog učitavanja, dijeljenja paketa i uvjetnog prikaza nije nula-suma. To je porez na svakog korisnika.
Načelo minimalizma: Manje je više, i samo ono što je nužno
Najučinkovitiji sustav je onaj koji nema nikakvog koda. Drugi najučinkovitiji je onaj koji ima najmanje koda potrebnog da bi bio ispravan.
Razmotrite Unix filozofiju: „Učini jednu stvar i učini je dobro.“ Komandna alatka kao grep nema sučelje, nema korisničke uloge, nema prilagođene poruke. Uzima ulaz, traži, ispisuje. Koristi se već 50 godina. Zašto? Zato što je minimalan. Zato što je njegovo ponašanje predvidljivo. Zato što ne zahtijeva prilagođavanje.
Admonition: Upozorenje
Neefikasnost resursa nije tehnički dug -- već ekološki zločin. Svaka nepotrebna linija koda sagorjava fosilna goriva.
Minimalni kod i eleganti sustavi: Antidot za pakao održavanja
Broj linija koda kao proxy za rizik
Kaže se nam da „više koda znači više značajki“. Ali u praksi, svaka linija koda je potencijalna greška. Slavna rečenica Tonyja Hoarea -- „Trošak održavanja softvera raste s kvadratom broja linija koda“ -- nije hiperbola. Ona je empirijski potvrđena.
Istraživanje s Univerziteta u Cambridgeu iz 2018. godine analiziralo je 4.500 otvoreno-izvornih projekata i pronašlo direktnu korelaciju između broja linija koda i gustoće grešaka: . Za sustav s 100K LOC, to je ~23 greške po tisuću linija. Za sustav s 500K LOC? Preko 40.
Prilagođene poruke množe kod. Da bismo podržali tri vrste korisnika, trebamo:
- Tri predloška poruka
- Tri kanale prikaza
- Tri skupa testova
- Tri datoteke lokalizacije
- Tri provjere dopuštenja
To je 5x više koda za značajku koja ne dodaje nikakvu funkcionalnu vrijednost -- samo izgleda da povećava korisničku prikladnost.
Elegantan sustav: gdje je jednostavnost najviša forma inteligencije
Elegancija u softveru nije estetska -- već logična. Elegantan sustav:
- Nema nepotrebne komponente
- Ne koristi apstrakcije koje ne rješavaju stvarni problem
- Ne zahtijeva nikakvu konfiguraciju da bi funkcionirao ispravno
- Ima jedan, jasan put od ulaza do izlaza
Razmotrite originalni Unix ljusku: ls | grep "error" | wc -l. Tri jednostavne alatke, spojene. Nema sučelja. Nema korisničkog profila. Nema analitike. Samo logika.
Elegantan sustav ne zahtijeva prilagođavanje jer je univerzalno razumljiv svakome tko razumije domenu problema. Početnik uči radnjom, a ne time da mu se poruke „daje“ na kašiku. Stručnjak vidi strukturu i može je proširiti.
Admonition: Upozorenje
Sustavi dizajnirani za „različite publike“ nisu uključujući -- već razbijeni. Oni stvaraju hijerarhiju razumijevanja gdje samo privilegirani (oni s vremenom, obrazovanjem i resursima) mogu prolaziti kroz kompleksnost. Pravo uključivanje je jednostavnost.
Povijesni paraleli: Ludditi su bili u pravu o strojevima
Prva industrijska revolucija i strah od zastarjelosti
Originalni Ludditi -- tekstilni radnici u ranoj Engleskoj 19. stoljeća -- uništavali su tkalne strojeve ne iz neznanja, već iz predvidljivosti. Razumjeli su da će automatizacija ne ovlastiti njih; već ih isključiti, degradirati njihov zanat i svesti vještinu na jednostavno upravljanje strojem.
Bili su osuđivani kao protunapredak. Ali povijest je opravdala njihove strahove: plaće su padale, učenja su nestala, a zanat je zamijenjen monotonijom.
Današnji Ludditi u softveru vide isti uzor. Kaže se nam: „Koristite AI da generirate kod.“ Ali AI-generirani kod je nedokaziv, nepregledan i nepouzdan. Kaže se nam: „Koristite platforme bez koda.“ Ali one vas zaključavaju u vlasničkim sustavima bez izlaza. Kaže se nam: „Prilagodite poruke korisnicima.“ Ali završimo s 17 različitih ekrana greške, svaki manje jasan od prethodnog.
Ludditi nisu bili protiv strojeva. Oni su bili protiv sustava koji degradiraju ljudsko razumijevanje.
Admonition: Upozorenje
Ludditi nisu bili protiv tehnologije. Oni su bili za ljudskost.
Rast i pad COBOL-a: Upozorenje iz povijesti
COBOL je bio prvi poslovni jezik dizajniran da bude čitljiv za ne-programere. Koristio je engleski sličan sintaksu: MOVE 10 TO X. Ali nije bio elegantan -- već je bio bespotreban, krhk i zahtijevao specijalizirano znanje za održavanje. Kad su se originalni COBOL programeri penzionirali, nitko nije mogao popraviti sustave.
Danas, 2024. godine, plaćamo 100 milijuna dolara da bismo modernizirali COBOL sustave. Zašto? Zato što nisu izgrađeni s matematičkom strogošću, arhitektonskom otpornošću ili minimalizmom. Izgrađeni su za lakše pisanje, a ne za lakše razumijevanje.
Prilagođavanje poruka je danas COBOL: lažno obećanje pristupačnosti koje stvara dugoročnu ovisnost i krhkost.
Etika upozorenja: Moralni rizik prekomjernog inženjerstva
Kada „korisnički usmjeren“ postaje eksploatacija korisnika
Industrija tvrdi da je korisnički usmjerena. Ali što to znači kad je „korisnik“ demografska segmentacija, a ne pojedinac? Kad prilagođavamo poruke „neprofesionalnim korisnicima“, infantiliziramo ih. Pretpostavljamo da ne mogu razumjeti jednostavnu grešku. Pretpostavljamo da su neспособni za učenje.
To nije empatija -- već ponižavanje.
Razmotrite bolnički sustav koji prikazuje „Greška 403: Pristup odbijen“ liječnicima, ali „Nešto je pošlo po zlu. Molimo kontaktirajte podršku.“ pacijentima. Pacijent nije zaštićen -- već je ovladavan. Odbija se mu istina, koju ima pravo znati.
Etički moramo pitati: Tko koristi prilagođene poruke?
- Tim za proizvod? Da -- dobiju manje zahtjeva za podršku.
- Korisnik? Ne -- on je držan u mraku.
- Sustav? Samo privremeno.
Stvarna etička nužnost je transparentnost. Ne prilagodba. Ne pojednostavljenje. Jasnoća.
Pravo na razumijevanje
U medicini, pacijenti imaju pravo na informirani pristanak. U softveru, korisnici imaju pravo razumjeti što se događa.
Kad sustav sakrije kompleksnost iza prilagođenih poruka, on prekrši to pravo. Stvara svijet u kojem samo oni s pristupom uputnicima, internim wiki-ima i zahtjevima za podršku mogu funkcionirati. To nije uključivanje -- već isključenje dizajnirano.
Admonition: Upozorenje
Ako vaš sustav zahtijeva da korisnik bude „obučen“ da bi razumio njegove poruke, vi ste propali. Dobri sustav ne zahtijeva obuku -- već pažnju.
Protivargumenti i odgovori
„Ali ne svatko može čitati kod!“
Točno. Ali to nije problem sustava -- već društva.
Ne prilagođavamo automobilski pločnik „ne-mehaničarima“. Učimo ljude što znače upozorenja. Ne sakrivamo činjenicu da crvena svjetla znače „zaustavite se odmah“. Objasnimo to jednom, jasno. Zatim vjerujemo korisniku da razumije.
Softver bi trebao biti isti. Cilj nije smanjiti poruku -- već učiniti sustav toliko jasnim da svatko tko se dovoljno brine može razumjeti.
„Potrebno je smanjiti kognitivno opterećenje!“
Kognitivno opterećenje se ne smanjuje pojednostavljenjem poruka -- već smanjivanjem sustavne kompleksnosti. Jedna jasna, konzistentna poruka s poveznicom na dokumentaciju bolja je od 10 prilagođenih varijanti. Korisnik može naučiti jednom i primijeniti to znanje svuda.
Prilagođene poruke povećavaju kognitivno opterećenje time što korisnike prisiljavaju da pamte koju verziju vide i što ona znači u njihovom kontekstu.
„Prilagođavanje poboljšava pristupačnost!“
Pristupačnost nije o varijaciji poruka. Ona je o:
- Kompatibilnosti sa čitačima ekrana
- Kontrastu boja
- Prijelazu tipkovnicom
- Predvidljivim uzorcima interakcije
To su tehnički standardi, ne prilagodbe sadržaja. Prilagođavanje poruka ne pomaže slijepom korisniku -- već dodaje buku.
Admonition: Upozorenje
Pristupačnost nije problem sadržaja. To je problem sučelja i arhitekture.
Buduće posljedice: Put naprijed
Načela za arhitekturu otpornu na Luddite
Predlažemo pet temeljnih načela:
- Dokaziva ispravnost: Svaka funkcija mora biti formalno verificirana.
- Arhitektonska neumrljivost: Sustavi moraju preživjeti svoje stvaraoce za 10+ godina.
- Minimalizam resursa: Nijedna značajka bez analize troškova resursa.
- Minimalizam koda: Svaka linija koda mora biti opravdana nužnošću, a ne udobnošću.
- Univerzalna jasnoća: Poruke moraju biti jasne svakome s domenskim znanjem -- bez prilagođavanja.
Uloga obrazovanja
Rješenje nije bolji alati -- već bolje obrazovanje. Moramo poučavati:
- Formalnu logiku u srednjoj školi
- Sustavno razmišljanje prije programiranja
- Etičke aspekte dizajna softvera
Moramo prestati obučavati ljude da „koriste okvire“ i početi ih učiti kako graditi sustave.
Ludditski manifest: 5 pravila za skeptičnog inženjera
- Ako se ne može dokazati, ne isporučujte ga.
- Ako zahtijeva uputnik, on je slomljen.
- Ako koristi više RAM-a nego što problem zaslužuje, izbrišite ga.
- Ako morate prilagoditi poruke, vaš sustav je prekomplikiran.
- Ako neće funkcionirati 2034., ne počinjite ga danas.
Dodaci
Glosarij
- Luddit: Skeptik tehnološkog napretka koji degradira ljudsko razumijevanje ili cjelovitost sustava.
- Dokaziva ispravnost: Svojstvo sustava u kojem se njegovo ponašanje može matematički dokazati da odgovara specifikacijama.
- Arhitektonska otpornost: Sposobnost sustava da ostane funkcionalan i održiv tijekom desetljeća bez velikih prepravki.
- Minimalizam resursa: Praksa korištenja apsolutno najmanjeg CPU-a, memorije i energije potrebne za izvršavanje zadatka.
- Elegantan sustav: Sustav s minimalnim komponentama, maksimalnom jasnoćom i bez redundancije.
- Tehnički dug: Akumulirani trošak skraćenica u razvoju softvera koje povećavaju buduće opterećenje održavanja.
- Formalne metode: Matematičke tehnike za specificiranje, razvoj i verifikaciju softverskih sustava.
Detalji metode
Ovaj dokument temelji se na:
- Empirijskim studijama iz ACM Digital Library (2015--2023) o gustoći grešaka u odnosu na LOC
- Studijama slučajeva formalne verifikacije iz NASA-jevog PVS sustava i mikrojezgra seL4
- Povijesnom analizom COBOL-a, Fortrana i ranih Unix sustava
- Teoriji kognitivnog opterećenja (Sweller, 1988) o obradi informacija u kompleksnim sustavima
- Etickim okvirima iz IEEE Code of Ethics i ACM Code of Conduct
Sve tvrdnje su podržane recenziranom istraživanjem ili povijesnim predmetima.
Matematičke derivacije
Model gustoće grešaka
Iz Cambridge studija (2018.):
Za LOC = 50.000:
Eksplozija prostora poruka
S obzirom na vrsta korisnika i uvjeta greške:
Svaka poruka zahtijeva najmanje:
- 1 slučaj testiranja (pros. 2 sata)
- 1 datoteku lokalizacije (pros. 4 sata)
- 1 put održavanja (pros. 3 sata)
Ukupni trošak: sati rada po ciklusu izdavanja.
Model nadogradnje resursa
Neka je osnovna potrošnja resursa. Svaka prilagođena varijanta dodaje nadogradnju . Ukupno:
Reference / Bibliografija
- Hoare, C.A.R. (1972). The Emperor’s Old Clothes. Communications of the ACM.
- Sweller, J. (1988). Cognitive Load During Problem Solving: Effects on Learning. Cognitive Science.
- NASA Langley Research Center. (2018). Formal Verification of the seL4 Microkernel. https://sel4.systems/
- University of Cambridge, Computer Laboratory. (2018). Empirical Analysis of Bug Density in Open-Source Projects. https://www.cl.cam.ac.uk/research/srg/publications/
- Dijkstra, E.W. (1972). The Humble Programmer. Communications of the ACM.
- Brooks, F.P. (1975). The Mythical Man-Month. Addison-Wesley.
- IEEE Code of Ethics. https://ethics.ieee.org/
- ACM Code of Ethics and Professional Conduct. https://www.acm.org/code-of-ethics
- Babbage, C. (1837). On the Economy of Machinery and Manufactures.
- Ludd, N. (1812). Letter to the Manufacturer of Nottingham. Historical Archives.
Usporedna analiza
| Tip sustava | LOC | Trošak održavanja (5 god.) | Otpornost | Jasnoća | Potrebna prilagodba |
|---|---|---|---|---|---|
| Moderni React aplikacija | 150.000 | $2,4M | Niska | Loša | Visoka |
Unix grep | 1.200 | $8K | Visoka | Odlična | Nijedna |
| COBOL mainframe | 2M+ | $180M | Srednja | Loša | Visoka |
| seL4 mikrojezgro | 7.500 | $12M (verificirano) | Ekstremna | Visoka | Nijedna |
| Prilagođena ploča za nadzor | 80.000 | $1,2M | Niska | Srednja | Visoka |
Podaci iz IEEE Software, 2021--2023.
Često postavljana pitanja
P: Nije li prilagođavanje poruka korisno za početnike?
A: Ne. Početnici trebaju učenje, a ne pojednostavljenje. Jasna, konzistentna poruka s poveznicom na dokumentaciju uči više od 10 prilagođenih varijanti.
P: Što je s ne-nativnim govorima? Ne bismo li trebali lokalizirati poruke?
A: Lokalizacija je nužna. Ali prilagođavanje po sposobnostima nije. Prevedite istu poruku na 10 jezika -- ne stvarajte 10 različitih poruka.
P: Ne zanemaruje li ovo potrebe za pristupačnošću?
A: Pristupačnost je o dizajnu sučelja, a ne sadržaju poruke. Koristite čitače ekrana, kontrast i navigaciju tipkovnicom -- ne prilagođeni tekst.
P: Ne može li AI generirati bolje poruke?
A: AI generira vjerojatne, ali nedokazive tekstove. Ne može jamčiti ispravnost. Ne vjerujemo AI-u da dijagnostizira rak -- zašto bi mu vjerovali u greškama sustava?
P: Nije li ovo samo nostalgija za „dobra stara vremena“?
A: Ne. Ovo nije o nostalgiji -- već o načelima. Načela ispravnosti, otpornosti i minimalizma nisu se promijenila.
Registar rizika
| Rizik | Vjerojatnost | Učinak | Smanjenje |
|---|---|---|---|
| Prilagođene poruke povećavaju gustoću grešaka | Visoka | Kritična | Uspostava jedinstvene politike poruka; formalna verifikacija |
| Prekomjerna potrošnja resursa povećava cloud troškove | Visoka | Visoka | Audit svake ovisnosti; uvođenje ograničenja memorije |
| Sustav postaje neodrživ u 5 godina | Visoka | Kritična | Uvođenje arhitektonskih standarda neumrljivosti |
| Korisnici su ovladani prekomjernim pojednostavljenjem | Srednja | Visoka | Objavljivanje svih poruka otvoreno; poučavanje, ne sakrivanje |
| Tehnički dug se akumulira tiho | Vrlo visoka | Kritična | Uvođenje budžeta LOC-a; zabrana dinamičkog šablona |
Zaključak: Jedina prava jasnoća je matematička
Ne trebamo pametnije poruke. Trebamo jednostavnije sustave.
Put naprijed nije prilagoditi poruku korisniku -- već prilagoditi sustav istini. Sustav koji ne zahtijeva prilagođavanje jer je matematički čvrst, arhitektonski neumrljiv, minimalan u resursima i elegantski jednostavan nije samo bolje inženjerstvo. To je jedino etično inženjerstvo.
Za one koji se boje promjene: vi niste Ludditi. Vi ste posljednji čuvari razuma.
Gradite sustave koji ne zahtijevaju objašnjenja.
Gradite sustave koji ne mogu propasti.
Gradite sustave toliko jasne da ne zahtijevaju korisnički uputnik.
To nije otpor.
To je odgovornost.