Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



Component One


rssbus
 


Hacker Halted

Reader rating:
Click here to read 1 comment about this article.
Article source: CoDe (2008 - Vol. 5 - Issue 3 - IE8)


Article Pages:  1  2 - Next >


Reliability and Privacy with Internet Explorer 8 Beta 2

Reliability and privacy are two must-have features for every Web user. To that end, Internet Explorer 8 Beta 2 introduces powerful and easy-to-use features that improve the dependability of your browsing experience and the security of your personally identifiable information. Read on for all the details.

Reliability

For Internet Explorer, reliability means that the browser should always start quickly, perform well, connect to the Internet, and show websites without crashing or hanging. Most users want their browser to work, recover smoothly after a crash, and display the Web correctly. Users are not as concerned with what causes the problem, whether that be a poorly functioning add-on or poorly performing website. As part of Microsoft’s ongoing commitment to improve reliability, we have done a great deal of work in Internet Explorer 8 Beta 2 to make the browser more robust in all of these areas: performance, recovery and display. In particular, this article will discuss:

  • Loosely-coupled Internet Explorer: An architectural feature that helps isolate different parts of the browser from each other for smoother browsing performance.
  • Automatic Crash Recovery: A feature that is designed to get users back to browsing as quickly as possible after a crash.

Loosely-coupled Internet Explorer

One of the Internet Explorer team’s most significant investments is in a feature called Loosely-coupled Internet Explorer (“LCIE”), which is an architectural attribute that helps isolate different parts of the browser from each other, most notably, the frames from the tabs. LCIE is the foundation on which we have built several of our features, including Automatic Crash Recovery.

"
Have you ever wanted to take your Web browsing “off the record”?
"

In Internet Explorer 8 Beta 1, we isolated the frame window, which roughly corresponds to the “chrome,” from the tabs by putting them in their own separate processes so that a tab can now crash without bringing down the rest of your browser. Visually, this separation would look like Figure 1, with the frame area highlighted and the tab area dimmed.

Click for a larger version of this image.

Figure 1: A tab in Internet Explorer 8 Beta 2 with the separate processes dimmed for illustration.

Building on Internet Explorer 8 Beta 1, we have continued to develop LCIE in Internet Explorer 8 Beta 2 to further improve reliability and performance. For Beta 2, we added the following changes:

Frame Process Merging

To help improve startup performance, we have reduced the number of processes that Internet Explorer starts. Instead of firing up two processes every time you launch the browser (one for the frame and one for your tabs), we now only fire up one frame process the first time you launch Internet Explorer. Subsequent launches will only start a new tab process or make a new tab in an existing tab process.

For users that are accustomed to browsing websites in multiple “sessions”-for example if you want to log in to multiple e-mail sites simultaneously-you can specify the “-nomerge” command line option to disable this feature.

More Tab Processes

It turns out that the vast majority of all Internet Explorer sessions contain three or fewer tabs. Accordingly, in Internet Explorer 8 Beta 2 we try to give users three efficient tab processes. This is contingent on the user’s computer capabilities, but the more capable a computer is, the more processes Internet Explorer will use, up to a point. Adding more processes gives users much better isolation in the event of a failure. If each tab is in its own process, websites are completely isolated from each other.

Virtual Tabs

We have also added the internal capability to “hot swap” the process from underneath a tab. Previously, Protected Mode worked on a per-process basis. For example, say you add a website to your trusted sites in Internet Explorer 7. If that site links to another site that is not in your trusted sites, it will cause you to switch browser windows when you click the link.

We improved this in Internet Explorer 8 Beta 1 with LCIE when we split the frame from the tabs. With the split, Internet Explorer can create a new tab in the same window and switch you to that tab as opposed to being “punted” to a new window.

Virtual tabs lets you navigate across Protected Mode in the same tab since Internet Explorer just switches the process under the tab to the correct integrity level. This is really just “UI-sugar”-virtual tabs do not impact security or protected mode in any way, other than to make it more convenient to transition between Protected Mode on and off.

LCIE’s ability to isolate different parts of the browser, coupled with more tab processes and virtual tabs, helps improve Internet Explorer’s performance and overall reliability.

Automatic Crash Recovery

In the event of a crash, Automatic Crash Recovery is designed to get you back to browsing as quickly as possible. It uses LCIE’s tab isolation to help localize the failure to your tab. If you experienced a crash in Internet Explorer 8 Beta 1, you may have noticed the bubble shown in Figure 2.

Click for a larger version of this image.

Figure 2: The “tab recovery experience” in Internet Explorer 8 Beta 2.

This is the “tab recovery experience.” The failure has been confined to your tab. Your browser never goes away and Internet Explorer gets you back to the site quickly.

What’s happening behind the scenes is that Internet Explorer is keeping track of an array of information about your tab. In Internet Explorer 8 Beta 1, the following data about each tab was stored:

  • Current URI
  • The travel log (your back/forward history)
  • Tab order
  • Which tab was active

When you crash, Internet Explorer tears down the old tab process, creates a new tab process, and recovers the stored data back into the tab. For many websites this works well; however, there are other websites, such as sites with Web forms, or sites that you need to log in to, that Internet Explorer 8 Beta 1 didn’t recover successfully.

In Internet Explorer 8 Beta 2, we improved this further by adding session cookie and form data recovery.

Session cookies are often used for authenticating the user to a website. Session cookies are temporary cookies that only persist for the lifetime of your browsing session. When you log in to a website, they usually give you a session cookie that contains a unique token that identifies you while you are logged in. As you navigate around the website, Internet Explorer sends your session cookie to the site, and the site can examine this token and determine that you are authenticated. Unlike persistent cookies, they are not written and retained on your hard disk.

In Internet Explorer 8 Beta 2, we recover your session cookies too, and still do not write them to disk! Internet Explorer stores copies of your session cookies in the frame process. When your tab crashes, Internet Explorer just copies them back from the frame into the tab, and the user is automatically logged back into the site they were using (Web-based e-mail, blog sites, social networking sites, etc.).

Note that session cookie recovery only takes place for tab crashes. If the whole browser crashes, the session cookies are lost; however, we do expect that the overwhelming majority of crashes will be isolated to the tabs as most crashes are caused by malfunctioning add-ons, which are now isolated to a tab process.

"
In Internet Explorer 8 Beta 2, we improved crash recovery further by adding session cookie and form data recovery.
"

In addition to keeping you logged in with session cookies, Internet Explorer can now recover your form data. If you typed information, such as an e-mail, blog post, comments, into an HTML form, Internet Explorer can now recover that information.

Leveraging LCIE’s tab isolation allows Automatic Crash Recovery to quickly restore the user to their browsing session without having to log back in to their sites or re-enter new data into forms. Combined, LCIE and Automatic Crash Recovery provide an innovative and graceful way to recovery from crashes.

&

By: Andy Zeigler

andyzei@microsoft.com

Andy Zeigler is a Program Manager (PM) who joined the IE team in 2007 to help make IE8 the most trustworthy web browser. He works on privacy and reliability features, including Loosely-Coupled IE, Automatic Crash Recovery, and InPrivate™ Browsing. Prior to the IE team, he was the PM for the Windows Preinstallation Environment (WinPE).

Andy graduated from Purdue University in 2005 with a degree in Computer Science. In his free time, he plays drums in a Seattle band.

andyzei@microsoft.com

Fast Facts

Internet Explorer 8 Beta 2 introduces great new features that significantly improve the security of your personally identifiable information and reliability of your browsing experience.



Article Pages:  1  2 - Next Page: 'Privacy' >>

Page 1: Reliability and Privacy with Internet Explorer 8 Beta 2
Page 2: Privacy

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
2.9 out of 5

18 people have rated this article.

Hacker Halted

      Sharepoint TechCon

 

SSWUG