The other day in a web accessibility training session, I admitted that I hate it when a link on a web page automatically opens a new window. I want to be the one who decides when a window’s opened. At this point, a couple people in the group rolled their eyes, no doubt thinking “oh give me a break, you control freak!”

So I got to thinking: why do I care?

I used to browse with several windows open at a time, dragging links from one to another, reading one page while another one or two loaded. Even then, with five or six browser windows on my desktop, a new window popping open unexpectedly was a little irrititation. Just as irritating as pop-up or pop-under ads.

Then tabbed browsing appeared in Mozilla (hit control-T and you’ll see what I mean), and my browsing habits changed: I still read several pages at a time, but now on different tabs within the same window. Now it annoys me even more when designers take it upon themselves to control my browsing habits. Thankfully, with every milestone release it gets easier to configure Mozilla to prohibit that sort of nastiness.

Still, though, why does it bother me so much? It’s a relatively minor thing, right? The key, I think, is that a window popping open is an unexpected behavior. There are times when I expect a window to open: when I click a link to enter my ZIP/postal code to customize site content; when I click a link on a television program title, expecting to get a brief description of the episode. In those cases I expect a new window to open — to provide or allow me to input a short bit of information — so it’s perfectly fine that it does. The web page behaves in a predictable way. No surprises.

Yesterday I read Joel Spolsky‘s User Interface Design for Programmers, and the reason for this became clear: it is an important principle of UI design that (I quote Joel here) “A user interface is well-designed when the program behaves exactly how the user thought it would.” I’m irritated by windows popping open when I don’t think they will, but don’t give it a second thought when I expect them to.

If you’re going to do something so unusual as to open a new window, you’d better have an extremely compelling reason. If your reason is compelling enough, the user should expect the window to open.

Back to the book. I highly recommend it. It’s a quick read, it’s entertaining, and it’s packed with lots of good stuff. Through most of the book, I kept excitedly jabbing my finger at the page, exclaiming, “yes! yes! He’s right on!” For every situation he describes, I can think of a real-world scenario that matches up. I learned a whole lot in just a couple hours. And now I feel ready for that next meeting about button text. <shudder />