De Unix filosofie

software design open source inspiratie

3 mei 2021

Het ontwerpen van software kent, net als alle andere dingen die door mensen verzonnen en gemaakt worden, esthetische stromingen. Een van die filosofiën is de Unix filosofie. Daarbij staat simpliciteit van toepassingen centraal.

Op de Wikipedia pagina over Unix Filosofie wordt de oorspronkelijke filosofie als volgt omschreven:

  1. Zorg ervoor dat ieder programma één ding goed doet. Heb je iets anders nodig, bouw dan iets nieuws in plaats van oude programma’s compliceren met nieuwe features.
  2. Ga ervan uit dat de output van je programma input wordt van een ander, nog onbekend programma. Stop de output niet vol met overbodige informatie. Voorkom moeilijke input met strenge kolom-eisen of binaire formaten. Verplicht geen interactieve input.
  3. Ontwerp en maak software, zelfs operating systems, die snel kunnen worden uitgeprobeerd; liefst binnen een paar weken. Gooi onhandige stukjes gewoon weg en bouw ze opnieuw.
  4. Gebruik programmaatjes in plaats van ongeschoolde ondersteuning om het programmeren makkelijker te maken, zelfs als je daarvoor even moet uitwijken om ze te maken, en ga ervan uit dat je sommige van deze tooltjes daarna gewoon weer gaat weggooien.

Een theekopje (zie ook https://en.wikipedia.org/wiki/Shibui).

Een mooiere formulering, die leest als een stukje poezie, komt van Mike Gancarz:

  1. Klein is prachtig.
  2. Zorg dat elk programma één ding goed doet.
  3. Bouw zo snel mogelijk een prototype.
  4. Kies voor herbruikbaarheid boven efficientie.
  5. Sla data op in platte tekst.
  6. Gebruik de hefboomwerking van software in je voordeel.
  7. Gebruik shell scripts om hefboomwerking en herbruikbaarheid te vergroten.
  8. Vermijd gebruikersinterfaces die constant aandacht vragen.
  9. Maak van ieder programma een filter.

Ik gebruik deze filosofie ook bij het maken van digitale tools die mensen ondersteunen op de werkvloer, maar nog altijd zie ik daar vaak de neiging tot “feature proliferation”: het toevoegen van telkens maar weer extra functionaliteit aan applicaties waar alles in zit en alles mee moet, met alle gevolgen van dien.

Andere aantekenignen

pOS feature #1: Happy Highlighter

22 januari 2021

software design hacking open source

Om mezelf wat meer te dwingen de dingen te doen waar ik blij van word, heb ik een nieuwe "life hack" of "persoonlijk O.S." feature. Ik heb me voorgenomen om leuke dingen wat vaker snel en kort te beschrijven in dit soort mini blogjes. Daarbij "nudge" ik mezelf om telkens te checken of ik bezig ben met de dingen waar ik bezig mee wil zijn.

Lees pOS feature #1: Happy Highlighter

Push nieuwe stijl

18 januari 2021

software design design thinking

Vandaag voor het eerst de nieuwe stijl Push uitgeprobeerd. In de praktijk komen we vaak tegen dat een project steeds meer in een lopende band modus komt, waarbij design soms wat buiten de boot dreigt te vallen. Met Push brengen we de design fase weer expliciet terug in iedere doorontwikkeling.

Lees Push nieuwe stijl

Samen denken, ruwe schetsen

25 januari 2021

open samenwerking

Als ik als visueel denker met mensen samenwerk, kom ik er niet omheen om ideeën ook visueel te maken en die plaatjes samen met mensen te bespreken, om te checken of ik het snap. Daarvoor is het helemaal niet nodig om mooie plaatjes te maken, heb ik gemerkt. Sterker nog, er valt veel voor te zeggen om juist hele ruwe schetsen te gebruiken.

Lees Samen denken, ruwe schetsen

Bekijk alle aantekeningen