Tuesday, March 11, 2008

Automatic Crash Recovery - Beta IE8

Automatic Crash Recovery (ACR) is a feature of Windows® Internet Explorer® 8 that can help to prevent the loss of work and productivity in the unlikely event of the browser crashing or hanging. The ACR feature takes advantage of the Loosely-Coupled Internet Explorer feature to provide new crash recovery capabilities, such as tab recovery, which will minimize interruptions to users’ browsing sessions.
Most software applications are tools that enable people to be more productive. Microsoft® Office, the world’s most popular productivity application suite, thrives on making people more productive. Part of making people more productive is helping to protect them from losing their work. Nearly everyone at some time has experienced work loss and knows the frustrations associated with losing important data.

Users already do lots of work in their browsers. Some examples of such work are:

COMPOSITIONAL WORK
Compositional work involves writing or creating new content. Composing is hard work; it can be time intensive and extremely painful to lose. Some examples are:
  • E-mail messages
  • Blog posts
  • Academic courseware (message boards, written assignments, and so on.)

CONTEXTUAL WORK
Contextual work is “soft work” that is manifested in the state of the browser. It may not be as painful to lose this type of work, but it is nevertheless frustrating when it happens. Examples include:
  • Information search and retrieval (search and navigation)
  • Shopping carts
  • Login sessions (bank, e-mail, and so on.)
  • Tab set / loaded URLs
  • Travel Log
The ACR feature will help prevent contextual and compositional work loss in the unlikely event of a crash, hang, or an accidental application closure.

ARCHITECTURE
The ACR feature takes advantage of the Loosely-Coupled Internet Explorer feature, which isolates the UI Frame from the Tab set by keeping them in separate processes, as shown in the following diagram.
Over 70% of all Internet Explorer crashes and hangs are caused by extensions, such as ActiveX® controls, Browser Helper Objects (BHOs), and Toolbars. By isolating extension code in the tab process, we can protect the integrity of the browser and limit many failures to the tab process.
The ACR feature consists of an object in the Frame that acts as a virtual flight data recorder that can back up essential data from the tab processes, including:
  • The Back->Forward history (Travel Log)
  • Tab set with URLs and ordering

Many Web sites will not need to change code in order to be recovered correctly.
However, when a tab or frame recovery occurs, Internet Explorer will renavigate the current page. AJAX sites with dynamically injected forms should use the bookmarking page state feature in Internet Explorer 8 to ensure that the correct page state is recovered. The following example shows how to do that.

AJAX Navigation for Bookmarking Page State in the Browser

In IE8 Standards Mode, Internet Explorer treats changes in window.location.hash like navigations and saves the previous document URL. The following actions occur as a result:
The previous URL, which might be from the previous hash fragment, is updated in the address bar, the back button, and other browser components.
A click sound is played just as in a traditional navigation scenario.
A new hashChanged event is raised.

Though this ACR system is the road map which is already in use with Mozilla firefox, Microsoft added up AJAX navigation for Book marking keeping the future in Mind. Now it is up to Mozilla, developer, to develop a new concept that would override IE8


1 comment:

Anonymous said...

gud and excellent intro on ARS