I'm a bit backlogged on topics I wanted to blog about. The first topic is the details on the implementation of tabbed browsing in IE 7. There are several things that indicate that the IE team may be doing a bit better of an implementation than Firefox:
We are working on balancing the default behavior for whether a window opened from script opens as in a new frame or a tab. Currently, windows that have been customized, such as hiding a toolbar or making the window non-resizable, will default to opening in their own standalone frame, whereas ordinary pop-up windows will open in a new foreground tab. CTRL-clicking and middle-clicking links will open those links in a background tab.
Another implementation detail mentioned for IE7 sounds like it will be important, though that will depend on how it really works out in practice:
One design decision worth calling out is that our current implementation is fully multi-threaded. Each tab is on a separate thread, and the frame is also on its own thread. This has some impact on the overall footprint of IE, but we believe this will allow IE7 to feel faster and provide an overall better user experience. Internally this creates some additional complexity as we have to deal with a lot of cross-thread communication, but it also gives us a way to do things we wouldn't otherwise be able to do with a single-threaded approach.
Firefox seems pretty weak on being multi-threaded. Whenever I load up large pages in a tab (such as the Java API), I'm unable to switch tabs for some time until the page finishes loading. Also, sometimes when saving images or files to a networked drive, which is somewhat slow, Firefox freezes until the save is completed. Firefox needs to fix these problems to be more usable, and it sounds like IE7 is already looking to address some of the problems. Hopefully the competition from IE will help Firefox improve.