Every software development team needs testers, but too many companies just won’t hire them. This is one of the worst “false economy” moves you can make. Read my new article: Top Five (Wrong) Reasons You Don’t Have Testers.

In my chapter on affordances and metaphors, I praised tab dialogs as providing a better metaphor and better usability than the listbox/combination dialogs that they replaced. I was barraged with mail saying, “yeah, tab dialogs are great, but not if you need more than one row of tabs!” Which is true. All the designs I’ve ever seen with multiple rows are terrible – they’re either confusing, or they violate realism in some way.

Now, you could make a good case that if you have to have more than one row of tabs, your design is too complicated and it needs to be simplified. But if you can’t do that, here’s a way to do multiple rows that doesn’t violate realism:


Last week, working on some web page design that relied heavily on style sheets, JavaScript, and DHTML, I came across the best HTML reference I’ve ever seen. It’s called Dynamic HTML: The Definitive Reference, by Danny Goodman. This is the Talmud of Dynamic HTML. It’s 1000 pages long. It covers HTML, DOM, CSS, and JavaScript in staggering detail. The best part is that the author has tested everything on Netscape and IE, and provides a detailed cross reference of what works where. As soon as I started using this book instead of the shoddy, disorganized, unindexed ‘documentation’ that Microsoft provides, I became a significantly happier person. You will too.

About the author.

In 2000 I co-founded Fog Creek Software, where we created lots of cool things like the FogBugz bug tracker, Trello, and Glitch. I also worked with Jeff Atwood to create Stack Overflow and served as CEO of Stack Overflow from 2010-2019. Today I serve as the chairman of the board for Stack Overflow, Glitch, and HASH.