On assignments where literally every step was documented, my students would still often not know what to do, because they had missed something small but crucial.
After reading “The Design of Everyday Things”, I’ve come to design things based on the assumption that people don’t read. Even when their sole task is to read, they just don’t.
I write compilers, and producing good error messages is a crucial part. But as it turns out, the best predictor of a programmer’s ability to notice and correct an error is not good error-message text—it’s accurate and precise source locations.