chris jacksonmatt heller principal consultantinternet explorer “the app compat guy”product...
TRANSCRIPT
What You Need to Know about Migrating from Internet Explorer 6 to Internet Explorer 8Chris Jackson Matt HellerPrincipal Consultant Internet Explorer“The App Compat Guy” Product ManagementMicrosoft Corporation Microsoft [email protected]://appcompatguy.com @appcompatguy
SESSION CODE: WCL319
Tips for Preparing for IE8 App CompatUnderstand why you want it!
SecurityStandardsLower support costsUser experiencePerformanceManageabilityCompatibility
Spend the time to develop your strategyThis is not a purely technical exercise!
IE8 App Compat End-to-End
The application compatibility processTools reviewThe debugging processCommon issuesRemediation
The Application Compatibility ProcessAccelerate the project and reduce cost with effective planning
The Application Compatibility Project
Tuning for CompatibilityTune the environment early, and fine-tune as a result of your testing
Site to Zone Assignment ListTurn on Internet Explorer Standards Mode for Local IntranetUse Policy List of Internet Explorer 7 sitesTurn off Data Execution Prevention(Individual Security Features)
See: Part 2 of this webcast series for details
The Importance of RationalizationInformation critical to saving you time and money:
If you even need to keep the appHow important the app is to youWhether you require support
Do not underestimate the power of getting an application OUT of your inventory EARLY
The Application Remediation Matrix
Remediation OptionsRemediation is either fairly easy…
Compatibility view / change group policy
…or fairly invasiveChange the code
You may have to iterate on your policy definition as you discover more about your applications
ToolsA quick review of app compat tools
Microsoft-Provided ToolsComplete tools review:TechNet Webcast: Thrive Live! Migrating from Internet Explorer 6 to Internet Explorer 8 (Level 300)http://www.microsoft.com/events/series/ie.aspx?tab=Webcasts&seriesid=137&webcastid=12781
Expression Web SuperPreviewInternet Explorer Compatibility Test ToolF12 Debugger ToolsFiddlerApplication Compatibility VPCs
Microsoft-provided application compatibility tools
DEMO
The Debugging ProcessHow to troubleshoot issues discovered during testing
Progressive Escalation Debugging Process
Check Compatibility
Mode
Determine Feature
Compatibility Issues
Reduce the Web Page
Troubleshoot with Developer
Tools
What Happened to DOCTYPEs?DOCTYPE is the “original” compatibility switch
Still required in HTML5 for legacy reasons (opt into standards mode)Challenge:
Assumes all browsers completely and equivalently implement web standardsIf this were true, we wouldn’t be here today!
X-UA-Compatible is the Internet Explorer switch to select a particular rendering mode
History of Document Modes
Bottom LineIE6 Standards vs. IE8 Standards more differentIE6 Standards vs. IE5.5 Quirks more similar
WorkaroundTry forcing “IE6 Standards” apps into Quirks Mode using IE8 Developer Tools (F12)If it works, change to Quirks doctype
BrowserRelease
IE5.5 (2000) IE6 (2001) IE7 (2006) IE8 (2009)
Document Modes IE5.5 Quirks Mode
IE5.5 Quirks Mode
IE5.5Quirks Mode
IE5.5Quirks Mode
New! IE6 Standards Mode
New! IE7 Standards Mode
IE7 Standards Mode
New!IE8 Standards Mode
IE6 Standards vs. IE5.5 Quirks
What’s New in Internet Explorer 6?Extended SMIL 2.0 HTML+TIME, includes transitionFilter DOM L1 & CSS L1 (CSS1) standardsCustom cursors, including new cursor styles.Iframe SECURITYNavigateError event in WebBrowser ControlOnmousewheel eventRendered elements that overflow in width now show ellipses (...)Additional focus events are available Element behaviors now permit nested literal content
http://msdn.microsoft.com/en-us/library/ms649478(VS.85).aspx
X-UA-Compatible Impact
Emulate IE8 Emulate IE7 IE5 IE7 IE8 Edge
<!DOCTYPE> Standards
<!DOCTYPE> Quirks
IE 5.5 Quirks
IE 5.5 QuirksIE 5.5 QuirksIE 5.5 Quirks
META Tag PrecedenceWho wins?
Server notation
Header notation
Compatibility View option
Determining Compatibility ModeThe rules that the web page is subject to has a significant impact on compatibilityDOCTYPE used to switch between IE6 standardsand Quirks
Now, in emulate mode, it switches between IE8 standards and QuirksQuirks may be more compatible with IE6’s implementation of standards than with IE8’s much more strict implementation of standards!
Test out using the developer toolsCan permanently either modify the DOCTYPEor X-UA-Compatible
Internet Explorer Compatibility Test ToolAutomated testing, implemented by the browser itself, to determine compatibility issues with features of the browser
Some can be disabled (though many we recommend a thorough security review before you do)
Determining broad incompatibility with a particular feature can suggest a short-term approach
If a security feature is on by default, there is probably significant value in having it on – but it’s usually better to get the value of the rest of the features except that one than to remain on IE6!
IECTT Events: 1021 - 1028Event ID Event Name Description Severity
1021 Mime Handling Restrictions Mismatched file name and MIME type
Low: Additional prompt
1022 Windows Restrictions Previously hidden elements now shown
Low: Possible rendering and sizing issues
1023 Zone Elevation Restrictions Scripts cannot access a more trusted site
Moderate: may break some scripts
1024 Binary Behaviors Restrictions
Unable to use binary behaviors locally
High: functionality is disabled locally
1025 Object Caching Protection Unable to access object from another domain
Moderate: may break some scripts
1026 ActiveX Blocking Need to authorize ActiveX controls
Low: Additional prompt
1027 Pop-Up Blocking Pop-up window will not be shown
High: windows will not appear
1028 Automatic Download Blocking
Download blocked until authorized
Moderate: user interaction required
IECTT Events: 1030 - 1037Event ID Event Name Description Severity
1030 Local Machine Zone Lockdown
Limitations in local machine zone
Low – Additional prompts
1031 Centralized URL Parsing Different results from malformed URLs
High – URL becomes unclickable
1032 Internationalized Domain Name Support
Protects against spoofing using “lookalike” characters
Low – URL will read differently in address bar
1033 Secure Sockets Layer Blocks against sites with invalid certs
High – Site is blocked
1034 Cross-Domain Barrier and Script URL Mitigation
Blocks against scripts running cross-domain
Medium – script may not work
1035 Anti-Phishing Blocks access to blacklisted sites
High – Site is blocked
1036 Manage Add-ons Indicates a control is disabled
Low – Additional prompts
1037 Protected Mode Control/addon unable to access standard user location
Low – many are auto-mitigated
IECTT Events: 1040 - 1049Event ID Event Name Description Severity
1040 CSS Fixes One of the top 4 CSS rendering issues is discovered
Medium – may not render correct, but may be usable
1041 UIPI Extension Blocked Known bad extensions are blocked
High – functionality is blocked
1042 UIPI Cross Process Window Message
Window message sent to higher privilege process
Medium – communication between apps blocked
1046 Cross-Site Scripting Filter Cross-site scripting attempt is blocked
Medium – some functionality is blocked
1047 Intranet at Medium Integrity Level
Navigation from intranet to Internet
Very Low – generally means nothing
1048 DEP/NX Crash Recovery Application executed memory not marked as executable
High – rendering process crashes
1049 Standards Mode Page rendered in standards mode without requesting it
Low – page may or may not render correctly (visually inspect)
IECTT Events: 1056 - 1073Event ID Event Name Description Severity
1056 File Name Restriction File path is stripped to the name only in uploads
Low – receiving site shouldn’t care
1058 Codepage Sniffing Scripts not detected on pages encoded UTF-7
Medium – scripts will be escaped
1059 Ajax Navigation Navigation manipulates location hash
Low – simply indicates that Ajax nav. used
1061 Application Protocol Users must confirm application launch
Low – additional prompt
1062 Windows Reuse Navigation Restriction
New window required when navigating from anoter context
Medium – site works, but additional window
1064 MIME Sniffing Restrictions – No Image Elevation
Ensures an image isn’t treated as executable when markup delivered
Medium – markup won’t be executed
1065 Web Proxy Error Handling Changes
Failing to make secure connection to server
High – No content rendered
1073 Certificate Filtering Filters client certificates to those likely to be used
Very low – generally works as it is supposed to work
Reducing a web pageCreate a local copy of the web pageStrip away the parts of the web page that do not affect the problemPerform testing on the reduced web page
Troubleshoot with Developer ToolsAfter reducing the web page and the style sheet, you can investigate with the debugger tools
Will also want to keep your web browser open to look up the rules for the elements you are working with, to understand the rules being applied!
Developer tools support:Dissecting HTMLDissecting CSSInteractive debuggingPerformance profiling
Find the source of slow performance!
The debugging process – going from broken to fixed
DEMO
Common IssuesKnowing what to expect, so you can recognize them
IE7 Process Model
IE8 Process Model (LCIE)
Lists or Tables Appear Broken
Frequently caused by unmatched tags
Menu doesn’t work
Caused by a bug in ASP.NET – occurs when running in IE8 standards mode
http://support.microsoft.com/kb/962351
JavaScript Doesn’t work
Changes to getElementByID()Native support for JSON
Pop-Up Windows Misbehaving
Restricted access to window.opener property
Site Left-Aligned Instead of Centered
Divs not being centered according to standards
“Please Upgrade Your Browser”
Use of == instead of >=Failure to detect when in compatibility mode
Troubleshooting common issues with web apps
DEMO
RemediationFixing compatibility issues
Remediation OptionsFixing the code is the best option (if you can afford it)
Full “Quirks” compatibilityFull IE7 compatibilityFull IE8 compatibility
Modifying policy is typically the second best optionWhen all else fails, it’s good to have a backstop: Virtualization
Actually run IE6 on a compatible OSMED-VXP ModeTerminal Services / Windows Server 2003
Virtualization OptionsMED-V
Pro: With automated web site redirection, provides the best user experienceCon: Requires local resources, incompatible with VDI
XP ModePro: Included with many SKUs of Windows 7Con: Requires local resources, incompatible with VDI, user has to select the “right” browser
TSPro: Doesn’t require local resourcesCon: Requires additional network, user has to select the “right” browser
Virtualization for IE6 compatibility
DEMO
Summary and Best PracticesRationalize your inventory earlyUse prioritization data to drive behavior (spend more time working on more important apps)Tune your policies for maximum compatibility, and schedule reviews based on subsequent discoveriesUse tools to troubleshoot issues, not discover themUse scenarios to discover issuesResolve issues with code wherever possible
Invest in higher standards compliance for more important appsHave a backstop (and a plan to get out from underneath it as soon as possible – your migration isn’t done until Internet Explorer 6 is gone!)
Related Content
WCL204 – What Everyone Should Know about Application CompatibilityWCL301 – Case of the App Compat BugWCL314 – Windows Sysinternals Primer: Process Explorer, Process Monitor, and MoreWCL319 – What You Need to Know about Migrating from Internet Explorer 6 to Internet Explorer 8WCL401 – Inside the Application Compatibility Toolkit 5.6: Finding, Testing, and Fixing Applications on Windows 7
Weekly, Monthly and Quarterly Rhythm of Topical Content
What is the Springboard Series?
To the IT pro, our goal is• Be the definitive resource for Desktop IT pros• Open, honest; show don’t tell• Information at right time, right level across Adoption Lifecycle
Inside of Microsoft we are• A turnkey IT pro engagement platform for depth and breadth• The program to mobilize MS marketing and field to
focus on desktop OS IT pros
Visit the Springboard Series on TechNet at www.microsoft.com/springboard
The Springboard Series IT pro experience offers dynamic content and structured guidance across the adoption lifecycle
DEPLOYPILOT MANAGEEXPLOREDISCOVER
Is it worth the pain?How does it change
my work? Is our environment ready? Is the organization ready?How do I maintain
and optimize?
one-Windows TechCenter in 10 languagesVirtual Roundtable Events
Springboard Technical Experts Panel Event Support
and Resources
Straight-talk Monthly Feature Articles and Overview Guides
TalkingAboutWindowsVideo Blogs
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
Complete an evaluation on CommNet and enter to win!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st
http://northamerica.msteched.com/registration
You can also register at the
North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
JUNE 7-10, 2010 | NEW ORLEANS, LA