Internet Explorer 7
As I posted about before, I now have a fun little PC to play with and test the new site on. During my adventures I downloaded IE7 to do some tests, and I thought I would share my experience. First the bad. As with all Windows things, the installer makes some unilateral decisions without asking you. For example, the IE7 installer will overwrite your existing IE6 application, so that it will no longer be available. There is a workaround where you can then download the "IE6 Stand Alone Version", in case anyone wants to know. I personally get really annoyed when my computer does things based on assumptions. How does it know that I don't want all the browsers I can find for testing reasons? More importantly, why should it (and the Windows developers that make it this way) care at all? In the end it just annoys users and has landed Microsoft in some heavy anti-trust lawsuits. Oh well, that's their problem. On the note of bad news, I would bet that we see quite a bit of negative feedback about the searching functionality in IE7, which kind of pigeonholes you into one service.
The absolutely fantastic news is that IE7 appears to be as compliant as Firefox 2 and Safari are!!!! That is a huge relief to me after tha absolute mess of IE6. To me it means that instead of having to hack IE6 and IE7, I only have to hack IE6. I think that a lot of developers are going to like the fact that as the years go on and people stop using IE6, we can start spending our time focused on developing great websites rather than trying to hack browser incompatibilities. I for one am very happy that Microsoft finally got it right, and I hope that they continue to get it right.
ADDED NOTE: I have been working with getting the CSS hacks together that I need for IE6 users, and I have noticed a few places where IE7 appears to still have some layout problems. Don't get me wrong, it's a vast improvement over the previous versions, but I have begun to run into situations where I would need some hacks to make the CSS work.
The problem is that all of the previous hacks appear to have been fixed. That is great in that it means the browser is reading CSS properly, but in a few cases I need to make CSS adjustments that target only the IE7 browser. For IE6, I would use the "start HTML" method, where you can use a selector technique that will only be read by IE5 and IE6. However, that does not work with IE7, but there is a solution.
If you have a CSS directive such as:
#section { margin:0px; }
and this is not working properly in IE7, then you can create one like this:
*:first-child+html #section { margin:0px; }
in order to target only IE7. It uses the fact that IE7 has support for the pseudo-selectors like first child and adjacent sibling, which allow you to target specific instances of HTML elements. Anyway, I wanted to update this post about that, since I imagine it will come in pretty handy for most developers.