Welcome to MSDN Blogs Sign in | Join | Help

Internet Explorer 8 is now available in 18 additional languages

We are pleased to announce the availability of Internet Explorer 8 in 18 additional languages. Internet Explorer 8 is now available in a total of 43 languages.

List of NEW Internet Explorer 8 Languages:

Language

Code

Windows Vista

Windows Server 2008

Windows XP

X86

X64

X86

X64

X86

Bulgarian

BGR

Yes

Yes

Yes

Yes

Yes

Bosnian (Cyrillic)

BSC

Yes

-

-

-

Yes

Bosnian (Latin)

BSB

Yes 

-

-

-

Yes

Catalan

CAT

Yes 

-

-

-

Yes 

Croatian

HRV

Yes

Yes

Yes

Yes

Yes

Estonian

ETI

Yes

Yes

Yes

Yes

Yes

Hindi

HIN

Yes

-

-

-

Yes

Latvian

LVI

Yes

Yes

Yes

Yes

Yes

Lithuanian

LTH

Yes

Yes

Yes

Yes

Yes

Macedonian

MKI

Yes

-

-

-

Yes

Romanian

ROM

Yes

Yes

Yes

Yes

Yes

Serbian (Cyrillic)

SRB

Yes

-

-

-

Yes

Serbian (Latin)

SRL

Yes

Yes

Yes

Yes

Yes

Slovakian

SKY

Yes

Yes

Yes

Yes

Yes

Slovenian

SLV

Yes

Yes

Yes

Yes

Yes

Thai

THA

Yes

Yes

Yes

Yes

Yes 

Ukrainian

UKR

Yes

Yes

Yes

Yes

Yes

Vietnamese

VIT

Yes

-

-

-

Yes

We have also made available Windows Vista/ Windows Server 2008 Language Packs for these languages and can be downloaded from here.

Who can install and benefit from Internet Explorer Language packs:

If you had already installed Internet Explorer 8 in English and you had an underlying Windows Vista or Windows Server 2008 operating system in any of the above languages, you can experience localized Internet Explorer 8 by installing the Internet Explorer 8 Language pack that matches your operating system language(s). Users who have more than one Language pack installed on their machine could benefit from installing Language packs as well.

Internet Explorer 8 MUI packs for Windows XP, Windows Server 2003 is an upcoming release planned for a mid-May 2009. Internet Explorer 8 MUI for Windows XP, Windows Server 2003 will ship in two MUI packs.

  • Internet Explorer 8 MUI pack applicable to Windows XP x86 and Windows Server 2003 x86 for the following languages –
    • Arabic, Chinese (Traditional), Chinese (Hong Kong), Czech, Danish, Dutch, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese (Portugal), Portuguese (Brazil), Russian, Spanish, Swedish, Turkish, Bulgarian, Croatian, Estonian, Latvian, Lithuanian, Romanian, Slovenian, Slovakian, Thai
  • Internet Explorer 8 MUI pack applicable to Windows Server 2003 x64 and Windows XP x64 PRO for the following languages –
    • Chinese (Traditional), Chinese (Simplified, German, French, Italian, Japanese, Korean, Russian, Spanish, Swedish, Portuguese (Brazil)

Note: If you have Windows XP or Windows Server 2003 and OS MUI pack installed, we recommend you install the English version of Internet Explorer 8 and then install the Internet Explorer 8 MUI pack for Windows XP and Windows Server 2003 (matching your Operating system and architecture).

Furthermore, Internet Explorer 8 will be made available shortly in an additional 20 languages. Please stay tuned.

List of upcoming localized Internet Explorer 8 languages:

  • Albanian
  • Assamese
  • Basque
  • Bengali (Bangladesh)
  • Bengali (India)
  • Gujarati
  • Indonesian
  • Kannada
  • Kazakh
  • Konkani
  • Kyrgyz
  • Malay (Brunei Darussalam)
  • Malay (Malaysia)
  • Malayalam
  • Marathi
  • Oriya
  • Punjabi
  • Tamil
  • Telugu
  • Uzbek (Latin)

Thanks,
Vishwac Sena Kannan
International Program Manager | Internet Explorer

Update 4/27/09: Correction, MUI packs for Windows XP and Windows Server 2003 will ship in two MUI packs. 

Posted by ieblog | 23 Comments
Filed under:

Recent Changes to IE Content on MSDN

Do you read about Internet Explorer and related technologies on MSDN? We’ve recently reorganized the table of contents for the HTML/DHTML Overviews. We would like your feedback.

Hi! My name is Lance Leonard; I'm a Programmer/Writer on the Internet Explorer Developer Content team. I'm part of the team that’s responsible for the content on MSDN that relates to Internet Explorer, specifically HTML and CSS and Internet Explorer Development.

You may have noticed that we've added a lot of new content describing Internet Explorer 8 and how it impacts the way you develop your Web sites. I wanted to let you know that we're also working to improve the content we've previously published.

Case in point, we've recently reorganized the HTML/DHTML Overviews. Previously, we had nearly 100 articles collected in one location. It was hard to locate specific articles and even harder to understand how separate articles were related.

To clarify this, we've separated the overviews into sections that are similar to the lifecycle of a Web site.

  • The Creating Web Sites section contains articles related the basics of Web page construction.
  • Content Design and Presentation deals with issues involving layout, positioning, and CSS.
  • The Data Storage and Cookies section includes persistence and other data management concepts.
  • Integrating Sites and Services provides information related to Accelerators, AJAX, Open Search and others related topics.
  • Quick Reference Guides collects summary articles designed to help you find specific facts quickly.
  • Security Considerations outline the concepts and ideas to help protect Web sites from malicious behavior.
  • The Testing Web Sites section covers the Internet Explorer Developer Tools, the Microsoft Application Compatibility Toolkit for deploying Internet Explorer, the Mark of the Web, and other information useful for troubleshooting rendering issues and markup problems.

In turn, each section contains relevant subsections. For example, Creating Web Sites contains subcategories related to DHTML Tutorials, Scripting Internet Explorer, Tables and Forms, and so on.

The basic idea is to group related articles together, so you can find the information you're looking for more quickly... even if you don't know precisely what you're looking for.

I'd like to know your thoughts about the new organization. Give it a spin, kick the tires, and let me know what you think.

Lance Leonard
Programmer/Writer
Internet Explorer Developer Content

Posted by ieblog | 18 Comments
Filed under:

Customization in IE8

I am a user interface tester on the Internet Explorer team and one of my favorite things about any application is the ability to personalize the program to give it your own look and feel.

I am never content with ubiquitous one-size–fits-all solutions and really look forward to products that value user choice. I’m excited that IE8 now has some personalization options and this cycle I have been fortunate to work on two such features – IE8 Look and Feel (customizations around the Command bar) and the Smart Address bar.

First of all, let me walk you through the Command bar area for those of you not familiar with this feature.

A context menu can be invoked by right clicking in the empty space in any of the following areas:

  1. The Legacy File Menu Band,
  2. The Favorites Bar or
  3. The Tab Band

Context menu in the IE chrome which allows you to choose what items should be displayed

Choosing which menus to show

The command bar context menu allows you to choose which of the menu bars you would like see - everything is on by default (notice the check marks in the visual above).

For example, the command bar and menu bars each contain similar options. You might want to turn off one of these to avoid redundancy. Similarly, you can turn off the favorites bar (although I would not recommend this – there are many cool new features here!),   the compatibility view button, and/or the status bar.

In the favorites bar you can customize to see more favorites by right clicking and choosing from the context menu to switch from Long Titles to Short Titles or even just Icons only mode.  The full title will always display in the tooltip.

context menu options to change the title widths on the Favorites bar (Long, short or icons only)

Favorites bar with Long titles, Short titles, and Icons only.

If you uncheck “Lock the toolbars”, you can drag and drop the command bar to a new location. Place it on its own row below the file menu, or align it on the row with the favorites bar – the choice is yours! I personally like moving it to its own row and turning off the menu bar (the second highlight in the picture below).Notice how that opens up space for more tabs in the tab row.

 the command bar can be moved to different locations to free up space on the tab row or the favorites bar.

Changing the position of the stop/refresh buttons

For those of you that would like these buttons to appear on the left side of the address bar, you can do so by clicking “Customize” and then “Show Stop and Refresh Buttons before Address Bar”.

menu to change the location of the stop/refresh buttons.

Choosing menu items on the command bar and the display mode

We have cleaned up the command picker and ensured there is an icon for each item. So now when you add new items to the command bar, this lets you easily identify each option when in “Show Only Icons” mode. You can also choose to “Use large icons” for increased readability.

Or if you like text, there is the good old “Show All Text labels “or “Show selective text” which shows a combination of icons and text.

Menu option to show text labels, selective text or only icons. 

Finally you can use “Add remove commands “to invoke the command well which lets you pick and choose what you would like to display in the command bar.

menu options to add or remove options from the command bar 

Customize the Smart Address bar

One of my favorite features in IE8 is the Smart address bar. I really like how I can quickly pick previously typed addresses, history, or favorite items right from my address bar. And if I’m a frequent feeds user, I can find feeds here too by turning on an option in Internet Options.

the Smart Address bar dropdown with items from autocomplete, history, favorites and feeds. 

In order to change what you would like to see you have to go to File menu>Tools>Internet Options and then choose the “Content tab “and “Auto complete settings”.

Menu to enable/disable selections in the Smart Address bar.

We’d love to hear how you would like to further customize future versions of Internet Explorer. Your preferences and tastes are important to us, and we are committed to continually improving your experience. Keep writing to us and let us know!

Nomita Paul
IE Test

Posted by ieblog | 79 Comments

April Chat with the Internet Explorer team on Thursday

Join members of the Internet Explorer team for an Expert Zone chat this Thursday, April 23rd at 10.00 PST/17.00 UTC. These chats are a great opportunity to have your questions answered by members of the IE product team. Thank you to all who have attended our previous chats! 

Other upcoming Expert Zone chat dates can be found here.  If you can’t join us live, the transcript for all chats are available here.

Thanks!  See you Thursday.

Allison Burnett
Program Manager

Posted by ieblog | 8 Comments
Filed under:

IE April Security Update Now Available

The IE Cumulative Security Update for April 2009 is now available via Windows Update or Microsoft Update.

This update addresses four privately reported vulnerabilities and two publicly disclosed vulnerabilities. The security update addresses these vulnerabilities by modifying the way that Internet Explorer searches the system for files to load, performs authentication reply validation, handles transition errors when navigating between Web pages, and handles memory object. For detailed information on the contents of this update, please see the following documentation:

This security update is rated Critical for Internet Explorer 5.01 and Internet Explorer 6 Service Pack 1,  Internet Explorer 6, and Internet Explorer 7 running on all supported editions of Windows 2000, Windows XP and Windows Vista.  For Internet Explorer versions running on all supported editions of Windows Server 2003 or Windows Server 2008, the update is rated Important.  For Internet Explorer Beta products, download locations are available in the Knowledge Base Article. 

IE security updates are cumulative and contain all previously released updates for each version of Internet Explorer.

I encourage everybody to download this security update and other non-IE security updates via Windows Update or Microsoft Update. Windows users are also strongly encouraged to configure their systems for automatic updates to keep their systems current with the latest updates from Microsoft.

Terry McCoy
Program Manager
Internet Explorer Security

Posted by ieblog | 50 Comments

ECMAScript, Fifth Edition Candidate Specification Announced

Yesterday was a significant milestone in the web’s continuing evolution—the announcement of ECMAScript, Fifth Edition Candidate Specification (formerly known as ECMAScript 3.1 back when I last mentioned it); the “Candidate Specification” stage is the last stop on the road to becoming a final standard. Read more about it on the Jscript blog!

This is a great achievement and paves the way for enhanced web programming scenarios in all browsers. I’d also like to personally thank Allen and Pratap for their contribution to the TC-39 effort, as well as their assistance in delivering a few of the ES 5 features to our customers in IE8.

-Travis Leithead

Posted by ieblog | 18 Comments
Filed under:

Prepare for Automatic Update distribution of IE8

In January we blogged about our plan to distribute IE8 via Automatic Update/Windows Update (for simplicity, we'll refer to this as Automatic Update for the rest of this blog post). This post provides some additional information about how users and administrators are in control of browser upgrades.

Last week, we released IE8 via Automatic Update to users still running pre-release versions of IE8 (Beta 2 or Release Candidate 1). The goal was to make sure users who chose to install IE8 have the latest up-to-date version.

Starting on or about the third week of April, users still running IE6 or IE7 on Windows XP, Windows Vista, Windows Server 2003, or Windows Server 2008 will get will get a notification through Automatic Update about IE8. This rollout will start with a narrow audience and expand over time to the entire user base. On Windows XP and Server 2003, the update will be High-Priority. On Windows Vista and Server 2008 it will be Important.

IE8 will not automatically install on machines. Users must opt-in to install IE8. Users will see a Welcome screen that offers choices: Ask later, install now, or don’t install.

 IE8 welcome screen

Users who decline the automatic update can still download it from http://www.microsoft.com/ie8 or from Windows Update as an optional update.  For more information about the Automatic Update experience, see Jane Maliouta’s blog post from January 6th.

If an organization uses Automatic Update to keep Windows up-to-date but wants to manage its own deployment of IE8, a free Blocker Toolkit is available that will block automatic delivery of IE8.  This blocker toolkit was released in January 2009 and has no expiration date.  For more information, please review the information for IT administrators at the Windows Update/Microsoft Update site on TechNet, as well as the Blocker Toolkit FAQ.  Organizations that wish to block the distribution of IE8 should have their blocking in place by the week of April 20th.

Organizations that use Windows Server Update Services (WSUS) and Systems Management Server (SMS) can deploy IE8 in the same manner as they would deploy any other update.  We will release IE8 to WSUS in July 2009; it will be classified as an Update Rollup and must be approved to install on groups of clients within the organization.

Eric Hebenstreit
Lead Program Manager

Posted by ieblog | 120 Comments

Handling script errors from three different perspectives

For the past several months, I’ve had the unique pleasure of helping to diagnose a variety of web site compatibility problems. Now I realize that I just called debugging web site issues a “unique pleasure”—why? Because I was able to use IE8’s enhanced script error dialog and developer tools! I found that script errors are one of the most common web site compatibility issues—often the source of many visual discrepancies in the layout of a page. These errors raise a lot of questions. What can you do to remedy pages that have script errors? How can you provide helpful feedback to sites that experience script errors? And as web developers, how can you utilize IE8’s built in developer tools to resolve script errors?

In this post, I present three scenarios that you may experience when encountering a page with script errors; for each scenario, I highlight the improvements we’ve made in IE8 and also discuss how you can use these improvements.

“Out for a stroll on the web”

In the first scenario, let’s assume that you know nothing about JavaScript, HTML, or any other technologies that constitute the building blocks of the web. You come across a site that doesn’t seem to be working; perhaps something visible on the website doesn’t look quite right. You might also notice a small “warning” icon in the status bar. How can you fix it?

First, it’s important to remember that users in this scenario make up approximately 99% of people that use a web browser. It’s easy to forget that sometimes. These people want the web to “just work.” User research studies and telemetry data revealed that many users who encounter a web site problem hit the refresh button to try and fix it (possibly because refresh fixes other issues commonly found with slow network connections, such as style sheets or dependent scripts that may have timed out or not fully downloaded; these result in pages that don’t look right). We anticipate that most compatibility issues will appear on sites that are rendered in Internet Explorer 8’s most standards-compliant mode due to changes to comply with standards, and so we use the refresh button as one of the reminders to help users discover the compatibility view button, which may fix the users' immediate issue.

A "toast" message from the top of the IE chrome indicating that compatibility view might help solve a problem on the webpage.

Summary

  • Compatibility view: switches IE8’s rendering engine (and DOM) into a legacy mode that is compatible with older browsers (e.g., IE7)

“Customer Service, can I help you?”

In a second scenario, you are on a call or online chat with a customer support representative from a given company’s web portal and have experienced a problem that is preventing you from completing a task. The support representative is trying to collect detailed information related to the problem, whether it is a known issue, etc. What might you need to know?

Most web sites will continue to work (depending on your definition of “work”), despite having a script error. However, in some cases, a script error can completely block your progress. Internet Explorer provides an unobtrusive UI to indicate that the website had a problem. In IE8, as in previous versions of the browser, we provide a notification in the status bar when an un-caught script error occurs (meaning that no error handler or try/catch code on the website stopped the error). To find more information about the script error(s) on a page, simply double-click on that icon.

"Done" error message displayed in the botom right of the IE status bar.

In IE8, we’ve given the script error dialog a visual refresh (it needed it—compare IE7 vs. IE8 below). We think we’ve really improved the readability of the dialog, and made it simpler to see multiple script errors. We also listened to the number one customer request, which was to add copy/paste support to this dialog. As a result, Ctrl+C will copy all of the errors to the clipboard, whether the dialog is in its expanded state or not, and individual errors can be copied in the same manner after they’ve been selected. The dialog also supports an XML output to the clipboard if SHIFT is held while copying.

IE7 script error dialog next to the IE8 script error dialog.

Information copied from the script error dialog can be used as feedback to help web sites and support personnel to quickly find and diagnose errors, improving the usability of the site for all visitors.

Summary

  • Clearer language in script error dialog (easier to read/understand and less text)
  • List view improves discoverability of multiple script errors
  • Copy/paste support (users can copy with the Ctrl+C keyboard shortcut or press the “copy error details” button

“Code crunching and bug busting”

My last scenario is likely closer to home for many IE blog readers since you’re probably a web developer. You might author your own pages or know enough to step through someone else’s code and understand it. You’ve just started building a new website and have run into a script error. IE8 can help.

To demonstrate one of the major improvements we’ve made in Internet Explorer 8, consider this example where a webpage is using script hosted as an external resource (a very common design pattern). The primary document (index.html) contains the following:

   1: <!DOCTYPE html>
   2: <html>
   3:     <head>
   4:         <title>Getting started</title>
   5:     </head>
   6:     <body onload="begin()">
   7:         <script type="text/javascript" src="external.js"></script>
   8:     </body>
   9: </html>

The source for the external script “external.js” is the following:

   1: /* external.js */
   2: function begin()
   3: {
   4: var oDiv = documnt.createElement('DIV');
   5: }

 

With IE8, we’ve fixed a few long-standing bugs, and are now able to report the correct line number and file where the error occurred:

IE7 script error information showing the wrong line number and file, IE8 script error information showing the correct line number and file.

Web developers often need a little more context about a problem involving a script error, and using the script error dialog is only the first step. The real bread-and-butter for the web developer is the built-in developer tools; in IE8 simply press F12 to open them. While debugging script errors, you’ll spend most of your time in the Script tab of the tools:

IE developer tools, script tab showing the location of the script error

We’ve made it much easier to work with the IE8 built-in script debugger or any other script debugger that you have installed. By default, script debugging is disabled so that browsing performance is not adversely affected. To get started you have to enable debugging. To do this in IE8, you don’t have to search through the Internet Options control panel to turn on debugging (and then possibly forgetting to turn it off again later). Instead, just push the “Start Debugging” button and debugging is enabled for that process (and will persist until the process is closed). Note that the Start/Stop debugging button in the Developer Tools does not affect the IE-wide script debugging setting in the Control Panel options. Because break-on-error (the pause button with the red X) is enabled by default, the debugger immediately  catches the problem, and indicates exactly where the error has happened in the source view of the tools (see previous screenshot).

developer tools script tab showing the call stack

With debugging enabled all script errors automatically propagate to the console window. You can quickly find where each error occurred in the context of the source code simply by clicking on the location information to the right of the error message. Additionally, you can see where you are in the execution context call stack (the “begin” function, after the global “onload” handler), inspect local variables, watch any expression, step through the code, and basically do the activities you’ve come to expect from a debugger. The Developer Tools also offer a way to quickly switch between all the script and source files loaded for the current page. More info can be found at the Jscript debugging documentation.

Here are three tricks that I find pretty handy while working in the Script tab.

Break All - The “break all” button (the pause button to the immediate left of the break-on-error button) causes script execution to pause the next time any script would be executed. On simple pages this can be very handy. For example, assume that the begin function was actually triggered by ‘onclick’ instead of ‘onload’. With the debuger running, pressing the “break all” button will allow you specifically trigger execution paths that you want to debug—in this case, when you clicked on the body element, you could then trace the JavaScript execution from that point on. This doesn’t always work well because of script that runs as a result of a timer. For those scenarios I’ll use the search box to find the function and then set an explicit breakpoint.

IE developer tools, script tab, add watch option

Right click and add watch - when I want to watch a specific variable, it’s as easy as finding the variable in the source window, right-clicking on it, and selecting “Add Watch”. This technique will grab only the variable and place it in the Watch window along with its value and type. To add an entire expression, simply highlight it and right-click on the highlighted expression and select “Add Watch”.

IE developer tools, script tab, console window

Console window – often when the debugger is paused, I take the opportunity to execute a few investigative variable queries using the console window. To really take advantage of the console window, consider using console logging. Console logging provides an asynchronous alternative to alert() for those that prefer that debugging methodology. console.log() provides the same functionality as alert(), but does so without creating a modal window (and the focus switching that goes along with it). The console object also supports the different logging levels: log, info, warn, and error as shown below.

External script debuggers

If you want to launch an external script debugger like Visual Studio 2008 from within IE8, you’ll still need to turn on script debugging for IE in the control panel. After that, if Internet Explorer comes across a script error, it will give you the option of using IE8’s built-in developer tools or some other debugger:

IE8 Script Error dialog which contains options to use the built in script debugger in IE

However, when Visual Studio 2008 launches IE8 for debugging purposes, it automatically enables per process debugging so that you don’t have to manually switch it on/off.

Overall, IE8 provides a premier set of developer tools, of which I’ve only discussed some of the features available in the Script tab. Profiling, HTML and CSS inspection and editing, and layout troubleshooting are among some of the other features built-in to the tools that are available now with IE8. With the developer tools, web developers have the tools they need to troubleshoot script errors and quickly fix them.

Summary

  • Accurate line/file information in script error reports
  • Debugging can be automatically enabled on a per-tab bases through the developer tools
  • Full-featured script debugger built-in to IE8’s developer tools

With IE8, handling script errors is much easier whether you are an end-user or a web developer. I hope you have as much fun using the tools as I’ve had.

-Travis Leithead
Program Manager

Posted by ieblog | 36 Comments
Filed under: ,

Fixing Reliability Issues in IE8

In a previous post, Andy wrote about some of the new features we introduced to improve reliability in Internet Explorer, such as Loosely Coupled IE and Automatic Crash Recovery. These features help minimize the impact of reliability issues (such as crashes and hangs) once our users encounter them, allowing them to return to their original browsing state as soon as possible.

From an engineering perspective, our goal is to minimize the occurrences of these issues in the first place. In today’s post I’d like to walk you through the various approaches we use to identify, prioritize and address reliability issues in IE8. Each of these approaches covers different angles of the product and is equally useful in ensuring a reliable experience for different types of users.

End-user Feedback

Users are our greatest resource for feedback pertaining to reliability issues. We receive lots of information from our feedback channels about specific problems that users are experiencing. We also leverage Windows Error Reporting, which sends details of user-reported crashes and hangs back to Microsoft. The accumulation of these reports helps us understand overall browser reliability in customer environments and enables us to identify our top issues.

In last month’s post, I described how we used a failure curve to identify and fix reliability issues for IE8 on the Windows 7 Beta. We follow a similar approach when we ship a new IE release. Below you can see the failure curve for the top crashes and hangs caused by IE in the IE8 Beta cycle. The data is based on snapshots taken 50 days after each IE8 pre-release. The green bars indicate failures that have been fixed in IE8.

 chart of IE failures.  Each bar is a failure issue.  It is sorted by number of occurences.  The graph is in the shape of the right side of a bell curve.

A failure curve typically shows that a small number of failures impact a large number of users. These are represented by the leftmost bars on the curve and are most likely crashes in mainstream scenarios. The issues in the “long tail” are generally encountered in specific hardware and software configurations. While these bugs are important to fix, we focus our efforts on the most impactful issues first and systematically work our way down the failure curve. The top remaining issues that are not addressed in time will be fixed and shipped to customers in future security updates. To date, we have fixed 80% of all the reported crashes and hangs in IE8.

Feature Testing

Reliability testing starts from the feature level and helps maximize product quality from the ground up. The owners for each feature run automation on their new code to identify and fix key stability issues. These people are also the most prominent users of their respective features, and would be able to encounter any issues that are not discovered via automation. Therefore, the majority of stability issues for a certain feature are identified and addressed during this phase.

In addition, teams leverage several mechanisms that scan through and identify potential faults in their source code, such as buffer overruns, memory leaks, or uninitialized memory. Many of these faults could have become top crashes and hangs in the public, but our teams work to fix the issues before they are even encountered internally.

Internal Product Usage

Amongst the IE team and other divisions throughout Microsoft, thousands of people are using the latest versions of IE8 every day. One critical benefit of this internal network is that we can work directly with the employee who encountered a crash to investigate and fix it quickly, often debugging directly into their machines.

Internal users send us crash and hang data through Windows Error Reporting as well. We use their data to fix the most impactful issues seen in recent builds. The shape of the failure curve generated via internal data can be a good approximation of what we see from the public as well.

For example, many of our internal users upgraded to the Windows 7 Beta build several weeks before it was publicly available. The data generated from the extensive Beta-testing allowed us to create a preliminary failure curve. We began to investigate a handful of crashes that were clearly the most impactful issues. By fixing these crashes ahead of time we stayed ahead of our failure curve, and were able to swiftly address the remaining issues after the Beta was released.

Lab Reliability Testing

To discover crashes in more far-reaching usage scenarios, we perform a series of tests on lab machines to continuously monitor for new issues in recent builds. We employ two common techniques often referred to as Stress and Long Haul testing.

Stress Testing    
Stress testing the browser is critical to identifying architectural bugs and other hidden issues. Our goal is to be able to stress-test IE8 for a defined period of time without interruptions. To measure this, we rapidly navigate to websites and perform user actions such as opening and closing tabs and windows. We hope to identify important issues that may not be seen from regular browsing behavior. Over the course of a day, it’s possible for our stress tests to navigate the same browser instance to over 100,000 web pages!

Long Haul Testing
Part of our vision for IE8 reliability is to allow users to run IE for as long as they desire without interruptions. We devise different types of tests to simulate long term usage of the browser and measure how long the tests can run before experiencing a crash or running out of memory. We then engage with teams to get the top issues fixed as soon as possible. We also run tests to track memory consumption after long periods of usage.

Summary

Each of the above approaches has played an important role in driving reliability improvements in IE8. In fact, we are able to quantify these improvements using various tests and analyses, and compare our results to IE7. For example, we are now able to run stress tests continuously for over 12 hours on IE8, compared to less than 8 hours on IE7. Also, we found that IE8 uses up 90% less memory than IE7 after running continuously for 24 hours under Long Haul testing.

We’re convinced that our approaches to identifying reliability issues have generated significant stability improvements to IE8. We encourage you to try out Internet Explorer 8 today and send us your feedback. We rely on your collective feedback to determine the most important reliability issues to address in future releases. If you experience a crash or hang please be sure to let us know by submitting an error report.

Thank you for your help in ensuring that IE8 is such a great product!

Herman Ng
Program Manager

Posted by ieblog | 93 Comments

Missed MIX, Catch The Content Online

For those of you who didn’t make it to MIX, I wanted to take a quick minute to point out that the MIX team has made all of the sessions available for viewing and downloading.  If you’re building any type of web site or web application, I’d highly recommend checking out Eric’s Security session and John’s performance session.  Both will give you some great tips for writing better code, not just in Internet Explorer, but for browsers in general.

A Brief History Of The Web

http://windows.com/ie8nethistory
So much has happened in such a small time that it would be impossible to cover it all.  We left plenty out, but the parts we left in are really funny, so we hope you can forgive us.

Dean Hachamovitch’s Day 2 Keynote

http://videos.visitmix.com/MIX09/KEY02

Sessions Presented By The Internet Explorer Team

A Lap Around Internet Explorer 8 – MIX09-T52F
http://videos.visitmix.com/MIX09/T52F
IE is back! In this session, you’ll hear the inside story behind the development of Internet Explorer 8. We’ll show you how to develop innovative user experiences with Web Slices, Accelerators and Visual Search. You’ll discover nearly twenty new security enhancements that make browsing safer than ever, and you’ll find out about performance improvements that will help you build faster AJAX applications. Finally, we’ll show you why we think Internet Explorer 8 is one of the most standards-compliant web browsers on the market.

Securing Web Applications – MIX09-T54F
http://videos.visitmix.com/MIX09/T54F
After a quick summary of some of the web attacks in the wild today, you’ll learn how to take advantage of browser security improvements to help protect your web applications and visitors.

Creating A Great Experience On Digg With Windows Internet Explorer 8 – MIX09-C22F
http://videos.visitmix.com/MIX09/C22F
Come hear how Terralever was able to use the powerful new features of Internet Explorer 8 to change how users interact with the Digg website.  Learn how using Accelerators and Web Slices changed the way users are able to discover, as well as simplify submitting stories.  We’ll look at how taking advantage of these exciting features can improve a users experience, while increasing the number of users visiting your site. 

Internet Explorer 8 In The Real World: How Is IE8 Used – MIX09-C23F
http://videos.visitmix.com/MIX09/C23F
Come see behind the scenes and learn about the customer data that motivated the IE8 user experience design team. We’ll discuss what people are doing in the browser and how that influenced the detailed design of new features. We’ll also talk about the methodology for choosing the subtle refinements to existing features that have a big impact on ease of use and discoverability.

Building High Performance Web Applications and Sites – MIX09-T53F
http://videos.visitmix.com/MIX09/T53F
Learn how to improve your web application’s performance in the browser by avoiding common pitfalls in JavaScript, CSS, and HTTP caching techniques.

And if you haven’t already, you can download Internet Explorer 8 at http://www.microsoft.com/windows/internet-explorer

Enjoy,
PEte LePage

Posted by ieblog | 25 Comments
Filed under:

Compatibility View List and IE8 RTW

I’ve blogged about the Compatibility View features included in Internet Explorer 8 a few times during the Beta 2 and Release Candidate milestones. Now that Internet Explorer 8 has released, I wanted to follow-up with a quick post highlighting the content that’s been created on MSDN regarding the Compatibility View List.

To review, Internet Explorer 8 includes a suite of features under the umbrella term ‘Compatibility View’. These features give users a way to mitigate website compatibility problems they may encounter while browsing the web – compatibility issues often caused by Internet Explorer 8’s better implementation of web standards. By default, Internet Explorer 8 displays content in its most standards compliant way and this can cause compatibility problems on websites that still expect the older, less interoperable behavior from IE. Users can override IE’s default behavior by choosing to view a site in Compatibility View - there’s an icon that appears next to the ‘Stop’ and ‘Refresh’ buttons in the address bar that controls this. Overall options for the feature set can be found in the Tools menu.

During the development of Internet Explorer 8, the IE team analyzed Compatibility View button usage telemetry data, paying close attention to the type of compatibility experiences our Beta users were having on high traffic websites. We combined that telemetry data with other feedback sources – customer-filed bugs, Report a Webpage Problem data, our own compatibility testing, etc… - to create a list of high traffic sites that are likely best displayed in Compatibility View. During the first run experience, we offer users the choice to use this Compatibility View List as part of their everyday browsing experience. Visiting websites on the list causes Internet Explorer 8 to display the site in Compatibility View rather than IE8’s default “best standards mode”. In other words, it’s as if the user pressed the Compatibility View button for all sites on the list with the benefit that the end user avoids having to first experience a website compatibility failure to make the determination that these particular sites are best viewed in a non-default manner. You can view the list currently available on your IE installation by typing ‘res://iecompat.dll/iecompatdata.xml’ into the browser’s address bar. Note that the list is only active if the ‘Include updated website lists from Microsoft’ check-box at Tools --> Compatibility View Settings is selected.

Coinciding with the release of Internet Explorer 8, we’ve created a content store on MSDN that discusses the finer-grain details of the Compatibility View List. There you can find answers to common questions –

  • What process did the Internet Explorer team follow to create the list?
  • Is my site / domain on the list?
  • How do I remove my site / domain from the list?

We’ve also created a tracking spreadsheet that provides a living history of sites on the list – domain name, when the site was added, and the current status. The Compatibility View List is updated on a regular cadence (in a period mirroring IE security updates, approximately every 2 months) and the status field helps site owners determine whether the currently shipping version has satisfied the removal request or whether the removal request will happen in an upcoming version of the list.

In closing, we on the IE team greatly appreciate all of the feedback you’ve provided regarding Compatibility View. That feedback has helped us create a feature set that meets two important goals of the release, goals that are often at odds: improved interoperability through a better implementation of web standards *and* providing a great user experience on existing websites. Please keep the feedback coming.

Scott Dickens
Program Manager

Posted by ieblog | 37 Comments
Filed under:

Accelerator Spotlight

Accelerators are a robust and customizable way of bringing you closer to the services you use most. We’ve said a lot about the technology behind Accelerators and how to build on it, but I thought it might be nice to step back for a minute and look at some of the things people have already built. So for the rest of this post, I’ll be throwing a few interesting Accelerators into the spotlight.

These are five Accelerators that I thought were notable in some way, either because they did something completely different than I ever thought of the feature doing, or because they do something particularly well.

Shareaholic

One of the distinctions we made when designing the Accelerator feature was service integration versus service aggregation. Loosely speaking, one could view the feature itself as being service aggregation, since it binds a bunch of services in one place, and each individual Accelerator as service integration, since it occupies a place in that aggregation feature.

Shareaholic (add) comes closer to service aggregation in its own right than almost any other Accelerator I’ve seen. Their team has a blog post describing it, but it essentially takes the user selection, link, or document and sends it to the Shareaholic service, which interfaces in turn with roughly 30 other services of varying kinds.

Shareaholic accelerator.  The preview window shows different services which can be used to share.

There are tradeoffs to this approach, of course, but I think Shareaholic is a good example of the kinds of aggregation possibilities that are possible with Accelerators.

Entertonement

Entertonement (add) is a very unique Accelerator. Essentially, it takes the user selection and returns audio clips based on that selection. The real distinguishing feature, however, is what it does with the preview window:

Entertonement Accelerator.  The preview window shows

Entertonement embeds a media player in the preview window and then plays the first audio clip returned by the user’s selection.

I think this Accelerator helps illustrate a class of preview window scenarios that I don’t think have been fully explored yet—namely, embedding outside content.

I could see a number of other applications for embedding a media player in the preview window, like music or video search services, some of which already have Accelerators. Given that the preview window can run ActiveX controls, the possibilities are virtually limitless, subject to the security restrictions we have in place for such controls.

Preview and Launch URL

Preview and Launch URL (add) fills one of the most-requested needs for Accelerators. It takes a user-selected URL and launches it. This alone is very useful, but what really sets this Accelerator apart is its use of the preview window.

It uses a service called WebSnapr to generate previews of web pages, which