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 (27)

  1. thenonhacker says:

    1. I am disappointed that you still emphasize Toolbar Add-Ons. Toolbar Add-Ons are from hell and take up a lot of space, and now, they copied each other and ended up doing the same things.

    2. When will you support Add-Ons programmed with Javascript? Firefox has many add on developers developers developers because of Javascript (and XUL).

    3. Believe it or not, I was a 100% Internet Explorer user. Then my friend asked me to try Firefox. First thing I explore with software lik browsers, editors, and IDEs, is to check the available plugins (add-ons).

    - I saw that Firefox has many useful add-ons for developing and debugging websites.

    - I really really appreciate the add-ons that protect my privacy.

    - I love add-ons that improve the UI. Small UI tweaks add up to a better User Experience. Tweaks like switching through tabs with I use the mouse wheel over them. Or a tweak that lets me save all big images opened in tabs. And I really like the UI tweak where Auto-Play of videos and sound are disabled.

    - I ended up staying with Firefox because I can't live without these useful add-ons.  I have 70+ Firefox add-ons, only 2 of them are toolbars (Web Developer Toolkit and StumbleUpon).

    Because of Firefox, someone invented FireBug and Web Developer Tools. Haven't seen that big progress happen in Internet Explorer! Please make me come back!

  2. Stu says:

    One thing I'd really like in IE9 is for it to tell you *what* add-on is disabled on a website.  Currently, if an add-on is disabled Internet Explorer 8 will declare in a pop-up from the status bar:

     • "Add on Disabled. This webpage is requesting an add-on that is disabled. To enable the add-on, click here."

    Whereas it would be much better to actually name what add-on the page requires:

     • "Add on Disabled.  This webpage is requesting the use of Adobe Flash, an add-on you currently have disabled.  To enable the add-on for this website, click here."

    Might also be good to do a similar-to Firefox and have ActiveX control areas that can't render due to a plug-in being disabled show only a black background and text like "This part on the webpage requires the Adobe Flash plug-in to be enabled in order to display it.  Click on this text to enable the add-on."

  3. Stu says:

    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?

  4. Harry Richter says:

    @ Stu

    …or, better stil, …

    Great idea!

    Harry

  5. thenonhacker says:

    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.

  6. hims says:

    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.

  7. Klimax says:

    @Hims: No,no,no. First,webdesigners will kill you and anybody else for this bloody bad idea,because there will be huge fragmention – way too many versions with differing bugs/features. And forcing update would be beyond bad idea – automatic update is not everywhere(Fortunately it is not mandatory).

    Second,Based upon various posts I think magnitude of testing simply disallows this. (not to mention any bug would plauge web developers for few years)

    There are few categories where fast updates are bad idea. OS and browsers are among them.

  8. Harry Richter says:

    @ Klimax

    I fully agree! Thank god MS has such a strong position in the Business category, that they probably will not consider that asine idea anyway. Their customers would flock away in droves!

    Harry

  9. Steve Warnock says:

    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.

  10. Mac says:

    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.

  11. G.T says:

    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.

  12. EricLaw [MSFT] says:

    @GT: Did you install and enable QuickTime when you installed ITunes?

  13. PaulTopping says:

    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 http://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.

  14. G.T says:

    @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

  15. Mourinho WebDeveloper says:

    @PaulTopping

    You're right Paul, here is the bug:

    http://www.dessci.com/…/IE9compatibility_bug.htm

  16. hAl says:

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

  17. Greg says:

    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.).

  18. Lyle says:

    Time loads of addons will be a great improvement in IE9.  Hopefully the slow load time of tabs in IE8 will be fixed in IE9.

    Will there be a timer for loading of the new tab itself? Ideally in combination with the addons? It would be great to see that the total load time was 647ms of which only 34ms was to initialize flash and the other 613ms was the IE tab loading time.  The best part of this is that users could then choose by themselves to send in this data to Microsoft so that the real load times are known and dealt with.

    If however IE9 has fixed the poor extension model that IE7 & IE8 used then you can likely exclude this from the final IE9 release as it will no longer be an issue.

    I look forward to seeing improved performance when navigating tabs in the IE9 beta.

  19. Zzzz says:

    Lyle, you must be new here. Your example is totally backwards. IE tab loading time is always ~80ms, and everything else is ALWAYS add-ons. that's why they did the feature they describe in this post.

    There's nothing "poor" about the IE extension model. There are many junk extensions.

  20. always i am confused why there is n add on for ie like flashblock or adblock

    from iran

  21. ieuser says:

    When we can have some good quality addons for IE? Why you people dont reply when asked for addons?

  22. ieuser says:

    @zzzz: Open a new Tab in Chrome and then in IE 8 (disable all addons). Did you see the difference?

    now Open a new tab in Firefox and then again in IE 8 (disable all addons) Did you notice any difference?

    Even though there are many addons running in forefox and chrome, there is no delay in tab opening.. then why the hell IE takes 1 sec to open because of few small addons?

    If IE wants to stay in the market then, it should be fast enough to compete with others.

  23. ClueTrain says:

    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.

  24. ClueBat says:

    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!

  25. Klimax - Cluebat misses the clue says:

    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…)

  26. Mike says:

    @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.