Hear from Microsoft's Internet Explorer 7 team about the journey from mea culpa to broad market acceptance. Hear what went right, what had to be cut, and how development priorities are set. Also, understand what Microsoft's browser investments mean to you, and make sure you get a voice in shaping the next version of Internet Explorer. Hear about what features and layout issues are being worked on, and let us know what causes you the most problems
3. Browser guy since 1993
(NCSA Mosaic, SPRY Mosaic)
Joined Microsoft in 1995
IE 2.0, 3.0, 4.0, 5.0, 5.5, 6.0
3-year stint in Avalon (WPF) team
Rejoined IE to drive platform for IE7
Web standards guy - HTML, CSS, DOM, I18n, XSL
Now “Platform Architect” of Internet Explorer
4. IE4/5/6 – progressively powerful platform
BUT…
Little actual adoption of rich web platform
Hard to build rich, sexy apps/content
Dot-com bubble burst
Focus on Rich Client APIs (WPF)
6. With all this going on,
Microsoft seemed AWOL from the web platform…
7. Simple dev pattern – fetch & update
Realization/innovation on top of Web 1.0
“Caring about the quality of web UI”
Rebirth of the semantic Web
Web content describes its own meaning
RSS, Microformats & tagging are examples
This allows richer quot;mash-upsquot; of various data sources
In short, a rebirth of client-side web applications
8. February 2005: Microsoft announces IE7
July 2005 – Beta 1
MIX '06 (March) – “layout complete”
April „06 – Beta 2 released
June '06 – Beta 3 released
Oct 18 2006 - Microsoft ships IE7!
10. Putting the User in Control
Add-on Manager (from XPSP2)
We warn user of insecure settings
Parental Controls (from Windows Vista)
11. Protection against web fraud
Integrated Anti-phishing service
User experience highlights security
Extended Validation certificates
12.
13. When a security exploit is found in the browser,
malicious web pages install malware or modify files
Protected Mode eliminates silent install of spyware
Does NOT prevent running Win32 code
Protects registry, file system from writes
Redirects writes for compatibility
Only available on Windows Vista
14. Admin-Rights Access
Install an ActiveX
control
HKLM
Program Files
Exploit can install
MALWARE
IExplore.exe User-Rights Access
Change Settings,
HKCU
Download a Picture
My Documents
Exploit can install
Startup Folder
MALWARE
Temp Internet Files
Cache Web content Untrusted files & settings
15. IEInstall.exe
Integrity Control and UIPI
Admin-rights Access
Install an ActiveX HKLM
control
Program Files
User-rights Access
IEUser.exe
IExplore.exe in
HKCU, My Documents
Protected Mode
Change Settings,
Startup Folder
Drag & Drop
Temp Internet Files
Redirected Settings and Files
Untrusted files & settings
Cache Web Content
16. Protect the user by default
Inform the user and put them in control
Provide a backstop
17. Streamlined and Improved User Interface
Tabbed Browsing with Quick Tabs
Extensible search in UI via OpenSearch
Great default print experience
Page Zoom
Spoof-resistant International Domain Names
RSS…
18. Feed Discovery and default feed view
The platform for all Windows quot;feed appsquot;
Feedlist, storage, parser, sync engine
API from Win32 and .NET Framework
List extensions to RSS
21. The overflow bug
Parser bugs: * html, _property or /**/ comment bug
Memory leaks in JavaScript engine
Select control: style-able and not always on top
Auto-sizing of absolute pos element with right & left
great for 3 column layouts
Relative positioning issues
% height/width for absolutely positioned elements
hover effect working not just over text
<?xml> prolog no longer causes quirks mode
HTML element truly independent of the Body
1 px dotted borders no longer render as dashed
…over 200 CSS bugs fixed in IE7…
22. Fixed inconsistencies with W3C specs
:hover on all elements not just on <a>
Other elements can overlap <select>
Background-attachment: fixed everywhere
Improved <object> fallback
23. Added standards features (CSS/HTML)
Fixed positioning support
Min/Max-Width/Height support
Selectors: first-child, adjacent, attribute, child
CSS 3 attribute selectors: prefix, suffix, substring
24. Other heavily-requested features
Alpha channel in PNG images
“Native” XMLHTTPRequest
Improved the Programming Experience
Improved JavaScript GC performance
Fixed memory leaks, caching of gzipped files
25. Lots more to do in CSS
e.g. Bugs with floating elements and hasLayout
Features like :before and :after
Lots to do in Scripting and Document Object Model
Events, APIs not matching DOM spec
Faster faster faster!
XHTML or other new formats
We want to get them right
26. We listened to users
We want Tabs, printing, simplified UI,
search in the UI
27. We listened to hackers
Well, okay not “listened to”
them, exactly. But we were paying
attention.
28. We listened to developers
Make our lives easier! Fix your bugs!
Give us some new features!
Other than security,
we have one rule…
29.
30. “I‟m really concerned that we‟re
breaking stuff in the name of goodness
and that all users and developers will
walk away with is „stuff broke.‟”
31. Well, not really. But it is challenging.
Our challenge isn't quot;IE can't support standards.quot;
The core of Trident is great code…
…although bits need updating to standards compliance
But we can’t break the web as it is today!
32. IE + your site = end user experience of the web
If a site is broken, the user doesn't know who to blame
Compatibility is a critical adoption/deployment factor
IE has on the order of half a BILLION users
We believe enabling web developers to use standards
is critically important …
… but we also believe in not breaking my mom‟s banking
site in the process of enforcing standards
33. We must balance compliance with site compatibility
Therefore, in IE7 “quirks mode” stays the same - most
standards changes are only in “strict mode”
But being in standards mode is increasingly popular,
and a lot of developers expect no behavior changes
Half of the top 200 US web pages are in “standards mode”
quot;Quirksquot; is no longer sufficient to protect compatibility
34. We can't tell if authors intended standards, or if
they expect behavior not to change
People argue both sides of this religiously
We will need authors to opt in to standards
New versions of HTML can automatically opt in, of course
<!-- compatible with IE 8.0 --> ?
35. This gives us the freedom to do some great things
Break compatibility with layout/CSS
Change DOM APIs (pass the event object to the handler!)
…without breaking current pages
As new versions of HTML are standardized (e.g.
new DOCTYPEs), we can opt in automatically.
37. IE7 Readiness Toolkit
Web developer toolbar for exploring DHTML/CSS
ExpressionFinder – shows CSS hacks
Application Compatibility Toolkit
Fiddler HTTP monitor
And other tools
Info on the IE blog – http://blogs.msdn.com/ie
38. For testing, it's often useful to run multiple versions of IE
to test content/apps against different releases
It‟s not technically possible to have EXACT multiple IE
versions side-by-side on a single Windows install
IE really is a Windows component
(actually, a set of Windows components)
There are hacks. They‟re fragile, and aren‟t complete.
39. Virtualization to the rescue! Virtual PC is free!
Last year, we released a Windows XP/IE6 image
We expect to release these images on a regular basis
Updated the image a month ago, released IE7 image
Over 100,000 downloads of original 500MB image (!)
40. Update your pages for IE7 (if you haven‟t)
Participate in the IE Blog
http://blogs.msdn.com/ie
Send feature requests and bug reports to us
41. Lots still to do in web developer platform –
across layout, object model and Ajax
Invest heavily in layout and CSS 2.1
Increase compliance with the Object Model,
allow more flexible programming patterns
Ajax needs more client-side APIs
e.g. local storage and mashup security model
42. Continue providing world-class user experience
Look at new user paradigms – e.g. RSS in IE7
And as always, security is job #1