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