Software in a Blink

Software can be Blinked too.

Blink: Malcolm Gladwell’s book about the underestimated importance of intuition and first appearances relative to rational analysis and decision-making. Hugely successful in the blogosphere (relevant there too) and slammed on yesterday’s Slashdot Review for essentially being blatantly obvious. I’ve just begun to read it this week.

As a developer with a big usability bias, I treat software quality – particularly maintainability – as an exercise in user-centered design. If I was designing controls for a plane, I’d want them to be intuitive, so the pilot could get a feel for the overall layout in a blink. And just the same for software. I want someone to glance at a design diagram and get a feel for the overall architecture. I want someone to look at a class outline and get a feel for the class’s responsibilities and workings. And I want someone to look at a screen of text and get a feel for what’s going on and how the control is flowing.

Yes, software may be complex and the devil is often in the detail. However, ** first impressions count. They shape the way everything is subsequently processed, and can rapidly boost or hamper further learning.** A mere few seconds should be enough for a meaningful introduction to a module at any level of abstraction, from high-level architecure down to individual code block.