IE7 and Beyond (Fundamentos)fundamentosweb.org/2006/Programa/Material/chris.pdf · 12 Protected...

30
IE7 and Beyond IE7 and Beyond Chris Wilson Chris Wilson Group Program Manager Group Program Manager Internet Explorer Platform Internet Explorer Platform Microsoft Microsoft

Transcript of IE7 and Beyond (Fundamentos)fundamentosweb.org/2006/Programa/Material/chris.pdf · 12 Protected...

IE7 and BeyondIE7 and BeyondChris WilsonChris WilsonGroup Program ManagerGroup Program ManagerInternet Explorer PlatformInternet Explorer PlatformMicrosoftMicrosoft

2

Who Is This Character?Who Is This Character?An unknown member of Flock of Seagulls?An unknown member of Flock of Seagulls?

Browser guy since 1993Browser guy since 1993

NCSA Mosaic for WindowsNCSA Mosaic for Windows

Internet Explorer 2.0Internet Explorer 2.0--7.07.0

Web standards guyWeb standards guy

HTML, CSS, DOM, I18n, XSLHTML, CSS, DOM, I18n, XSL

Or Or RowlfRowlf the Muppet?the Muppet?

3

Internet Explorer 7Internet Explorer 7The whirlwind tourThe whirlwind tour

Amazing User ExperienceAmazing User Experience

Secure and Trustworthy BrowsingSecure and Trustworthy Browsing

Powerful Web Developer PlatformPowerful Web Developer Platform

4

Amazing User ExperienceAmazing User Experience

Streamlined UIStreamlined UI

Tabbed Browsing with Quick Tabs Tabbed Browsing with Quick Tabs

Extensible search in UI via Extensible search in UI via OpenSearchOpenSearch

Integrated RSS platformIntegrated RSS platform

Great default print experienceGreat default print experience

Page ZoomPage Zoom

International Domain Name (IDN) supportInternational Domain Name (IDN) support

5

OpenSearchOpenSearch 1.11.1An open way to describe search providersAn open way to describe search providers

Script API prompts user to add provider:Script API prompts user to add provider:window.external.AddSearchProviderwindow.external.AddSearchProvider( [( [urlurl] )] )

Or use a link:Or use a link:<link title="My Search" <link title="My Search" relrel="search="search““type="application/type="application/opensearchdescription+xmlopensearchdescription+xml" " hrefhref="="http://http://mysearch.com/search.oddmysearch.com/search.odd" />" />

More detail on the More detail on the IEBlogIEBlog

6

RSS Feed DiscoveryRSS Feed Discovery

Discovery of feeds on web pagesDiscovery of feeds on web pages<head><head>

<title>Hello World Page</title><title>Hello World Page</title>

<link rel="alternate" type="application/<link rel="alternate" type="application/rss+xmlrss+xml““title="Hello World feed" title="Hello World feed" hrefhref="HelloWorld.xml"/>="HelloWorld.xml"/>

</head></head>

7

Windows RSS Platform providesWindows RSS Platform provides……

Feed Discovery (in IE)Feed Discovery (in IE)

Default feed viewDefault feed view

Common PlatformCommon Platform

FeedlistFeedlist, storage, parser, sync engine, storage, parser, sync engine

API from Win32 and .Net FrameworkAPI from Win32 and .Net Framework

List extensions to RSSList extensions to RSS

8

Secure and Trustworthy BrowsingSecure and Trustworthy BrowsingSecurity is job #1Security is job #1

Protection against web fraudProtection against web fraud

Full user control over addFull user control over add--onsons

Advanced malware protectionAdvanced malware protection

9

AntiAnti--webweb--fraud featuresfraud features

AntiAnti--phishingphishing service integrated into IEservice integrated into IE

User experience highlights securityUser experience highlights security

SSL user experience, address bar on SSL user experience, address bar on popupspopups

Integration of Parental Controls (VistaIntegration of Parental Controls (Vista))

ExplicitExplicit user consent is user consent is required on required on required on required on required on required on required on required on first first run of unused installed ActiveX controlsrun of unused installed ActiveX controls

AddAdd--on Manager (from XPSP2)on Manager (from XPSP2)

Secure and Trustworthy BrowsingSecure and Trustworthy BrowsingWeb fraud and user controlWeb fraud and user control

10

Malicious web pages often install malware or Malicious web pages often install malware or modify files by exploiting buffer overruns or modify files by exploiting buffer overruns or other critical security exploits in IE or addother critical security exploits in IE or add--onsons

Solution: Solution: Protected Mode Protected Mode (Vista)(Vista)

Eliminates silent install of malicious codeEliminates silent install of malicious code

Protects registry, file system from silent malwarProtects registry, file system from silent malware installse installs

Does NOT prevent running Win32 codeDoes NOT prevent running Win32 code

Only available on Windows VistaOnly available on Windows Vista

Secure and Trustworthy BrowsingSecure and Trustworthy BrowsingAdvanced Advanced malwaremalware protectionprotection

11

Change Settings,

Download a Picture

Exploit can install

MALWARE

IExplore.exe

Install an ActiveX

control

Cache Web content

Exploit can install

MALWARE

Admin-Rights Access

User-Rights Access

Temp Internet Files

HKLM

Program Files

HKCU

My Documents

Startup Folder

Untrusted files & settings

IE Running With Full PrivilegesIE Running With Full Privileges

12

Protected Mode: IE is Protected Mode: IE is ““least privilegedleast privileged””

IExplore inProtected

Mode

Install an Install an

ActiveX ActiveX

controlcontrol

Change Change

settings, settings,

Drag and DropDrag and Drop

Inte

gri

ty C

on

tro

l an

d U

IPI

IEU

ser.

exe

Redirected settings & filesRedirected settings & files

Com

pat

Com

patLa

ye

rLa

ye

r

CacheCache Web contentWeb content

Admin-Rights Access

User-Rights Access

Temp Internet Files

HKLM

HKCR

Program Files

HKCU

My Documents

Startup Folder

Untrusted files & settings

IEIn

sta

ll.exe

13

Our focus: Folks who need to make a livingOur focus: Folks who need to make a living

Added mostAdded most--requested standards featuresrequested standards features

Fixed top pain points/consistency issuesFixed top pain points/consistency issues

We listened to your feedbackWe listened to your feedback

Requests on Requests on IEBlogIEBlog, newsgroups, conferences, newsgroups, conferences

MeyerWebMeyerWeb, , PositionIsEverythingPositionIsEverything, , QuirksmodeQuirksmode

The Web Standards ProjectThe Web Standards Project

Powerful Web Dev PlatformPowerful Web Dev PlatformUpdating IEUpdating IE’’s platforms platform

14

Fixed inconsistencies with the W3C specsFixed inconsistencies with the W3C specs

Enable :hover on all elements not just on <a> Enable :hover on all elements not just on <a>

BackgroundBackground--attachment: fixed on all elementsattachment: fixed on all elements

Improved <object> fallbackImproved <object> fallback

Added standards features (CSS 2/HTML 4)Added standards features (CSS 2/HTML 4)

Fixed positioning supportFixed positioning support

Min/MaxMin/Max--Width/Height supportWidth/Height support

Selectors: firstSelectors: first--child, adjacent, attribute, child child, adjacent, attribute, child

CSS 3 attribute selectors: prefix, suffix and substringCSS 3 attribute selectors: prefix, suffix and substring

Powerful Web Dev PlatformPowerful Web Dev PlatformAdding the most requested featuresAdding the most requested features

15

Alpha channel support in PNG imagesAlpha channel support in PNG images

Native Native XMLHTTPRequestXMLHTTPRequest

Better enables DHTML/Atlas applicationsBetter enables DHTML/Atlas applications

No longer subject to ActiveX being enabledNo longer subject to ActiveX being enabled

<select> element now windowless<select> element now windowless

Can be visually layered w/ other elementsCan be visually layered w/ other elements

Powerful Web Dev PlatformPowerful Web Dev PlatformAdding the most requested featuresAdding the most requested features

16

Position Is Everything Position Is Everything

17

And A Bunch Of Other Bugs TooAnd A Bunch Of Other Bugs Too

Parser bugs: * html, _property or /**/ comment bug Parser bugs: * html, _property or /**/ comment bug

Memory leaks in Memory leaks in jscriptjscript engine engine

Select control: styleSelect control: style--able and not always on topable and not always on top

AutoAuto--sizing of absolute positioned element with right & leftsizing of absolute positioned element with right & left

great for 3 column layouts great for 3 column layouts

Relative positioning issuesRelative positioning issues

% calculations for height/width for abs positioned elements% calculations for height/width for abs positioned elements

hover effect working not just over text hover effect working not just over text

<?xml> prolog no longer causes quirks mode <?xml> prolog no longer causes quirks mode

HTML element truly independent of the Body HTML element truly independent of the Body

1 1 pxpx dotted borders no longer render as dasheddotted borders no longer render as dashed

Bottom margin bug on hover does not collapse margins Bottom margin bug on hover does not collapse margins

18

Overflow Behavior Now Fixed!Overflow Behavior Now Fixed!

IE6 used to grow the boxes (even if not asked)IE6 used to grow the boxes (even if not asked)

<style type="text/css"> div { width : 100px; height: 100px;100px; height: 100px;100px; height: 100px;100px; height: 100px; border: thin solid red;} blockquote { width: 125px; height: 100px; marginmarginmarginmargin----top: 50px; top: 50px; top: 50px; top: 50px;

marginmarginmarginmargin----left: 50px;left: 50px;left: 50px;left: 50px; border: thin dashed black} cite { display: block; text-align: right; border: none} p { margin: 0;}

</style>

<div> <blockquote> <p>some text long enough to make it interesting.</p> <cite>- anonymous </cite> </blockquote> </div>

IE6 IE7 (and all other modern browsers)

19

Improved Standards SupportImproved Standards Support…………means some pages break.means some pages break.

IE must balance standards compliance IE must balance standards compliance with site compatibilitywith site compatibility

(This doesn(This doesn’’t mean t mean ““dondon’’t improvet improve””))

It means we have to be careful It means we have to be careful

20

““II’’m really concerned that wem really concerned that we’’re re breaking stuff in the name of breaking stuff in the name of goodness and that all users and goodness and that all users and developers will walk away with developers will walk away with is is ‘‘stuff broke.stuff broke.’”’”

DonDon’’t Break the Webt Break the WebA quoteA quote

21

In IE7, In IE7, ““quirks modequirks mode”” stays the same stays the same -- most most standards changes are only in standards changes are only in ““strict modestrict mode””

If you use If you use ““quirks modequirks mode””, IE7 works just like IE6, IE7 works just like IE6

Unfortunately, standards mode is Unfortunately, standards mode is increasingly popular, and in many cases, increasingly popular, and in many cases, developers expect developers expect ““compatiblecompatible”” behavior behavior ––even in soeven in so--called standards mode.called standards mode.

Compatibility is critical to IECompatibility is critical to IE““Quirks modeQuirks mode”” vs. vs. ““Standards modeStandards mode””

22

We prioritized attacking our standards bugsWe prioritized attacking our standards bugs

I need you to help by testing and fixing your I need you to help by testing and fixing your web pages now, before we shipweb pages now, before we ship

WeWe’’re done changing re done changing –– test them with RC1!test them with RC1!

This is a symbiotic relationshipThis is a symbiotic relationship

Unless you donUnless you don’’t think improving IEt think improving IE’’s standards s standards support is important. support is important. ☺☺

This is where you come inThis is where you come inHelp break the vicious cycleHelp break the vicious cycle

23

Common BreakagesCommon BreakagesAnd how you can easily fix themAnd how you can easily fix them

User Agent Strings and Browser Detection User Agent Strings and Browser Detection Base your versionBase your version--testing on testing on >=>=, NOT , NOT ==

OverflowOverflowUse minUse min--height/width or correct box sizeheight/width or correct box size

<?xml> prolog doesn<?xml> prolog doesn’’t prevent strict mode in IE7, t prevent strict mode in IE7, which affects the CSS Box Modelwhich affects the CSS Box Model

<?xml version="1.0"?> <?xml version="1.0"?>

<!DOCTYPE html PUBLIC "<!DOCTYPE html PUBLIC "--//W3C//DTD XHTML 1.0 //W3C//DTD XHTML 1.0

Strict//EN" "DTD/xhtml1Strict//EN" "DTD/xhtml1--strict.dtd">strict.dtd">

24

Community WorkaroundsCommunity Workaroundsakaaka CSS HacksCSS Hacks

Rely on parser bugs and/or not yet implemented featuresRely on parser bugs and/or not yet implemented features

* html (Target: IE only)* html (Target: IE only)

_height:50px; (Target: IE only)_height:50px; (Target: IE only)

height/**/: 300px; (Target: Everyone but IE)height/**/: 300px; (Target: Everyone but IE)

html > body (Target: Everyone but IE)html > body (Target: Everyone but IE)

Ideally no workarounds are needed Ideally no workarounds are needed –– but reality intrudesbut reality intrudes

If you use CSS hacks If you use CSS hacks –– only target alreadyonly target already--obsoletedobsoleted UAsUAs

Know in what browser version your hack will stop workingKnow in what browser version your hack will stop working

IE Alternative: Conditional Comments to target browser versionsIE Alternative: Conditional Comments to target browser versions<!--[if lte IE 6]>

<link rel="stylesheet" type="text/css" href="iestyles.css" /> <![endif]-->

25

We Are Here To HelpWe Are Here To HelpTools to identify and fix breaksTools to identify and fix breaks

IE7 Readiness ToolkitIE7 Readiness Toolkit

Web developer toolbar Web developer toolbar –– IE6+IE6+

Rich tool set for exploring DHTML and CSSRich tool set for exploring DHTML and CSS

ExpressionFinderExpressionFinder -- identifies CSS hacksidentifies CSS hacks

Application Compatibility ToolkitApplication Compatibility ToolkitIdentifies features blocking app functionalityIdentifies features blocking app functionality

Fiddler HTTP monitorFiddler HTTP monitor

And other toolsAnd other toolshttp://blogs.msdn.com/ie/archive/2006/04/24/582546.aspxhttp://blogs.msdn.com/ie/archive/2006/04/24/582546.aspx

26

The Future of Internet ExplorerThe Future of Internet Explorer

Yes, IE has a future.Yes, IE has a future.

Continuing to put the user in control of their Continuing to put the user in control of their security and privacysecurity and privacy

Building on, improving and adding to the Building on, improving and adding to the powerful standardspowerful standards--based platformbased platform

Providing the best web user experienceProviding the best web user experience

27

WhatWhat’’s next for the Web?s next for the Web?The MashThe Mash--Up pattern will continue to growUp pattern will continue to grow

RSS will help stimulate that growthRSS will help stimulate that growth

So will semantic tagging of dataSo will semantic tagging of data

MicroformatsMicroformats is helping to stimulate thatis helping to stimulate that

LiveClipboardLiveClipboard stuff is a good examplestuff is a good example

More capabilities will become standardizedMore capabilities will become standardized

XMLHTTPRequestXMLHTTPRequest, for example (!), for example (!)

Need application semantics, not just pagesNeed application semantics, not just pages

The interoperable platform will growThe interoperable platform will grow

Privacy will become a greater concernPrivacy will become a greater concern

28

IE Beyond IE7 IE Beyond IE7 –– the FAQthe FAQWhen is IE7 shipping? When is IE7 shipping?

Fourth Quarter 2006.Fourth Quarter 2006.

Side by Side versions of IE?Side by Side versions of IE?

Technically hard Technically hard -- IE provides the OS web IE provides the OS web platform. Weplatform. We’’ve heard the request for site ve heard the request for site testing, and wetesting, and we’’re actively working on it.re actively working on it.

Acid2?Acid2?

In the future, yes; but not all features and bugs In the future, yes; but not all features and bugs sorted to top of the list in IE7. Not just CSS.sorted to top of the list in IE7. Not just CSS.

Why not XHTML?Why not XHTML?

Not until we can do it right Not until we can do it right -- wellformedwellformed--nessness--testing parser, integrating multiple schema, etc. testing parser, integrating multiple schema, etc. We will support this in the future.We will support this in the future.

29

Key Takeaways Key Takeaways -- Call To ActionCall To ActionWhat should you do?What should you do?

Please prepare your pages to be ready for IE7Please prepare your pages to be ready for IE7

Standards improvements mean that behavior will changeStandards improvements mean that behavior will change

End users donEnd users don’’t like broken pages, so we need your help!t like broken pages, so we need your help!

Make sure your IE components (ActiveX, Make sure your IE components (ActiveX, BHOsBHOs, , toolbars) are prepared for opttoolbars) are prepared for opt--in & Protected Modein & Protected Mode

Take the LeapTake the Leap

RSSifyRSSify Now Now -- RSS enable your site, use Sort & Filter tagsRSS enable your site, use Sort & Filter tags

Use Use OpenSearchOpenSearch for search exposurefor search exposure

Give us feedbackGive us feedback

ResourcesResources

IE Dev Center: IE Dev Center: http://http://msdn.microsoft.com/iemsdn.microsoft.com/ie//

IE Team IE Team BlogBlog: : http://http://blogs.msdn.comblogs.msdn.com/IE//IE/

RSS Team RSS Team blogbloghttp://http://blogs.msdn.com/rssteamblogs.msdn.com/rssteam//

Oh yeah, and my Oh yeah, and my blogblog and email: and email: http://http://blogs.msdn.comblogs.msdn.com/cwilso//cwilso/

[email protected]@microsoft.com