One query that comes in quite a bit from the IT Pro community around IE9 is this: what happened to the zone indication from the status bar? Zone information, for both the Developer and the IT Pro, can be pretty important. It determines the security context the page runs in, as well as the application compatibility defaults.

I was pretty curious about this myself, so I chased down the answer from the development team.

In the initial development work, two themes were really coming to the forefront in IE9: performance and user experience. As performance work was taking place, somebody discovered that the zone display was not terribly well optimized – displaying that little icon and text, as it turned out, took about 40 million CPU cycles. Now, in the days of 2.5 GHz processors (what  have in my vintage T61p), that’s only 0.016 seconds, so not the end of the world, but that adds up. We cut the display and got the performance back, but moved the information (which was still important) over to the properties page, accessible from a right-click on the page.

Could we have optimized that code so it was way faster? Of course we could have – it’s just code. But the time we spent writing code to optimize zone information display is time that we’re not making the JavaScript engine faster, or time that we’re not making Canvas faster, or time that we’re not making the platform more robust. While it might have been a good use of time, it wasn’t the best use of time, and shipping is about trade-offs.

We then came along and cleaned up the UI even more by hiding the status bar by default. This takes away still more of the browser chrome, leaving more room for the site, which is really what you launch your web browser to have a look at.

And this, of course, sort of nullifies the original performance argument – if the information isn’t shown until you ask for it, then the performance is no more an obstacle here than it is on the properties dialog. (And you could argue that the status bar, by removing all of the information from the status bar except for zoom that it really probably should be called the zoom bar now.) Could we have put everything back after making this decision? Of course we could have – again, it’s only code. But once again, that takes time – time not spent doing other things which arguably help the web more than building back up the status bar. Once again, we had to make a trade-off. Given perfect knowledge of how the UI would evolve, I imagine we would have left it as it was, but just hidden it. Alas, we lacked perfect knowledge.

So, by having two good intentions (make it fast and clean) we ended up having to retrain folks on where to find a bit of useful information. It’d be great if we could take that back, but now it makes sense to me how we got there, and hopefully this adds some perspective for you as well.