Add-ons: Staying in control of your browsing experience

September 18th, 2010

In recent posts we discussed the various ways that add-ons can impact browsing performance. We shared some data about add-on performance, described how we measure performance and included guidance to help add-on developers do the same. These efforts help us drive improvements to the quality of the add-on ecosystem.

It’s equally important for consumers to be able to stay in control of their browsing experience with add-ons. We recently shared our point of view on the benefits of having user consent during add-on installations. Beginning in IE8, we started measuring add-on performance in the browser so that users can make an informed decision about their add-ons.

With IE9 Beta we introduce a set of functionality that brings together our thinking around add-ons, performance and user control. In this post, we describe a new consent experience when you install add-ons in IE9. We also describe functionality that monitors add-on performance and helps you identify slow add-ons to disable. You can try out these features with IE9 Beta today. You can also take a quick glimpse of the features in action here:

Get Microsoft Silverlight

Installing an Add-on

IE9 notifies you when new add-ons are installed to ensure that only the ones given explicit consent can run in the browser.

IE asks for your consent when you install any markup-based add-ons such as Accelerators, Web Slices or OpenSearch providers. Since all markup-based add-ons are installed from within the browser, this guarantees that every markup-based add-on running in your browser has your explicit consent.

This is not the case with binary add-ons such as Toolbars and BHOs, since these installations occur outside of the browser. Some binary add-on installations are the result of you explicitly seeking them out and installing them. Other add-on installations are bundled with other software. These can be a surprise to you, and are often installed without your explicit consent.

The browser is unable to determine which add-ons were installed through your consent since the installations occurred outside of the browser. Once these add-ons are installed they will affect your browser’s performance, reliability and possibly privacy.

Similar to the experience for markup-based add-ons, IE9 asks for your explicit consent to enable newly installed binary add-ons. This helps you keep track of what add-ons you have enabled and allows you to quickly identify a recently occurring performance or reliability issue to the problematic add-on.

The first time you launch IE9 after installing an add-on, you will see the following notification displayed near the bottom of the IE window. This is the same place where other notifications are displayed in IE9, such as file downloads and security. Displaying these notifications at the bottom of the window minimizes the performance impact on the browser and ensures that it stays out of the way of your browsing:

Instead of enabling the add-on automatically, IE asks if you want to use the add-on and keeps you in control. Pressing “Enable” enables the add-on. If you’re enabling a toolbar or Explorer Bar add-on it will become immediately visible on the IE window. If you are not sure how you acquired the add-on, you can dismiss the notification or press “Don’t enable”.

We designed this notification to be non-modal so that you can ignore it if you don’t want to take action yet. Since it’s possible you may not have noticed the notification, we keep it displayed for up to 5 sessions before auto-dismissing it.

Sometimes it’s possible to have multiple add-ons installed at once. For example, some add-ons come bundled with many related components. Instead of showing several notifications on top of another, IE displays a variation of the above notification.

Pressing “Enable” launches the Choose Add-ons dialog where you can select which of the installed add-ons you want to enable.

Once you enable an add-on it no longer appears in the list. When you press “Done”, any add-on that remains in this list stays disabled. If you decide to enable some of these add-ons later, you can do so through the Manage Add-ons dialog.

This new functionality in IE makes sure that any new binary add-ons installed only runs with your explicit consent. Add-on developers should ensure that their add-ons trigger this consent experience properly in IE9 by following the IE add-on guidelines and requirements.

Add-on Performance Advisor

IE9 notifies you when the total performance impact of your add-ons exceeds a threshold and shows you the relative performance impact of each add-on.

Add-ons often decrease your browsing performance in crucial activities like opening new tabs or navigating to webpages. Add-ons with significant performance impact can cause tabs to hang as well. However, it’s not always obvious to you what causes the decrease in browsing performance.

We previously described the two metrics we use to measure add-on performance: load time and navigation time. These metrics map to the two browser usage scenarios that we talked about above: tab creation and webpage navigation. These are the scenarios where add-ons are known to have the biggest performance impact on.

IE9 monitors both the load time and navigation time for add-ons that are running in the browser. Each time you create a new tab or navigate to a webpage, IE records the load or navigation time for each add-on. IE stores the last 10 data points for each add-on and uses the data to calculate the average load or navigation time.

When the total average load or navigation time of all enabled add-ons exceeds a threshold, IE displays the following notification.

As mentioned before, several studies regarding website response time report that users notice any delay of over 0.2 seconds. Actions that are faster than 0.2 seconds appear instantaneous. Scenarios with response times slower than that threshold can feel “slow” to users. Based on this research, we set the default threshold of the performance advisor to 0.2 seconds. Since human perception thresholds don’t change, regardless of the hardware you’re running on, we keep the same threshold for all machines running IE9.

Once you see the notification, you can choose to ignore it if you are comfortable with making the performance tradeoff for your add-ons. If you dismiss the notification, IE does not notify you about add-on performance issues for one day or until you subsequently enable an add-on (since that add-on may have a performance impact).

Pressing the “Disable add-ons…” button launches the Choose Add-ons dialog which displays the list of enabled add-ons, their load or navigation times, and the total performance impact.

The times shown in this dialog are based on the metric that most exceeded the threshold. For example, if your total average add-on load time is 0.5 seconds and your total average navigation time is 0.4 seconds, IE displays the load time values in the dialog.

The add-ons are displayed in order of their load or navigation times (longest times first), with the times graphically displayed in colored bars as well. The red bars indicate that the performance impact exceeds the threshold” (the default is noticeable); in other words, by disabling the add-ons with red bars you will be able to stay below the threshold. The width of the bars indicates the relative impact to the slowest add-on, which has a bar of maximum width.

Once you disable an add-on it no longer appears in the list and is immediately disabled in the browser. The total performance impact of your add-ons is updated accordingly in the dialog. It’s important to note that IE doesn’t automatically disable slow add-ons. Instead we display this information to help you make an informed decision on your add-ons – you can still choose what add-ons you want to keep enabled.

You can also configure the threshold in this dialog. While 0.2 seconds is the default value, you can select a different threshold to cater to your preferences on add-on performance. For example, if you tend to use many add-ons and are comfortable waiting longer to open a new tab, you can set the threshold to 1.0 seconds. With this change IE will only notify you if your add-ons’ total average load or navigation time exceeds 1.0 seconds.

Once you’ve finished configuring your add-ons, pressing the “Done” button dismisses the dialog. If you’ve disabled some add-ons, try to open some new tabs or perform webpage navigations. You’ll notice the difference in browser performance. If you want to view the performance impact of add-ons on your own, you can visit the Manage Add-ons dialog. We’ve added a column to display each add-on’s navigation time.

Try it out!

Together, these two features help you stay in control of the add-ons running in your browser and minimize potential impact add-ons have on your browsing experience including performance, reliability, and privacy. You can experience this yourself by installing IE9 Beta today. If you currently use add-ons, you can now identify the ones that are slow and make informed decisions to stay fast.

These features are also useful for developers making their add-ons faster. We talked about the metrics described here in previous posts on measuring add-on performance. Developers, you can gauge the performance of the add-ons you build, and make improvements to minimize load time and navigation time.

We look forward to hearing feedback on these features in the comments or on Connect!

Herman Ng
Program Manager