Welcome to MSDN Blogs Sign in | Join | Help

IE7 Tabbed Browsing Implementation

Hey, I’m Tony Schreiner, a developer on the IE team. I’ve been working on IE for a little over a year, and at Microsoft for over six years. My personal blog is over here, but I'm posting on the official IE blog to help consolidate useful information about IE7.

My role has been to re-architect IE to support tabbed browsing. This work began last year and includes building a new frame (top-level window and chrome), sorting out how to host and switch between multiple instances of the browser, and managing communication between the various internal components.

There have been a lot of questions and speculation about IE7's tabbed browsing feature, so I wanted to give an overview of some of the work we've done that you can look forward to seeing in Beta 1.

Keeping the User in Control

Our philosophy for tabbed browsing is to keep the user in control of the experience. Tabs are on by default in IE7 Beta 1, but for those that do not want to use them they shouldn't be intrusive and there's a setting to turn them off and reclaim the screen real estate if desired.

Regarding script, there is no "target='_tab'" feature or any direct access to tabs from script beyond what is available with multiple windows today. 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. The rationale for opening only customized windows in a new frame is that this seems to correlate with scenarios where showing a window on top of the current window is desirable, such as replying to posts on internet message boards and getting a close-up view of items on shopping sites. Naturally we will continue to refine the default behavior and provide settings to customize the behavior.

In addition there is ongoing work to tweak the DOM so that window operations behave in a compatible but non-intrusive way. For example, window.move() will continue to allow a web site or applications that automate IE (more on this later) to move the frame, when there is a single tab open, but when multiple tabs are opened this will have no effect. These tweaks will allow IE to behave as expected for compatibility, but should help prevent sites from tampering with the browser when you have a set of tabs open.

IE7 Beta 1 has most of the core features you expect from a tabbed browser. You are able to open links in a new tab by middle-clicking or Ctrl-clicking links. You can switch between tabs quickly and easily using both the keyboard and mouse. You can control whether tabs open in the background or foreground, or open them in a new window as you always have. This core functionality is largely catch-up to other browsers which support tabs, but a necessary foundation for future work.

Adding Tabs to IE

The biggest challenge of implementing tabbed browsing is that IE was originally written as a single-window browser, and many of its features were designed around this assumption. It’s a bit ironic that the IE platform is made up of easily reusable components that make it possible for anyone to build a simple browser in a weekend using the Web Browser Control (WebOC), yet internally IE was factored in such a way that makes tabbed browsing difficult to implement.

One of the reasons IE is architected differently than a 3rd party browser that hosts the WebOC is that the IE frame and WebOC were written by the essentially same team and evolved in lockstep. While care was taken to keep components reasonably abstracted from one another using COM interfaces, the internal separation between these components is not as clear as a 3rd party browser built on top of the final public interfaces. Within IE6 the frame and WebOC are more like peers, and if you look at the MSDN documentation for IWebBrowser2 you can see the effects of this: some methods on that interface are only available when you’re building an application that invokes IE using automation (CLSID_InternetExplorer), while others are also available when your application hosts the WebOC (CLSID_WebBrowser). This means that internally, components such as menus and toolbars were tightly integrated with the browser.

Another example of what makes this challenging is that IE and Explorer windows share the same code for the frame and chrome (toolbars, menus, etc.), which means there are more code paths and different types of interactions with the hosted view (in this case, a ShellView) that were required to continue working after adding tabbed browsing to IE.

Finally, preserving compatibility with 3rd party add-ons and applications that host or leverage IE is an ongoing challenge. More on this later.

Implementing Tabs

We considered a variety of approaches and built a couple prototypes, and the solution we settled on was to essentially push a large part of what you see in IE6 into a tab. We built a new frame to host the browsers and wrote a bunch of internal plumbing to manage them and cache state. This is a bit of a simplification; the address bar and so on won’t be part of the tab of course, but 3rd party toolbars and Browser Helper Objects (BHOs) are because they are tied to a single browser and sometimes make deep assumptions about how they are hosted.

The address bar, back and forward buttons, and similar controls are still part of the frame. This required significant changes to the way these components interact with the browser. The old model was that they were directly connected to a single browser, frequently probing (sometimes deeply) through the object model to find out what type of content was being hosted and what capabilities were supported. They communicated directly to these objects and interfaces within the browser and cached pointers for performance and convenience. We untangled the communication so that the controls could flexibly target any tab and eliminated assumptions that were no longer valid. Similarly, we hooked them up to use the cached state for each tab because they can no longer sink the browser’s events directly.

One design decision worth calling out is that our current implementation is fully multithreaded. 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.

Compatibility

As I mentioned above, one of the deciding factors for our design was to preserve compatibility with 3rd party applications: both add-ons and hosts. Web sites are a concern too, especially with the DOM tweaks, but this feature is relatively benign in that regard.

As a caveat, I should add that compatibility is an ongoing challenge, and in addition to tabbed browsing there are many other changes across Longhorn that we’ve needed to be careful about. As a general rule, ActiveX controls and add-ons such as toolbars that interact with the browser and "lower" components through published interfaces should not have much trouble, whereas add-ons that walk up and down the window hierarchy using Win32 APIs such as GetParent(), subclass windows, or do other things that depend on internal implementation details will have more trouble. In general, applications that host the WebOC should not be impacted.

I’ll elaborate on this more and give some examples of some of the problems we’ve seen in a future post.

- Tony

Published Thursday, May 26, 2005 10:26 AM by ieblog
Filed under: ,

Comments

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 10:56 AM by Jake Archibald
Good work on this. Very happy to hear that control over whether sites open in a new tab is given to the user rather than the site developer. Also, the middle clicking to open in the background is a must, glad to hear it's implemented.

I think this will be THE step forward for IE for the average user.

Look forward to hearing more about this and other steps forward for both user & developer experience.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 10:58 AM by Eple
"These tweaks will allow IE to behave as expected for compatibility, but should help prevent sites from tampering with the browser when you have a set of tabs open."

..but will it be possible to prevent sites from tampering when you don't have any other tabs open? For example something in the settings to completely disable window.move().

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 10:59 AM by Richard
How about some screenshots?

# IE7 avra' il Tabbed Browsing

Thursday, May 26, 2005 11:05 AM by Di .NET e di altre amenita'

# Developer's comments on IE7 tabbed browsing

Thursday, May 26, 2005 11:06 AM by Paul Schaeflein's SharePoint Experience

# Developer's comments on IE7 tabbed browsing

Thursday, May 26, 2005 11:06 AM by Paul Schaeflein's SharePoint Experience

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:06 AM by porneL
> there is no "target='_tab'"
Oh, thank you!

# Developer's comments on IE7 tabbed browsing

Thursday, May 26, 2005 11:06 AM by Paul Schaeflein's SharePoint Experience

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:06 AM by Dimitar Dimitrov
Whar is the point of making 3rd party addons part of a tab? I understand it could break backwards compatibility otherwise, but I would care more for user expirience, the vendors can and will ship new versions anyway.

Each tab on different thread? Well I can not use more than one tab a time, but have usually > 10-15 tabs open, so I hope this won't be a perf hit for me.

# Developer's comments on IE7 tabbed browsing

Thursday, May 26, 2005 11:11 AM by Paul Schaeflein's SharePoint Experience

# IE7 Tabbed Browsing Details

Thursday, May 26, 2005 11:14 AM by Tony Schreiner's WebLog
I've added some details about the IE7 Tabbed Browsing implementation up on the IE blog. Check it out...

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:15 AM by Chloe
Thanks for letting me switch it off.

Will I be able to Ctrl+Click for a new BACKGROUND window when tabbed browsing is switched off?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:16 AM by Robin Lambell
Nice to know you are addressing actual needs instead of adding "features". if the whole IE team is acting this way, IE7 may even be up to par with Firefox. good job.

-Robin Lambell

P.S if you see any of the developers working on CSS implentation, could you ask them to give us a post on this blog :)

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:22 AM by tonyschr
"Will I be able to Ctrl+Click for a new BACKGROUND window when tabbed browsing is switched off? "

Chloe: not yet, but that's a good idea and something we'll look into.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:36 AM by NickFitz
Thanks for an informative article. It serves as a useful reminder that when somebody asks "How hard can it be to...[implement feature X]", the answer is usually "A heck of a lot harder than you think!"

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:46 AM by Jim
> 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.

I can see this being quite confusing for people who aren't used to tabs.

Think about it: you click a link, and apart from a small change to a toolbar near the top, it seems like you've just clicked a normal link. Except you try and use the back button, and it's broken. You check to see if it opened a new window, and it hasn't.

Even assuming they figure out what the tabs are and how to close them, what tab do they end up on? The last tab that they were at, or the last tab in the series?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:48 AM by Rob
"They communicated directly to these objects and interfaces within the browser and cached pointers for performance and convenience."
That had to be fun to fix. It seems like those optimizations always come around to bite you later on. Of course without any such optimizations, your code gets bigger and slower. Damned if you do, damned if you don't.

# Compatibility?

Thursday, May 26, 2005 12:15 PM by Tom
Does anyone else find it disturbiing that a whole section devoted to compatibility has no reference to published standards, but plenty of caveats for proprietary technolgies?

Also, I thought all team members were supposed to add [MSFT] to their handle when responding.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 12:16 PM by Erik Sargent
What parts of IE7 were written in .NET Framework. Seems like if you had to do such a big rework, it would be a good time to eat your own dogfood, but you seem to have choosen not to. I'd be very interested in what the reasoning was for that and what guidance Microsoft provides internally on the subject of when to .NET when all the public dialog is .NET everywhere.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 12:36 PM by Bruce Morgan [MSFT]
Tom, while there might not be "published standards" in the area of IE extensions, compatibility is nonetheless very important. Especially to people who write or depend on them.

The [MSFT] handle is something some of us do - not a requirement.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 12:41 PM by SeanGep.NET
Cool Stuff!

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 12:42 PM by Bruce Morgan [MSFT]
Jim, the implementation is essentially redirecting what would target a new window into a new foreground tab. Perhaps Tony's explanation wasn't all that clear. Since it was going to go to a new window, the back button wouldn't have worked anyway. Redirecting the new

This works quite well for sites like Bloglines or shopping sites that have many links that open new top level windows. Other times it can seem a little odd. As Tony said, we're working on getting that to feel right.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 12:55 PM by Robert Morris
Good work on getting this implemented--I really have a hard time using browsers without tabs!

Now, not to diminish the work spent on tabs, but I hope some people are also working on bringing CSS support up to par with other browsers and fixing the XHTML issues--or, well, actually just that big one: being able to send XHTML documents with the proper MIME type.

I'm currently a Firefox user (I'm not one of those "F1r3f0x rul3z and IE iz the..." people, though!), and tabs will at least make the browser usable for me. However, unless support for Web standards improves, I still won't choose to use it and will continue to recommend "alternative" browsers to others to help the Web move forward.

Again, thanks for your (plural, including all developers who've done something so far) work so far, and please don't forget the other aspects of the browser.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:24 PM by Bruce Morgan [MSFT]
Sorry for the editing mistake on my last comment. The fragment should have been deleted.

Robert, there are people working on CSS, the user interface, internal architecture, etc. We have a large product with a sizable dev team. Hopefully you'll hear from more of them and read about what they're working on as time goes by.

# IE7 : plus d'infos sur les onglets

Thursday, May 26, 2005 1:28 PM by Jean-Marc, XP Geek !

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:39 PM by Worker
"the address bar and so on won’t be part of the tab of course"

Why "of course"? In Opera, by default the address bar is part of the tab, and it works quite well. I would even dare say that it makes sense, since the address bar contents change when you switch tabs.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:41 PM by Karan Mavai
Great post Tony! Thanks for ending the speculation and getting some solid info on the implementation.

I can't wait to try it out.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:43 PM by Jim
> Jim, the implementation is essentially redirecting what would target a new window into a new foreground tab. Perhaps Tony's explanation wasn't all that clear. Since it was going to go to a new window, the back button wouldn't have worked anyway.

No, I understood that; it's just that people are relatively comfortable with multiple windows (although some people still have difficulty), where tabs will be new and unknown for many. They have learnt to close the window if the back button breaks. That won't work for them any more.

Remember, popups and new windows have been a fact of life for web surfers for as long as most people have been on the net. You can't say the same thing about tabs, people just won't know how to deal with it.

For example, Firefox still opens target="_blank" and window.open() in new windows, and leaves new tabs for explicit user choice. Futhermore, you can configure it to work in the way you describe Internet Explorer 7.0 working if you prefer it that way (about:config in 1.0, Edit | Preferences in 1.1).

This is what I consider to be tabs done well, as it lets people use the tabs feature without confusing people who aren't used to the concept. The power users can figure out how to use them on their own, and the less advanced users can use them when somebody shows them how to do it, rather than getting confused at dozens of sites spawning new tabs without any obvious (to them) way of getting back.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:43 PM by Worker
"Currently, windows that have been customized (...) will default to opening in their own standalone frame"

Why not in a (non-maximized) tab? Only because certain "customizable" features belong to the frame instead of the tab? If so, isn't this an argument to make those part of the tab instead?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:43 PM by Worker
"Currently, windows that have been customized (...) will default to opening in their own standalone frame"

Why not in a (non-maximized) tab? Only because certain "customizable" features belong to the frame instead of the tab? If so, isn't this an argument to make those part of the tab instead?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:50 PM by Jomel
"the address bar and so on won’t be part of the tab of course, but 3rd party toolbars and Browser Helper Objects (BHOs) are because they are tied to a single browser and sometimes make deep assumptions about how they are hosted."

It would be nice if 3rd party toolbars could somehow specify if they wanted to be kept outside tabs (like the address bad will be), as although it makes sense for them to be in tabs by default, some toolbars should be kept outside of tabs...

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:55 PM by Ron
What about rearranging tabs, so you can drag and drop them? This would be a nice feature 'cause sometimes I have two tabs I have two switch between often, but they are not next to eachother.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 1:56 PM by Ron
What about rearranging tabs, so you can drag and drop them? This would be a nice feature 'cause sometimes I have two tabs I have two switch between often, but they are not next to eachother.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 3:20 PM by Tom
<blockquote>Regarding script, there is no "target='_tab'" feature or any direct access to tabs from script beyond what is available with multiple windows today.</blockquote>

Why not impliemnt <a href="http://www.w3.org/TR/2004/WD-css3-hyperlinks-20040224/">CSS 3 Hyperlink Presentation Model</a> to cope with this?

And yes you <em>are</em> allowed to impliment working drafts.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 3:21 PM by Tom
It seems you guys dont do html, nevermind ...

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 3:24 PM by Bruce R
Except the last time Microsoft implemented a working draft they were (and still are) crucified. Se XSLT-WD.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 3:47 PM by tonyschr
Jim, this will be something we continue to tune based on our internal usability studies and user feedback.

Setting are great, but since 95% of users do not change from the defaults we do a lot of work to try to make those defaults work as well as possible.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 3:49 PM by tonyschr
Worker, opening windows that have customizations in their own frame is not really based on the architecture, so as per the pervious comment this may be tuned in the future and might be controllable through settings.

# FireFox, Tabs and Multi-threading

Thursday, May 26, 2005 4:06 PM by Nicholas's Blog-O-Rama

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 4:11 PM by Joe Clark
I trust IE7 will discontinue the absolutely nutbar behaviour of cloning the window or tab when you select New? If I want a new window or tab, I want it blank, not a duplicate of the one I'm already looking at. (If I ask for a new Word document, should it come preloaded with the document I'm already editing?)

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 4:31 PM by quad
Hello, looking very much forward to the beta-release. But here is a suggestion for a feature that I (and many others) would like.
Like seen in the firefox browser, you should integrate an RSS feed reader. It is wonderful that you are finally including tabs, and this I think is a very good reason for the RSS integration!

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 4:38 PM by Fiery Kitsune
(Why does Dave Masey not allow comments on his blog, it defeats the whole purpose of blogging. If I read what he has to say, shouldn't he allow us to speak our minds?)

Tony, will the tabbar be movable and tabs be rearrangeable?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 5:51 PM by Daniel
Good news.

And what about a Download Manager? I think IE needs tab browsing, a Download Manager and some tools such as Advertisements Blocker and so on so as to look attractive to general public.

Talking about developers, IE practically only needs one thing: Real standards compatibility. :-)

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 5:53 PM by somebody
What happened to the comments? Accident, or did you guys get sick of getting bashed on CSS issues by angry users?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 6:02 PM by Dave Massy
Fiery Kitsune,

(Why does Dave Masey not allow comments on his blog, it defeats the whole purpose of blogging. If I read what he has to say, shouldn't he allow us to speak our minds?)

Sorry Fiery, I hadn't realised I had anonymous comments turned off. I've jsut reenabled so you may now post anonymously.

Thanks
-Dave Massy

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 6:06 PM by PatriotB
"I trust IE7 will discontinue the absolutely nutbar behaviour of cloning the window or tab when you select New? If I want a new window or tab, I want it blank, not a duplicate of the one I'm already looking at."

I take advantage of the way IE handles the New command all the time. I press Ctrl+N, and then on the new window click the Back button, thus getting the previous page open in a new window without disturbing the current page. The times I use browsers that don't do this I find myself sorely missing this behavior.

Just when writing this post I used it as well--without even thinking about it. I clicked on the "Post a Comment" link, but since the comments form lists only the post and not the other people's comments, I wanted to look at the previous page while keeping this one open.

So I hope that the behavior stays as is.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 6:30 PM by forgetfoo
hope this isn't a silly question, but are tabs "enabled" by default for popup windows? not sure i understood that part correctly...

...and i'm sure this isn't a big issues, as almost nobody actually uses it these days, but how do the browser tabs act when opening a window in "fullscreen" mode?

i'm sure that many are also curious about any/all UI changes to be expected with IE7 -- is it going to look like IE6, but with tabbed browsing enabled?

just type'n off the top of my head here (apologies in advance)

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 6:52 PM by Ian Hickson
Tom -- vendors are allowed to implement CSS working drafts, but only if they use vendor-extension prefixes, as in -o-link, -moz-border-radius, -mso-whatever, etc.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 6:55 PM by Maurits
I gotta ask...
What if you:

* Open a page in one tab that has a video
* Open a page in another tab that has a video
* Start playing the video
* Switch back to the other tab and start playing that video
* Switch back and forth repeatedly

Do both videos play at once? Does the video stop when you leave the tab?

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 7:25 PM by BobR
Will developers who use the WebOC also get access to the new frame that contains the tabs implementation? If so, in general how will access be provided and will there be new events available with an indication of which tab (brower control) is firing the event? Thanks.

-Bob

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 7:33 PM by Rex
What about the memory footprint - will you guys be taking steps to reduce the size of each WebBrowser instance?

if i have 10-12 tabs open at any one time (which i usually do in Avant Browser) then total memory usage could surge easily over 100MB.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 7:33 PM by Joe Clark
PatriotB (sic), don't be so proud of a behaviour that's broken. New means "blank document," not "clone of existing document."

If you want a mechanism to open the previous document in a new window, I'm sure you could write a Firefox extension.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 8:02 PM by James A
If you have 2 tabs open, Your viewing one and the other one updates on its own. (javascript, header refresh) Will that tab display something telling you it has changed? (like the toolbar does with indivudal IE browsers open?)

That would be great!

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 8:37 PM by Jeff Schiller
PatriotB

"I take advantage of the way IE handles the New command all the time. I press Ctrl+N, and then on the new window click the Back button, thus getting the previous page open in a new window without disturbing the current page. The times I use browsers that don't do this I find myself sorely missing this behavior.

Just when writing this post I used it as well--without even thinking about it. I clicked on the "Post a Comment" link, but since the comments form lists only the post and not the other people's comments, I wanted to look at the previous page while keeping this one open."

No offense (and I use this technique too), but that's a complete workaround for screwball behavior on IE's part. Having to reload/rerender a page that you don't even want to see and then go back twice is absurd.

A better approach for your particular scenario is very simple: Middle-click the "Post a Comment" link. Then you get a new tab to post a comment and you have the old tab with the original page on it. Once I started using Firefox this behavior became my standard approach and IE's New Window behavior became annoying.

Of course the caveat is that you must KNOW that you want to see the original page and the Post A Comment page simultaneously. If it's your first time to a website, and you've already gone into the page, hit the back button, then middle-click the "Post A Comment".

I agree with others who have said "New Tab" should give you a blank tab. Or maybe two options: New Blank Tab and Clone Tab?

Regards,
Jeff Schiller

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 9:49 PM by tonyschr
Fiery and forgetfoo, the UI and configurability are something we can't really talk about right now. There will probably be another blog post about this closer to or shortly after Beta 1 release.

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 9:56 PM by tonyschr
Regarding "New Window" vs. "New Tab", the default behavior in IE7 Beta 1 will be to clone the existing window for "New Window" as IE6 does, and open a blank page for "New Tab".

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 10:47 PM by Moskito
"...As a general rule, ActiveX controls and add-ons such as toolbars that interact with the browser and "lower" components through published interfaces should not have much trouble..."

Good to see that you keep powerfull COM alive, and it is also good that IE7 isn't a crap .Net application !

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:46 PM by carter
"In Opera, by default the address bar is part of the tab, and it works quite well. I would even dare say that it makes sense, since the address bar contents change when you switch tabs."

Opera 8 is a great browser, but I find it particularly annoying having the tabs above the navigation buttons and address bar. They look out of place (to me) and it means moving the mouse that bit further up the screen to change between tabs. It just doesn't feel as usable as it should/could!

Back on topic, the IE7 tabs implementation sounds pretty good, lets hope we see the first Beta very soon to give it a workout :)

# re: IE7 Tabbed Browsing Implementation

Thursday, May 26, 2005 11:58 PM by Userfriendly
You would have less problems if you put the whole IE6 window into the tab.

I dont think it worths to move the address bar out of the tab. Furthermore it is harder to use by the end-user!
It may happen to start typing the addres but need to switch temporary to another tab, then after returning back, the unfinished address might reset, because switching to the temp tab should switch the address into the address bar too. IMHO making a single address bar and keep different states for every tab is much harder than making unique separate bars that take care for their states themselves. You just need to use a common history of typed addresses for the whole browser.

In this single bar concept, what will happens when a webpage is designed to open with a hidden address bar?

Ive seen 3rd party software that extends the address bar functionality. I think pertab address bars will be more compatible with such software.

And dont forget to put the middle button of the mouse in use. :)
Middle click to a tab to close it is very handy, as well as middle clicking aside the tabs (on empty space) to open new window.

# IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 2:51 AM by Gemal's Psyched Blog
A developer on the IE team writes about IE7 tabbed browsing implementation. His role was to re-architect IE to support tabbed browsing. This work began last year and includes building a new frame (top-level window and chrome), sorting out how...

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 3:27 AM by Jaap
Great article, very clear and open about the process of adding tabs to IE7. I like it.

I've got a small question about middle click > new tab behavior. How will this work for javascript links? A long standing bug in firefox about this https://bugzilla.mozilla.org/show_bug.cgi?id=138198 is an interesting read.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 4:57 AM by hAl
Will the use of tabbed browsing also diminish the desktop heap limitations which now effectivly limits the amount of IE windows people can open ?

http://blogs.msdn.com/tonyschr/archive/2005/05/25/421923.aspx

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 5:18 AM by Brian Sexton
Thank you for the informative post; keep them coming.

I look forward to testing this.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 5:44 AM by Alex
Tony, how the keyboard navigation works for IE tabs? Are they being switched like VS.NET's tabs (the last seen tab becomes active on Ctrl-Tab) or like ordinary Windows tab control (Ctrl-Tab traverses tabs back and forth)?

Anyway, it's great that there's an ability to switch them off.

Thanks, Alex.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 7:37 AM by Rob
I would give up all of it if IE would just become more standards compliant. Being up to five years behind the standards and Firefox and Opera is just pitiful. So I hope to hear form the other developers about what work they are doing on CSS and the DOM. I'm tired of having to fix all my code just so it will work in IE.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 8:16 AM by David Naylor
Jeff: You can also just middle- or Ctrl-click the back button to get in a new tab.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 8:42 AM by Mario Goebbels
By pushing most of IE into a tab, does that mean we have a window frame exposing tabs, of which each again contains an address bar and an instance of each 3rd party toolbar? Or are these address- and toolbars outside the tabs but get flipped each time you chose a different tab? If latter is the case, I predict that you'll shoot yourself into the feet. I don't know about Joe User, but any person that's used to tabbed browsing using Firefox or IE wrappers will loathe such an implementation. I really hope that the tabs just contain the HTML content!

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 8:55 AM by Don Huan
Hi,
I hope your team has seen the Maxthoon browser, based on IE. Most of it's tab functions and behaviors are so awesome that it would be great to see them also in IE7.

Don.

# CZilla: Panely v Internet Exploreru 7

Friday, May 27, 2005 10:50 AM by Pavůčina
Tony Schreiner, v&#253;voj&#225;ř t&#253;mu Internet Exploreru, se na IEBlogu rozepsal o implementaci panelů v připravovan&#233;m IE 7.
Z popisu je vidět, že zd&#225;nlivě jednoduch&#225; &#250;prava v sobě skr&#253;v&#225; mnoh&#233;
komplikace ve chv&#237;li, kdy neupravujete jen prohl&#237;žeč, ale tak&#233;
komp

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 1:12 PM by Torrent
Torrents sites like http://www.madtorrent.com will have IE7 before it will be publicly released probably...

# IE7开发组透露更多标签浏览细节

Friday, May 27, 2005 1:13 PM by 回头是岸
Ping Back来自:www.donews.net

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 3:17 PM by Noah
Retaining the current page in new IE windows is extremely annoying for me.

I work an an intranet app that uses onload scripts to open new palette windows. If I hit control-N to get a new browser window, it will try to open new copies of the palette windows. The child windows are all referenced by name in code, but now there are multiple windows with the same name, which causes various conflicts.

It gets more complicated, but to sum up:
The new window functionality in IE 6 requires me to quit IE and start over to reset my session if I use it while viewing a page on our intranet app...

Please make Control-N default to loading the home page.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 5:05 PM by A.T.R.A. II
You talk about the linkage between IE and
Explorer, in sharing Chrome and such.

How about giving us Tabbed Explorer windows?

That'd be shades of Win 3.1's old File Manager,
which gave us left and right directory panes
to control and drag files between.

So, A) is it feasible and B) will you see about
getting it done?

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 6:09 PM by mmk
use mozilla

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 6:35 PM by Ben
Creating a target=_tab would just further Microsoft's de-standardization of the web. To even think this was a possibility is sickening...

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 6:40 PM by rek
Awww... Previous poster posted my concerns.
Saying that you decided not to include a target=_tab is a bit arrogant, as you don't control web standards... Thankfully.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 7:25 PM by timecop
I've created an online petition to request microsoft to reconsider adding tab browsing into IE7 by default.

Everyone who doesn't want tabs on by default, PLEASE sign!

http://www.petitiononline.com/msie7tab/petition.html

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 7:45 PM by AIM Profiles
This is brilliant, as well as a 'must' in order to keep Firefox competition at bay. Does anyone know if AIM's "AIM Today" browser is an IE implementation?

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 7:49 PM by Daniel Andrews
That's one of the silliest petitions I've ever seen.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 8:08 PM by Anonymous
"Regarding "New Window" vs. "New Tab", the default behavior in IE7 Beta 1 will be to clone the existing window for "New Window" as IE6 does, and open a blank page for "New Tab"."

I hope you don't mean it will clone the whole window, including all of its tabs.

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 8:31 PM by Travis
Tony,
I would like to see the tabbed interface be more like Visual Studio than Firefox. Beyond Studio, actually: tabs can be reordered, new vertical and horizontal splits can be made, tabs can be torn off into new windows, a tab from one window can be dragged into the tabs of another window. I'm looking forward to seeing what you guys deliver!
-Travis

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 9:34 PM by Matt
Why not try and support the standards, I am bloody fed up of having to use kludges to get my pages to work in IE

# re: IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 10:16 PM by Jay Baldwin
I like the idea that Internet Explorer is adding tabs. I think its a good move, and let me be honest and be up front about this -- I have not read any other posts. I don't have the time today. But I did want to express some feelings to see what you guys thought..

There are two lines in this post that simply horrified me, even though I am so very glad to see tabs in Internet Explorer:

1. We are working on balancing the default behavior for whether a window opened from script opens as in a new frame or a tab.
2. CTRL-clicking and middle-clicking links will open those links in a background tab.

My thoughts are this: You're entering the game kind of late. Opera's web browser has had tabs and controlling elements on them for as long as I can personally remember, Apple's Safari has had them for a while, and my personal favorite, Mozilla Firefox, implemented them with by default. Internet Explorer is last, but it is finally conforming to the now new standard. Why slack in even this?

In Opera's Web browser, and with certain (standard) Firefox extensions... the *USER* controls how tabs behave... what Ctrl+Click or Middle-Click does to a tab or link. I see the point with creating a standard. But I was disappointed to read a section of the post called "Keeping the User in Control" and find out that the only feature that the user is allowed to control is turning tabs on and off. The toggle, to me, isn't that big of a deal. I personally think that it would be at least wise to consider adding support for advanced users to customize their tabbrowsing experience. This is definitely a step, and can be seen as a default later. But don't limit my usage to what you think is right. And I don't think its a good idea to tag the idea of turning tabs off the only way to reclaim real-estate on the desktop. Honestly, desktop real-estate is one of the main reasons I use Mozilla Firefox. I keep everything in one window. If Internet Explorer 7 has tabs, but still doesn't let me disable the use of multiple windows, it'll be pretty much the same thing to me as it has been since the final release of Mozilla Firefox.... absolutely useless.

# Standards?

Friday, May 27, 2005 11:07 PM by ME
I think you guys are doing a great job.

Don't listen to the people whining about standards. IE6 works fine most of the time.

These "developers" are just looking for something to whine about.

When you have 90+% of the market, you pretty much are the standard, anything not IE compatible is not "standards" compliant by any real sense of the word.

Keep it real.

# IEBlog talks about the IE7 Tabbed Browsing Implementation

Friday, May 27, 2005 11:53 PM by Pagevie.ws
Tony goes into the implementation details on the IE blog,

&quot;One design decision worth calling out is that our current implementation is fully multithreaded. Each tab is on a separate thread, and...

# I'm happy

Saturday, May 28, 2005 12:39 AM by riddle
.. hearing this. This post is normal .. without sweetening and bragging. Those features are known from other browsers, but this what you do is normal .. tabs should work in this way. Good work. :)

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 1:09 AM by tommyt
yah,yah,yah...but does it work on a Mac?

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 1:42 AM by Hellaenergy
Please tell me that IE7 will fully support all the w3c standards such as CSS (2.1 & 3) and SVG. Come on Microsoft its time to play nice with others. If you want this browser to be a successful browser and not just used because its installed by default on windows you are going to have to work closly with W3C and follow the standards _fully_. As a web developer and browser connaisseur I beg of you to heed to this call.

[this post was posed via Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4]

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 2:00 AM by trick
"These "developers" are just looking for something to whine about."

These so-called developers also make websites and know the experience of spending an hour or two trying to figure out why thier <div> is disappering, or why IE can't assign variables in javascript.

Us developers are here to provide you users with a good experience. But we can only do so if the browser makers provide us with standard tools to work off of. I know IE won't do some of the really cool things like SVG and the CSS3 Working drafts, but if they could at least fix their HTML and CSS implementations that would be really welcome.

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 3:11 AM by Robert McKee
Please make the "open popup" behavior configurable. I *HATE* it when pop ups open a new window when I'm using a tabbed browser. Something like:

Popup behavior
( ) Always in a new window
( ) Smart popup (as you described)
( ) Force it to (new) foreground tab
( ) Force it to (new) background tab

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 3:37 AM by not given
I think the way the tabs will work is very good however i would like to be able to select multiple tabs as a single favorites item so for example when i select my favorites item it will open up the three websites i have selected in three different tabs.

# You DELETED My POST

Saturday, May 28, 2005 9:33 AM by VERY MAD READER/POSTER!!!!!
You Cheater!!!!! You deleted my negative post!!!!!

You could have just edited it!!!!!

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 9:40 AM by Matthieu
implementing tab is a good idea... nothing original, but needed !

BUT when will you implement THE "feature" : respect of the web standard (XHTML CSS DOM SVG) ?

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 9:49 AM by LongtimeOperaUser
Great to hear about tabbed browsing coming to IE! Will it be able to save a session so that the browser reopens with the same tabs that the user had when they closed the browser? Please integrate this feature and make it a switchable option, if not a default, instead of leaving it to a 3rd-party add on. But this raises some hairy issues that are currently better handled by Opera compared to Firefox.

One issue concerns a browser session where one of the tabs is causing the browser to lock up or crash. Since I have Firefox set to save sessions automatically, I'm locked in a loop of 1) open browser with all tabs 2) crash and save tabs 3) back to 1. The only fix I have is to disable network access so that the browser tabs can't connect to the site that's causing it to crash. Opera can be set to give you the choice upon startup of reopening the set of tabs from the previous session or just limit the new instance to one tab.

And then there's the hassle of having your umpteen tabs getting opened when all you want to do is view a URL that you've clicked on from Outlook. Ugh. It should create a new tab if the browser is already open, or just open a single tab if it isn't.

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 9:59 AM by share &amp; enjoy!
I use and like tabs, however I really would like you guys to concentrate on implimenting full W3C CSS\XHTML standards and I think that should be much more of a prioritory for the IE development team.

# Threaded programming

Saturday, May 28, 2005 10:50 AM by Eyal Lotem
"One design decision worth calling out is that our current implementation is fully multithreaded. 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."

From my experience, these are the words of either novice or incompetent programmers. Threads typically _decrease_ performance, not increase it, assuming you know how to create a solid reactor, at least.

I am gambling that multi-threaded approaches are one of the reasons Microsoft's software is so buggy and less deterministic than the open-source equivalents.

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 11:08 AM by Tedjn/Zyloch
In my personal opinion, I think everyone is being a bit harsh on the developers, and I'm saying this from the point of a person that has spent lots of sleepless nights figuring out why my site works fine in IE but not in Mozilla knowing that Mozilla is probably correct. But I also spent a lot of nights figuring out how to imitate some features of IE that make life a lot easier and I would like standard.

Building a browser certainly isn't easy. I know that I could never even start building one. Sure, IE is a bit late adding in tabbed browsing and stuff, and it obviously isn't their idea, but know that most of the users out there are still using IE! That's why all the bickering about standards is going on. If no one uses IE, it wouldn't matter!

So the majority of the other uses can also get tabs, which I think is a great thing. If there is a good feature, then we might as well implement it everywhere so everyone can enjoy it.

I may be optimistic about this, but I'm trying to look at it in a way that will better everyone.

Tabbed browsing isn't too much of the issue that everyone's posting about. Everyone bickering about standards and stuff. The real issue here is about tabs.

I'm not too sure on the window.move() part however. I was not familiar with move() and after looking at the documentation, it seems to deal with TextRanges which are unfortunately not well documented (and IE only which was a pain I'll admit as it gives remarkable control to text fields).

I believe you meant window.moveTo()? (yeah, Javascript really gets to you doesn't it? lol)

Finally, I just saw IE blogs earlier today, so I don't know if there are any, but if there are some on the CSS implementation that is going on, or stuff to deal with ActiveX security (which is the main reason I'm using Firefox -- the spyware really gets into the computer), then I could really tear it apart if others haven't done so already ;)

But remember that this topic is about tabs and stuff, not CSS.

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 11:53 AM by Bruce Morgan [MSFT]
re: comment deletion

Actually, Ma Mad Reader, I can't edit comments. The blog system blogs.msdn.com doesn't allow that. Comments are as-is or deleted.

I deleted three commments yesterday, IIRC. Two used swear words (hey, you can make your point without them), and the last one was a rant that ended with calling us "morons" and claimed (without a link) to be CowboyNeal. Personal abuse + misrepresentation = deleted.

There are more than 4000 comments made to this blog that didn't get deleted; probably a lot more than half negative. It's not hard to make your point in a way that won't get you deleted.

# Threads

Saturday, May 28, 2005 1:44 PM by zoogies
I dont' understand the concept of threads very well. If each tab is in its own separate thread, does this limit the number of tabs that we can have open without crashing the system? Do Firefox and Opera do this?

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 4:06 PM by The CDCer
For the love of God, it's about time for IE to catch up with all the other browsers on the market, but tabs are the least critical issue.

Personally, I have been burnt many times and wasted 100s hours in the past working around IE quirks. Yesterday, it happened again, and I didn't realize it till now, leaving a portion of The CDCer header chopped off by IE for hours!

The cause of the problem is the negative margin surrounding the header block. This is a common CSS practice to control layout, and it worked fine with Firefox and Opera on both Windows XP SP2 and Mac as well as Safari, but not IE 6.0.

Read <a href='http://cdcer.blogspot.com/2005/05/why-ie-must-die.html'>the rest of my rant</a> ...

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 7:01 PM by David Regal
We don't care about tabs... what about CSS2, MIME types and XHTML support?

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 9:05 PM by Victor Jr
I've been using Maxthon for a long time. There is something very useful: we don’t need to use middle button or right click in order to open a new tab, just drag selected text to open a new tab with the results from any search engine (Google, etc.) or, if we drag a link, a new tab is opened. It is much faster.
Firefox has this extension too.

# re: IE7 Tabbed Browsing Implementation

Saturday, May 28, 2005 9:35 PM by TheMuuj
How is dragging faster than a middle mouse click? I never like to drag. I don't drag to copy files (I use keyboard most of the time), and I don't even drag to draw a picture (I use a tablet).

The mouse is such an awkward device. I don't know how people use it as their primary input device. Middle click to open in a new window is the best idea for that button I've ever seen.

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 1:31 AM by WebHobbit
Please tell me that the long standing "save only as BMP" bug has been fixed for IE7?

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 7:17 AM by David Naylor
Yes, I would like to know how on earth can dragging be faster than middleclick?

The simple answer is: It isn't, and can't be.

Middle-click: "Click"
Drag: Pressdown-drag-let go

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 8:17 AM by Chris H
Sorry to ask this again, but just out of interest, will IE's FTP capabilities still work with the new tab system?

Also, I don't mean to insult anybody's intelligence or abilities here, but have you checked weather or not two web pages with the same CSS / JavaScript ID / class references don't mix within one another tabs?

For example, if I were to have site A in one tab and site B in another, the CSS code referencing div#nav in site B won't effect a matching element from site A in the previous tab?

I know this may be an obvious check, but I thought I'd raise it, as it could be a really irritating bug if such a thing did occur.

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 3:09 PM by PatriotB
Giving each tab its own thread is critical--and I'm surprised to hear that Firefox doesn't do that. IE currently gives each window its own thread, that way if one window gets hung for some reason the others keep working smoothly. With tabs, if one tab gets hung for some reason, you can keep surfing with the other tabs.

Multithreading is meant for these purposes--dealing with more than one task at a time. There is a small bit of overhead in dealing with multiple threads (context switching, synchronization), but the result is a more responsive application.

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 3:14 PM by Zach
You know what drives me nuts? Someone from the kitchen at Microsoft could walk into a room with you all in it, and say "Lunch is Ready" - and 5 of you would ask if its standards compliant, and two more would start asking about the Turkeys CSS support.

Imagine if you would - from day one, all browser companies got together and said - lets make a standard, and all do it exactly the same. That way all things work in all browsers for websites. Wouldnt that be great.

...fast forward to today, ten years later. Where exactly would be? No Psuedo class, since that was a MS thing (thats your a:link,a:hover,a:active;a:visted for the most common known use) - Innovoation would not exist, because browser to stay standards compliant can not innoviate away from what the unofficial standard body says is the standard.

If IE went that route today, falling in with the bit players like Moz and Opera - the result would be the worse thing that could ever happen to the web. True improvements, true innovation, comes from a lot of money, a lot of failed attempts, a lot of mistakes, and time. An open source product does not have the money, or the resources to truly innovate - oh they can come up with some new neato commands, but I am talking about the stuff that happens like going from a text browser to a graphical browser. Who knows that the next major evolution in the browsers will be? Well - none if they all stay standards compliant 100%.

A corporation like Microsoft, when the day is over, has 0 responsibility to you or I. They have one responsibility, that federal laws do mandate, and that is for them to attempt to make money for their shareholders. In that attempt, they are required to push the bubble, innovate, develope new products, technologies, whatevers. They even have to care about what you and I think. Its that requirement for them to continue to attempt to make money, that pushes them to dump billions of dollars in to R & D. I mean - the linux/open source community gets excited over a million dollar donation. MS spends more than that before lunch every day on R&D.

Really long ramble shortened, we need non standard stuff more than we need standard stuff.

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 3:15 PM by PatriotB
Travis brings up an interesting point when he mentions Visual Studio's tabs. I don't have Visual Studio installed myself, but I do have the Windows Platform SDK installed. It uses "Document Explorer" to view documentation, and what Document Explorer is is essentially a tabbed browser--you can browse the Internet with it. It's a rather good tabbed browser at that--it supports rearranging tabs and other things that people are asking for. It would have been a good thinkg to release as an "advanced" user interface for IE.

# re: IE7 Tabbed Browsing Implementation

Sunday, May 29, 2005 3:32 PM by TheMuuj
Zach:

I have never, ever complained about any browser adding extra stuff. All of the extra -moz- styles and kthml styles are great, and I wish that some of these would bleed across browsers (such as IE supporting some of the more common -moz-* properties), at least until they get officically standardized.

So, no, I don't want to stop ANY browser from innovating and adding things (but like I said in another comment, when was the last time IE added anything?).

But when one of these great ideas does get picked up by the standards (like :hover), then PLEASE PLEASE PLEASE work on putting it in the browser.

That's my ONLY complaint with IE6. If there had been an IE6.2 that came out a year ago, adding CSS 2 support, and ran on Windows 2000 and XP, then I would have NO PROBLEMS WHATSOEVER with IE. They could also add hundreds of proprietary tags and styles. Extra things do not necesarrily hurt standards, but the standards should be the baseline of support (and I'm not talking about CSS 3). Any less and a browser is not good enough.