chris jacksonmatt heller principal consultantinternet explorer “the app compat guy”product...

51
What You Need to Know about Migrating from Internet Explorer 6 to Internet Explorer 8 Chris Jackson Matt Heller Principal Consultant Internet Explorer “The App Compat Guy” Product Management Microsoft Corporation Microsoft Corporation [email protected] http://appcompatguy.com @ appcompatguy SESSION CODE: WCL319

Upload: ariel-fowler

Post on 14-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 2: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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!

Page 3: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

IE8 App Compat End-to-End

The application compatibility processTools reviewThe debugging processCommon issuesRemediation

Page 4: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

The Application Compatibility ProcessAccelerate the project and reduce cost with effective planning

Page 5: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

The Application Compatibility Project

Page 6: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 7: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 8: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

The Application Remediation Matrix

Page 9: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 10: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

ToolsA quick review of app compat tools

Page 11: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 12: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Microsoft-provided application compatibility tools

DEMO

Page 13: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

The Debugging ProcessHow to troubleshoot issues discovered during testing

Page 14: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Progressive Escalation Debugging Process

Check Compatibility

Mode

Determine Feature

Compatibility Issues

Reduce the Web Page

Troubleshoot with Developer

Tools

Page 15: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 16: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 18: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 19: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

META Tag PrecedenceWho wins?

Server notation

Header notation

Compatibility View option

Page 20: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 21: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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!

Page 22: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 23: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 24: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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)

Page 25: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 26: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 27: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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!

Page 28: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

The debugging process – going from broken to fixed

DEMO

Page 29: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Common IssuesKnowing what to expect, so you can recognize them

Page 30: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

IE7 Process Model

Page 31: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

IE8 Process Model (LCIE)

Page 32: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Lists or Tables Appear Broken

Frequently caused by unmatched tags

Page 33: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Menu doesn’t work

Caused by a bug in ASP.NET – occurs when running in IE8 standards mode

http://support.microsoft.com/kb/962351

Page 34: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

JavaScript Doesn’t work

Changes to getElementByID()Native support for JSON

Page 35: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Pop-Up Windows Misbehaving

Restricted access to window.opener property

Page 36: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Site Left-Aligned Instead of Centered

Divs not being centered according to standards

Page 37: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

“Please Upgrade Your Browser”

Use of == instead of >=Failure to detect when in compatibility mode

Page 38: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Troubleshooting common issues with web apps

DEMO

Page 39: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

RemediationFixing compatibility issues

Page 40: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 41: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 42: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Virtualization for IE6 compatibility

DEMO

Page 43: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 44: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com
Page 45: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 46: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 47: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 48: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

Complete an evaluation on CommNet and enter to win!

Page 49: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 50: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

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

Page 51: Chris JacksonMatt Heller Principal ConsultantInternet Explorer “The App Compat Guy”Product ManagementMicrosoft Corporation chris.jackson@microsoft.com

JUNE 7-10, 2010 | NEW ORLEANS, LA