Dimensional Design
Download PDF
Dimensional Design
The Dimensional Gap
A computer takes in everything as one long line of zeros and ones.<br>That is all it gets: a single stream, one thing after another. A<br>picture, a song, an equation must all be built from that flat line.<br>Computers are intrinsically one-dimensional.
People are not like that. We spent millions of years evolving to live<br>in a world with many dimensions, not just the four we can measure<br>(width, height, depth and time) but far more that no ruler captures:<br>colour, smell, hierarchy, trust and even emotions. People take the world<br>in across all of them at once. People are intrinsically<br>multi-dimensional.
Between multi-dimensional people and one-dimensional computers sit<br>computer programs.
We are used to thinking of computer programs as clockwork machines. A<br>clockwork machine follows instructions. Give it the same instructions<br>and it gives the same result, exactly the same result, every single<br>time. There is no guessing inside a clockwork machine.
We have a new kind of computer program that is not a clockwork<br>machine. It is the thing most people call AI. It works by guessing what<br>comes next from the huge amount it has seen before. It is a predictive<br>machine. Its output is probably right, not exactly<br>right.
Compounding Probably Right
The real world does not run like clockwork, and neither do we. We<br>deal in probably right. Traditionally, every computer program<br>demanded the careful precision of a clockmaker; a predictive machine is<br>the first that does not, and that is why it feels so different to work<br>with. Underneath, it is still a computer program, still reading along a<br>single dimension.
When a predictive machine is asked to build something with lots of<br>hidden dimensions, lots of all-or-nothing pieces chained together, it<br>can get dangerous. Exactly right chained to exactly<br>right stays exactly right, every time; probably<br>right chained to probably right becomes almost certainly<br>wrong, eventually.
We teach our children that chaining probably right<br>eventually leads to almost certain error through the game of telephone.<br>A message is passed around a circle of children. Each child's<br>understanding of the message they received is probably right,<br>but what comes out when it gets back to the start is almost certainly<br>wrong. Each retelling adds a small doubt and the doubts compound. What<br>is new is seeing it in computer programs. Until recently, computer<br>programs have been clockwork machines: chaining one after another has<br>always been safe, because each step gave back the same result every<br>time. Predictive machines break that assumption, and our mental models<br>have not caught up.
Different Routes to the<br>Answer
How does one check a stack of figures from paper invoices entered<br>into a spreadsheet for errors? Repeating the task and investigating the<br>discrepancies works only if the two attempts fail independently. A<br>smudge that is always read the same wrong way defeats it. Both passes<br>misread it identically, the two attempts agree, and the error hides.<br>Summing the digitized values and comparing the result against the<br>printed total on the invoice catches it instead. That total was produced<br>separately from the typing, so a single misread digit throws the sum out<br>of agreement with it. The check tests the work on a different dimension<br>from the one the typing used, and it would be a wild coincidence for two<br>separate mistakes to cancel each other out exactly.
A check on an independent dimension is what is missing from how we<br>usually check a predictive machine. Too often a reviewer is handed the<br>output and asked to read it line by line for errors. When the predictive<br>machine is right ninety-nine times out of a hundred, catching the one<br>wrong case that way is a task no one can do reliably. The failure is in<br>the task, not the reviewer, and that is why a different route is<br>needed.
Running the predictive machine many times and taking the majority<br>does not help either: repetition buys agreement, not correctness. To<br>know whether the answer is right still requires checking it on a<br>dimension that does not share its blind spot. A check built that way<br>reports only that an error exists somewhere, not where it is, and does<br>so without re-reading the work piece by piece.
Plain Text for All
A file, at the level the computer actually reads it, is a long line<br>of zeros and ones. That is what the computer was built to read. A plain<br>text file adds almost nothing to that stream: each grouping of eight<br>stands for a letter or a space or a line break, and the words sit in the<br>order they were written. The file is its own description; a person can<br>read it the same way the computer does.
A fancy document (Word, PowerPoint, PDF) is the opposite. It buries<br>the words inside a thick schema of rules about fonts, spacing, layout,<br>headings and a great deal else. Each rule is a hidden dimension the file<br>silently carries. To read the file, a program first has to decode every<br>dimension of the...