Freigeben über


Add-ons and IE Reliability

Third-party software (such as
add-ons) causes many of the crashes you experience in IE. From an analysis
of the error reports submitted during IE9 Beta, third-party code accounts for around
70% of all the crashes in IE. While we work hard to improve IE9’s reliability in-house,
it’s equally important to ensure that the add-on ecosystem is compatible with IE9.
This is a
challenge faced by
other browser vendors as well.

Throughout the IE9 development cycle, we addressed the top add-on reliability issues
using the same process described earlier. The add-on ecosystem is now highly compatible
with the final IE9 release. For example, our compatibility testing data shows that
the top 40 most used add-ons in IE work properly in IE9 without crashing.

In this post, I walk through our process for driving add-on reliability throughout
IE9, describe how add-ons affect reliability, and show how we identify and outreach
these issues to add-on vendors. I describe how we improved the Upgrade Advisor experience
in IE9 and share information to troubleshoot add-on reliability problems in IE.


How Add-ons Affect IE’s Reliability

As we’ve
stated in previous posts, poorly written add-ons can affect IE’s reliability
since they are essentially Windows applications that run in the browser. Most add-on
crashes occur during IE usage scenarios, so it’s not immediately obvious to you
that the crash is caused by an add-on. These are the same scenarios where you may
experience add-on performance problems:

  • Launching IE

    IE initializes your add-ons upon launch. An error in the add-on initialization code
    path may result in a crash. Many of the compatibility issues we found during IE9
    manifested as crashes in this scenario.

  • Opening or closing tabs

    IE also initializes add-ons whenever you open new tabs. When you close a tab IE
    unloads all the add-on modules from memory. Add-ons that don’t manage their reference
    counts properly may crash the tab while it’s being closed.

  • Navigating to Web pages

    Since add-ons are able to perform operations as you navigate to Web pages, they’ll
    also be susceptible to crashes.


Add-on Reliability in IE9

The error reports you submitted via Windows Error Reporting, the Send Feedback Tool
and other methods helped us understand the state of add-on reliability in the IE9
Beta and Release Candidate. We investigated the add-on issues starting with the
most frequently occurring ones. As you can see from the chart below, we’ve addressed
each of the top 30 crashing add-ons in IE9 so far:

This graph shows the top 30 add-on crashes in IE9 sorted by occurrences. The top crash is caused by Conduit Toolbars with 2.6 million occurrences. 7 of the crashes are fixed in IE9, 9 have been fixed by the vendor, and the remaining 14 are still in outreach stage.

We’ve addressed each of the top 30 crashing add-ons from IE9 Beta and IE9 RC

The green bars represent crashes that we fixed in IE9 after we identified the root
causes to be IE code issues. The other bars correspond to the issues we’ve outreached
to 3rd party add-on vendors using the
WinQual program. The blue bars indicate that the vendor has fixed the issues
and has an updated version available. If you have one of these add-ons installed,
we encourage you to update to the new version.

The orange bars represent add-on crashes that vendors are still investigating and
may have fixes ready in the coming months. In general, we encourage add-on developers
to sign up for an account via WinQual in order to get access to the crash reports.
It’s the first step towards maximizing add-on reliability.


Improving the Upgrade Advisor in IE9

Once vendors have fixes in place for these top crashes, they can use IE’s Upgrade
Advisor to update their users to new versions of the add-ons that contain the fixes.
Specific versions of add-ons that are on the Upgrade Advisor list will be automatically
disabled when you launch IE.

Sometimes an add-on may prevent you from using IE. For example, the add-on may repeatedly
crash upon launching IE. The add-on may also contain functionality that is not in
compliance with the guidelines and
requirements
for Internet Explorer. As we outreach these issues to add-on
vendors, we also add the add-on to the Upgrade Advisor list to allow you to continue
using IE properly without encountering the issues.

The following chart shows which of the top 30 crashing add-ons we have added to
the Upgrade Advisor list for IE9:

This graph shows which of the top 30 add-on crashes from the previous graph have been added to the Upgrade Advisor for IE9. The add-ons are ShopperReports Add-on, ALOT Toolbar, PC Confidential Add-on, Yandex.Bar, iPlus Add-on, Xunlei Download Add-on, Texthelp Browsealoud IE Add-on, Windows Live Toolbar, the SuperFish IE Add-on, and the Skype Add-on.

This view of the failure curve shows which of the top 30 crashing add-ons we’ve added
to the Upgrade Advisor list

If you have add-ons that are disabled by the Upgrade Advisor, IE notifies you of
the incompatible add-ons immediately after you launch the browser. Instead of displaying
a dialog as we
did in IE8, IE9 displays a notification for each add-on. IE stays out of
your way if you don’t want to take action:

Soft block notification for IE9. The notification says, "'Contoso Toolbar' isn't compatible with Internet Explorer and is temporarily disabled." The buttons are "Check for updates", "Leave it disabled", and "Keep using it".

You can decide whether to leave the add-on disabled, check for an update or keep
using it for the current browsing session. Selecting “check for updates” launches
a Microsoft Knowledge Base article
about the add-on in a new tab. If an update is available, the KB article will contain a link to the update.

The above experience is referred to as a soft block. Vendors can choose to
have us hard block their add-on if they don’t intend for their users to continue
using the current version(s). The “Keep using it” option is not available for add-ons
that have been hard blocked:

Hard block notification for IE9. The notification says, "'Litware Toolbar' isn't compatible with Internet Explorer and is temporarily disabled." The buttons are "Check for updates" and "Leave it disabled".

If you enable a blocked add-on while browsing, such as through
Manage Add-ons, IE displays the corresponding dialog notifying you of the
state of that add-on:

Hard block dialog for IE9, shown when users try to enable a hard-blocked add-on from Manage Add-ons. The dialog says, "'Litware Toolbar' add-on version '1.0.0.1' published by '(Not verified) Litware' is not compatible with Internet Explorer". The options are: "Check online for an update" and "Always open Internet Explorer without this add-on".

IE9 shows the Hard Block dialog when you enable a hard-blocked add-on


How You Can Investigate Add-on Crashes

Our approach to investigating add-on crashes focuses on the most impactful issues.
You may encounter a low-hitting add-on crash that we have not addressed, or a crash
in an add-on that we haven’t added to the Upgrade Advisor list yet. There are several
ways you can identify the crashing add-on in IE.

As we covered in an
earlier post, IE9 notifies you when new add-ons are installed to ensure
that only the ones given explicit consent can run in the browser. By giving consent
you also become aware of the add-on software you’re enabling. If IE starts crashing
after enabling an add-on, you can easily identify the faulty add-on and disable
it.

If the add-on prevents you from launching Internet Explorer, you can launch IE into
No Add-ons Mode
where all add-ons or ActiveX controls are disabled. You can disable an add-on if
you know it is problematic, or troubleshoot through your enabled add-ons to find
the one that’s crashing.

You can launch No Add-ons Mode by running the command iexplore.exe -extoff
or from the Start Menu: All Programs > Accessories > System Tools > Internet Explorer (No Add-ons)

Screenshot of IE9 no add-ons mode.

We don’t recommend using No Add-ons Mode for regular browsing since many important
plug-ins such as Flash and Silverlight won’t be allowed to run on the Web sites
you visit.


Maintaining the Add-on Ecosystem after IE9

We made great progress addressing add-on reliability issues throughout the IE9 pre-releases
via 3rd party outreach and the Upgrade Advisor. Your crash reports enabled us to
understand the state of the add-on ecosystem and prioritize the top issues to address
first.

Though we’ve released IE9, we will continue to work with add-on vendors to address
top crashes due to add-ons and other third-party code. As we identify new incompatible
add-ons we’ll ship updates to the Upgrade Advisor list through cumulative security
updates so that you can stay in control of IE’s reliability.

Please let us know via blog comments or Connect
if you identify any add-on that causes significant reliability issues. Add-on vendors
should also feel free to contact us regarding adding an add-on to the Upgrade Advisor
list.

—Herman Ng, Program Manager, Internet Explorer

Comments

  • Anonymous
    April 25, 2011
    Why is IE still using an add-on model from the IE5/6 era? All add-ons for IE tend to be ugly toolbars, messing with the slim and sleek look of the browser. From what it seems, developers can't add icons to the interface to be small and out of the way, like what can be done in Firefox and Chrome... It's toolbars or nothing. IE9 is great, but do you have any intentions of making the add-on model for IE better, and easier?

  • Anonymous
    April 25, 2011
    Good point Ian. For example I chose to not use LastPass toolbar in IE9 precisely because it renders a whole extra toolbar for one simple button. That toolbar completely ruins the sleek look of stock window.

  • Anonymous
    April 25, 2011
    Happy to see this report and that you are actively working on improving the add-ons!

  • Anonymous
    April 25, 2011
    I'll repeat the obvious request: Please let us have "lightweight" addons, preferably in JavaScript. Why should we need to do a  external installation, while Chrome gets a single click add-on enabling? And btw, thanks for the great work so far!

  • Anonymous
    April 25, 2011
    @Roman  LastPass can be set as a button in the command bar and will still work when the command bar is hidden keeping the default look of IE9.  It's not an ideal solution but since all I need LastPass to do 99% of the time is fill in my passwords for me it's not too inconvenient the rare occasions I do need to access the LastPass button.

  • Anonymous
    April 25, 2011
    @Roman Yup, exactly. I was going to use LastPass, but I couldn't stand the toolbar. I know it isn't LastPass's fault... They are only working with what they have.

  • Anonymous
    April 25, 2011
    Windows Live Toolbar - 'Outreached to Vendor'? :) Rather off-topic, but the 2px gray border around about:x pages is a bit jarring. Can they be rewritten with the HTML5 doctype to get rid of it? I dream of a future where that border is gone forever. It's still there for Google.com, unfortunately (and Microsoft.com, for that matter, but not Bing.com!).

  • Anonymous
    April 25, 2011
    The comment has been removed

  • Anonymous
    April 25, 2011
    Thank you for calling out the misbehaving toolbars.

  • Anonymous
    April 25, 2011
    There is no need for a "toolbar" für add-ons. If you don't like toolbars, ask the vendor to supply them in another way.

  • Anonymous
    April 25, 2011
    @Quppa: That's correct - we treat our internal add-on partner teams with the same processes as we do with 3rd party add-on vendors, which is why we group them under the "Outreached to Vendor" category.

  • Anonymous
    April 25, 2011
    @Herman  Tell me Why don't Microsoft/IE Team listen to the users? We have told IE many of times to get rid of Active X...  why not remove it? I hacked Active X faster than i can plugins in firefox.  Active X has been in IE since the beginning but its time to say goodbye to Active X

  • Anonymous
    April 25, 2011
    There is still a bug in IE9 RTM with toolbands: Sometimes when opening a new tab, IE9 displays a toolband inside the browser frame (content area). After resizing the IE window, IE corrects the issue and positions the toolband as expected. This was already in the RC and continues to exist in the RTM build. I've even seen this with the Bing toolbar.

  • Anonymous
    April 25, 2011
    IE10 could introduce a new collapse style for toolbands (perhaps in IDeskBand::GetBandInfo). If set, IE10 could collapse a toolband to just 5 pixels or similar in height. If the mouse pointer rests over this area for 100 ms, IE could expand the toolband to its regular size and automatically collapse it again on mouse leave. This would also be nice for the Favorites bar.

  • Anonymous
    April 25, 2011
    "proper .net support for IE addons" there is NO .net support for IE addons, for the simple reason that you can only host one version of .net in a process, and things get very messy very fast

  • Anonymous
    April 25, 2011
    > there is NO .net support for IE addons, for the simple reason that you can only host one version of .net in a process, and things get very messy very fast wrong

  • Anonymous
    April 25, 2011
    @Ian ActiveX is actually a few months newer than NPAPI used in all other browsers. I'm not sure what age has to do with anything though @Kevin As mentioned ad nausem if you've been following IEBlog for awhile, the IE Team hates all things .NET related. blogs.msdn.com/.../agcore-addon-hangs-internet-explorer.aspx blogs.msdn.com/.../add-on-performance-part-3-optimizing-add-on-startup-performance.aspx blogs.msdn.com/.../1317290.aspx The fact that using .NET is possible at all is more of an oversight rather than an attempt to make it a viable option.

  • Anonymous
    April 25, 2011
    The first 2 posts make a point. In fact, I hate toolbars, especially if they act like Glorified Favorites. Internet Explorer should reconsider their add-on model, because toolbars are getting in the way of "The Beauty of Web". There are so many websites, and I can't imagine if all them want a piece of space in the Main IE9 Window -- That defeats the purpose of "Your Websites Shine" mantra of IE! And now we have "Your Toolbars Shine" mantra. Reconsider your concepts of Add-Ons, IE Team. Why do websites want toolbars in IE9? Is it to promote searching in their site? Well the IE9 address bar already supports customizable search. Is it to display information that changes by the minute? We have Windows Gadgets for that. Is it to let users access maps? Well your Accelerators can already do that. Is it to make it easy to see notifications from Facebook? Well I can already pin Facebook to the Windows 7 Taskbar. That's why I still stick to Firefox as my main browser. Firefox Add-Ons, are so useful even if they are Not toolbars. Some of them are simple, and is just 1 button that is worth 2 useful toolbars in IE. And if ever there are toolbars, they are 100% as useful as real applications. Web Development Toolbar and HackBar for Firefox are great examples.

  • Anonymous
    April 25, 2011
    I try to not run any toolbar add-ons... too much real estate for rarely used features. I would also like to see new extensibility points in IE10. Like Kinect.... "Be Disruptive". What new capabilities should a modern browser should have and let developers tap into these features for customizing for their own sites or internal networks. drab toolbars feel dated. I'd like to see if you guys could come up with some new interface or features that would let me get access to quick information or take quick actions but then get out of my way so that I can continue to browse normally. I have no idea about what that looks like but I'd love to see what you could come up with. remember... be disruptive in the market. Hardware acceleration was a great start... keep it going.

  • Anonymous
    April 25, 2011
    The comment has been removed

  • Anonymous
    April 25, 2011
    "Block popup windows. (IE9 has that already)" Not to be a downer or anything, but no, IE does not have a popup blocker, at least one that works well. I bet a lot of reliability issues could be fixed by implementing a popup blocker that actually works... Seeing as sometimes you can get spammed with popups causing massive hiccups.

  • Anonymous
    April 25, 2011
    The comment has been removed

  • Anonymous
    April 25, 2011
    Toolbars are dead technology - nothing to see here - move along. Only IE is stuck in the 1990 world of toolbars, and thus only IE is stuck in 1990 browser land. Long live all other browsers!

  • Anonymous
    April 25, 2011
    But some parts of the problems are YOUR problem MS. If I would be an addon developer, I know that my addon make trouble with IE9.0 and I update my addon. What I can do now with the update? Print out the sourcecode and send it as an letter to the addon users?

  • Anonymous
    April 25, 2011
    The comment has been removed

  • Anonymous
    April 25, 2011
    @Roman and Ian - there is a dropdown next to the LastPass icon in the LastPass toolbar in IE9. If you open that dropdown it will give you an option to hide the toolbar, but still run LastPass. This is how I have it configured, and it allows access LastPass commands through a right-click.

  • Anonymous
    April 26, 2011
    The comment has been removed

  • Anonymous
    April 26, 2011
    @Ian and @ Roman, In LastPass, Preferences under Appearance choose "Use only command bar button", which will give you exactly what you're asking for - the LastPass button in the existing command bar. Of course this does require the IE command bar to be visible.

  • Anonymous
    April 26, 2011
    During the ie9 beta phase, a suggested was created on Microsoft Connect that a more capable, script based, add-on system be created. (connect.microsoft.com/.../ViewFeedback.aspx) The addin system of firefox, or chrome, was suggested as an example. The goal is to have a non-binary powerful, extension system that could allow features the current COM addin system doesn't (e.g. Adblock, buttons) The issue was closed as 'by design', with the note that the feature might be considered for future versions. If you want the feature: go upvote it!

  • Anonymous
    April 26, 2011
    One thing that irks me is the inability to remove certain add-ons. I speak specifically of the Quicktime add-on though there are others. I currently cannot uninstall Quicktime from my computer due to other programs I need being dependent on it. That should not mean that despite disabling Quicktime entirely in IE (it is not removable, sadly) I am nonetheless presented with an annoying notification virtually every time I go to view a PNG file directly (telling me that the webpage wants me to enable Quicktime, something I highly doubt to be true). Windows 7 and IE 9 are both perfectly capable of displaying PNG files, Quicktime is not set as the program to open PNG files on my computer, I've been through all the "Default Programs" settings in Control Panel (even through creating custom settings in "Set program access and computer defaults" to supposedly block access to Quicktime), all to no avail. I still get that notification (which I close and then when I set the keyboard focus to the location bar and press 'enter' the PNG file loads properly). I know this isn't Connect, but this is a post about add-on reliability and I can't see why I should be blocked from removing an add-on that I don't want and which could easily introduce security issues simply because other circumstances compel me to keep the software that provides the add-on installed. No add-on should get preferential "you can't remove me" treatment, regardless of the vendor. Sorry for the rant; IE 9 is beautiful otherwise; this one small thing just keeps me marring my experience. :(

  • Anonymous
    April 27, 2011
    Disabled the Skype add-on years ago. I hate all toolbars, and don't have any of those add-ons.

  • Anonymous
    April 27, 2011
    @MieBMcL: I can disable Quicktime fine from the Manage Addons and it stops doing that. Have you tried that?

  • Anonymous
    April 27, 2011
    The comment has been removed

  • Anonymous
    April 28, 2011
    Microsoft should have a consistent and company-wide model for developing add-ons for all of their products. Look at the mess that is add-on development across Microsoft products now. Visual Studio supports multiple add-in models, one is the old COM-based add-in model, the other is the .NET-based extensions model based on MEF and it even supports VS Macros from the 90s which are not the same macros, mind you, as in VBA. In Office we have yet another messy scene where we have the old VBA macro system which is so old and so antiquated. We also have the COM add-ins which are like IE's add-ons hard to find on the Internet, hard to determine which to trust and which not and hard to uninstall, i.e. there is no centralized marketplace which works and there is no centralized add-ins installer/uninstaller packaging system for Office, even after so many versions. Then, there is the more modern .NET method of building Office add-ins. It somewhat easier but it has the same packaging and discoverability problems of the COM programming model. It can also create unstable add-ins which hold references to COM objects which are not properly released due to the managed/unmanaged code barrier. Overall, Microsoft products should have a common marketplace and a common programming methodology of extending them. If that will be .NET-based then fix the issues and go on with it. If it is not .NET-based then decide apon a model, create a packaging system and a marketplace and implement it in all your products uniformly. And stop updating the add-in model every version like Office does that every time there is a new Office I have to upgrate my .NET runtime for writing Office add-ins in and then distribute it to my users. How come Firefox and Chrome have a better story in many more fewer years than you?