IE7 and Beyond (Fundamentos)fundamentosweb.org/2006/Programa/Material/chris.pdf · 12 Protected...
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
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