Add-on Performance part 2: Helping consumers make informed decisions

The platform previews show the focus in IE9 on performance, interoperable HTML5 through same markup, and hardware acceleration. We’ve also posted here about the work we’ve done with add-on developers, and we shared some data about add-on performance and how we measure it.

In this post, we cover more of our thinking about measuring add-on performance and how to help consumers to stay in control of their browsing experience.

Add-on Performance and Site Performance

We’ve written about the different dimensions of performance in the web platform. We have also talked about the role add-ons play in overall browser performance. Site developers want a reliable, fast platform to run their web sites. Consumers (site visitors) want a reliable, fast experience of those sites. The perception of site speed includes the user’s experience of the site, the browser, and the installed add-ons.

As discussed in Add-on Performance part 1, add-ons can have a material impact on site performance and the consumer experience. Our goal with IE is that users have everything they need to make informed decisions and remain in control of their browsing experience.

Measuring performance to inform decisions

It is important that people stay in control of their browsing experience. This includes many aspects of using the browser including downloads, privacy, security, and controlling which add-ons to use. The ideal experience allows people to have exactly the add-ons they want – no more no less.

For users, there is a basic cost to benefit decision to make with add-ons. To make an informed decision, the user needs to have a clear view on the costs of the add-on as well as the apparent benefits. Most people understand the benefit they get from using an add-on they choose to install. It is more difficult to understand the full cost that add-ons bring to your browsing experience in terms of performance, responsiveness, and reliability.

When we introduced Web Slices, Accelerators and updates to search providers in IE8 we started a pattern of making sure that people are in control of the add-on capabilities in their browser. These types of declarative add-ons do not have performance or reliability costs to the browsing experience. The main impact they have is taking up space in the favorites bar or right click menu. Sites can promote web slices or add-ons, and the user is in control to decide whether to add them or not. This is an important part of the add-on experience even for savvy users; namely that people must consent to have the add-on.

For the types of add-ons that do have a potential performance and reliability cost (toolbars and BHOs), the user needs additional information. IE8 users can see the load time for add-ons in the Manage add-ons dialog. This is a good start, but there is more IE can do to help people fully understand the impact an add-on has on browsing performance.

Ideally IE would measure both load time and the additional time it takes to navigate to sites (navigation time). Measuring this time for every navigation, including the first time the add-on runs, is crucial because it represents how long the user actually had to wait to load IE and navigate to their favorite sites on their PC.

An important part of informing users is providing a threshold to understand the impact of add-ons have on performance. No matter what hardware you’re running on - from low end netbooks which throttle the CPU for long battery life or high end gaming desktops – human perception thresholds don’t change. Several studies regarding website response time report that users notice any delay 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. Of course, the individual person should be free to choose a different threshold that matches their particular browsing needs.

When considering the performance of add-ons, it is useful to do so in relationship to this threshold. People think about the speed of actions in the browser, like opening a new site, rather than the speed of individual add-ons, so what matters to the user is the total amount of time taken by add-ons. From the user’s point of view, they don’t care if it’s one add-on taking 2 seconds or 10 add-ons each taking 0.2 seconds. Informing users means providing the visibility on everything that is contributing to the performance they experience, with enough detail that the user stays in control. With this information people can make decisions about individual add-ons in the context of all the other add-ons that they’re running.

A personal decision

In part 1 of this series we shared statistical data about add-on performance which is compiled from people who opt into sending telemetry. Because this data is anonymous it’s useful for spotting broad trends and working with add-on partners but it’s not useful for helping a specific person in their environment. What matters to a person is what happens on his or her own machine. So, they need data that’s specifically about their add-ons on their machine with their browsing habits; purely local data. This enables them to make the most informed decision about the add-ons they use and to stay in control over their browsing experience

With this information, the user can make an informed choice. They understand the value of the add-on features and the performance implications. People may decide that an add-on is so valuable that they’re willing to wait a ¼ second or even a ½ second during their browsing. People may also decide that they don’t utilize the features of a particular add-on frequently so they disable it until they want it. Consistent with other browsers, IE makes re-enabling add-ons easy through the Manage add-ons dialog. The most popular entry point is in the right-click menu of the command bar but it can also be accessed from the tools menu, the right click menu for a page (under accelerators), the search box dropdown menu (under search providers), windows control panel and of course from the options dialog. Microsoft doesn’t share information with developers about individual users disabling or enabling add-ons in keeping with our privacy policy. Using add-ons is a personal choice, so IE never automatically enables or disables an add-on – the user is in control and they choose which to enable and which to disable. IE gives people the information they need to make an informed decision.

More details for add-on developers

For background, we’ve talked about using windows tools to measure load and navigation performance of add-ons. Here’s more detail about the load and navigation measurements so add-on developers can test the performance of their products or do something more like build capabilities into their products to detect when browsing is slowed and tune the add-on experience appropriately.

Add-on Load time (Load Time)

IE8 measures load time when a new tab is created and IE initializes all enabled add-ons (and IE9 will do this too). IE calls CoCreateInstance(), ShowDW() and SetSite() for each add-on. In IE8, an add-on’s load time is the total time it takes to return from the CoCreateInstance() and SetSite() calls. In the future, we’ll also measure the ShowDW() function call.

Webpage Navigation (Navigation Time)

Earlier in this post, we talked about the importance of measuring navigation time. Here’s how we do it on the IE team and how we recommend add-on developers do it. An add-on’s navigation time is the time it takes to handle the following three DWebBrowser2 events while navigating to a webpage:

  • BeforeNavigate
  • NavigateComplete
  • DocumentComplete

We start measuring a navigation time for all enabled add-ons once IE fires a top-level BeforeNavigate event.

Sites may cause several navigation events to fire as they download images or content in frames. So, we keep an open tally of the time the add-ons take for each event on that page until the user :

  • Navigates (another top-level BeforeNavigate)
  • Cancels the navigation
  • Closes the tab
  • Closes IE

Once that occurs, we append the navigation time data point for each of the add-ons to the list.

When showing the load or navigation time data to users, we average up to the last 10 data points. We don’t measure the performance of disabled add-ons since they aren’t running or taking any time to load or navigate. Instead we show the latest data we have in parenthesis to inform the enable decision for people.

In everything we do including add-on performance measurement, IE treats all add-ons from all developers the same. Only the user makes decisions to enable or disable add-ons.

Thanks,
Herman Ng

Edit on 8/31 - replaced ExtensionShowDW with ShowDW() and refer to it as a function call rather than an event in 'Add-on Load time (Load Time)' paragraph.  Also removed extra period.

Comments

  • Anonymous
    August 31, 2010
    The comment has been removed

  • Anonymous
    August 31, 2010
    The comment has been removed

  • Anonymous
    August 31, 2010
    Another thing relevant to add-ons: I read in an earlier post about how you can add columns to the "Toolbars and Extensions" section in the "Manage Add-Ons" dialog to see how long it takes a particular add-on to fully load after IE is launched. Could the opposite be done and show how long it takes after closing the final IE window for add-ons to close?  I've often found cases where users will say that the message "Your last browsing session closed unexpectedly" appears when they next log in.  The problem is that the IEXPLORE.EXE process remains open for a good 30-60 sec (average I find) after closing the last window due to some add-on that hasn't yet finished and so holds the process open.  So when they shutdown the process gets terminated and so is classed as a crash the next time they log-in and start IE. Or, better still, could the "Enable automatic crash recovery" feature be made to detect the difference between a crash and when a final window is closed down so not present the message the next start-up?

  • Anonymous
    August 31, 2010
    @ Stu ...or, better stil, ... Great idea! Harry

  • Anonymous
    August 31, 2010
    I agree with Stu. Internet Explorer 9 should behave like a Meta Operating System running on Windows 7 and up. This is what Chrome is already doing, and this is why they can control the add-ons that crash or tabs that crash.

  • Anonymous
    August 31, 2010
    Please focus on the following areas:

  1. IE 9 fast tab response. I have 10 addons installed on firefox and chrome even then there no delay in tab opening. They open smoothly.
  2. Addons program support As suggested above, firefox has many add ons and add on developers because of Javascript (and XUL) and this is why users/developers love firefox. A decent Addons program support would make IE 9 an awesome browser, Microsoft has already a huge .net community. I would recommend MS would start from scratch to create Addons for IE 9 as they have done with WP7.
  3. Upgrade System IE 9 must have a quick and fast version upgrade system just like Chrome and Firefox has. We should not wait for 2 yrs to have a browser upgrade. Please consider these 3 important points in IE 9 so that we can enjoy a COMPLETE BROWSING EXPERIENCE and the BEAUTY OF THE WEB. Unless we will still prefer chrome and firefox above IE.
  • Anonymous
    August 31, 2010
    The comment has been removed
  • Anonymous
    August 31, 2010
    The comment has been removed
  • Anonymous
    August 31, 2010
    The article talks briefly about it but I hope that the IE team is considering a better addon manager in IE9.    It is very difficult in IE8 for the user to make informed addon decisions about:
  •  addons that they did not choose to load and don't know why they are there
  •  addons that are disabled but still show as loaded in the addon manager with a load time
  •  remove addons I realize tha the IE team is taling up addon performance to the addon developers probably in an effort not to have create a "addon walled garden" but  a better addon manager will ease user frustration and ultimately contribute to better addon performance.
  • Anonymous
    September 01, 2010
    The problems I see with the current management of add-ons are the following:
  1. The Add-on manager is not very discoverable, and a lot of regular users are not even aware they are running add-ons. Ideally, I would like to see the Tools menu converted into a button that opens a rich dialog (or even a tab à la Office 2010 backstage) in which add-ons are shown prominently.
  2. It's good to have the load time spelled out, but it's hard to put it in perspective for non-technical users. We all know that an add-on with a load time of 500ms is dreadful, yet to most people "half a sec" still translates to "pretty fast". A rating system might help users make informed decisions, and might be a good incentive for add-on developers; nowadays, with the browser taking all the blame, it's not a worthwhile goal to shave off a few msec to go from 0.2s to 0.19s in the Add-on manager. But if that meant losing a negative label, or getting an extra star, it would make a lot more sense to improve performance.
  3. There is no indication of the overall status. Even just picking reasonably fast add-ons, we may have too many. An overall score could help users understand that they may improve their browsing experience by disabling - or removing - the add-ons they rarely use, or didn't install themselves.
  • Anonymous
    September 01, 2010
    I always disabled the add-ons on Internet explorer, but some of my friends like to use the Google toolbar, my problem with them is privacy, slow browser, take too much from the screen, and hard to control. An example is installing Apple iTunes on Windows, once enabled, sites like Apple.com when viewed from IE 8 on Win 7 64 bit are very slow, and I have no idea how to disable it. I use Google Chrome, and for the first time I really love the add-ons there, there is one for picasa web, there is one for my touch screen and pen, and one to highlight the result of search. Enabling them and disabling them there is straight forward, and before you install it, the browser tells you what permissions the add-on has. I hope the add-ons in IE 9 are better, I may move back to IE9 because it is faster.

  • Anonymous
    September 01, 2010
    @GT: Did you install and enable QuickTime when you installed ITunes?

  • Anonymous
    September 01, 2010
    Here's the good news. HTML5 includes MathML, IE9 supports HTML5, and since MathPlayer is a free plugin adding MathML support to IE, IE9 should have excellent MathML support. Now the bad news, a small bug or oversight prevent this from working. See www.dessci.com/.../mathmlinhtml5.htm for details. I hope you guys fix this. It would be an easy way to get another check in the HTML5 compatibility checklist.

  • Anonymous
    September 01, 2010
    good.try it

  • Anonymous
    September 01, 2010
    @EricLaw: I just installed the normal iTunes so I can synchronize my iPad and iPod, iTunes installs QuickTime by default, then visited apple.com and then it asked me to enable it in IE. i just noticed other people having this problem at connect.microsoft.com/.../apple-com-homepage-unresponsive

  • Anonymous
    September 02, 2010
    @PaulTopping You're right Paul, here is the bug: www.dessci.com/.../IE9compatibility_bug.htm

  • Anonymous
    September 02, 2010
    Please give us a top 100 of the slowest loading addons you gathered information on and we then will make an informed descision.

  • Anonymous
    September 02, 2010
    Please let us send anon data for a urL that does not render right when printing.  IE can easily render many web sites in the browser but does not render them in the print mode (e.g., cut-off sides, fails to print the entire page, etc.).

  • Anonymous
    September 02, 2010
    The comment has been removed

  • Anonymous
    September 02, 2010
    The comment has been removed

  • Anonymous
    September 02, 2010
    always i am confused why there is n add on for ie like flashblock or adblock from iran

  • Anonymous
    September 03, 2010
    When we can have some good quality addons for IE? Why you people dont reply when asked for addons?

  • Anonymous
    September 03, 2010
    The comment has been removed

  • Anonymous
    September 03, 2010
    There's no such thing as a "small" addon. There are fast add-ons and slow add-ons. If you install slow add-ons, you have slow tab-start. If you install fast add-ons (or none at all) you have fast tab-start. (Slow add-ons slow down Firefox too.) So, no matter what browser you use, don't install slow add-ons. It's that simple.

  • Anonymous
    September 05, 2010
    Thanks for the dis-information @ClueTrain - maybe you are new to Internet Explorer 8 but for the rest of the Internet that has been using it since it was released it has been noted, documented and proven that IE8's tab opening times are the slowest of any released browser and that is regardless if there is 0, 1, or more addons (fast or slow) installed. Thanks for coming out though, we really do appreciate msfanboys trying to tell users that it is there fault that IE8 is so slow to open new tabs when all their other browsers don't have the issue. Unbelievable that there are STILL folks out there willing to believe that IE8 does not have an issue here - Unbelievable!

  • Anonymous
    September 06, 2010
    Cuebat@ If you have your Windows in good condition, there is no such problem as long starting of new tab. It takes about 110ms,it most ptobably cannot be any faster (FF had reportedly same time) There is Connect report where I did full test. Best way was to measure "blank-to-blank tab creation" so one can exclude outer influencies like complex webpage on currentz tab. (and were there huge variations) If you have broken installations,.nothing IE team can do will solve it. There is secon possibility - way too large amount of sites in Restricted zone on Atom-based PC or similar (Pentium 4) Otherwise tab creation is as fast as it can be. (at least when humans use PCs...)

  • Anonymous
    September 06, 2010
    @Klimax - ClueBat was right on the mark.  I've seen issues with IE8 load times across all XP based PC's I've seen. Bar none. I'm really glad that it works just fine for you, but for the rest of the world, it is slow, and it has squat to do with our addons. thanks for claiming that it is our windows install that is messed up though - that makes us feel much better when our other browsers have no issues whatsoever.