moving the web forward (chris wilson wds 2007 keynote)
TRANSCRIPT
CHRIS WILSON
IE PLATFORM ARCHITECT
MICROSOFT
Tags: chriswilson, internetexplorer, movingthewebforward
MOVING THE WEB FORWARD
Who Is This Character?An unknown member of Flock of Seagulls?
Browser guy since 1993(NCSA Mosaic for Windows)
Joined Microsoft in 1995 IE 2.0, 3.0, 4.0, 5.0, 5.5, 6.0, 7.0
Web standards guy - HTML, CSS, DOM, I18n, XSL
Now IE “Platform Architect”
…and HTML WG co-chair
Winner: 2007 Ajax Experience SF “Best Hair” award
What I’m here to talk about
The challenges we face in moving the web forward
What I’m not here to talk about
IE.Next features, release date, or name
the vision of the web (ca 1993)
Make it SimpleSimple to create, simple to serve
Share: everyone can be a content producer…but not everyone WAS.
Driven by the need to interconnectHyperlink referencing, not folder structure
“Web 2.0” is…
“Caring about the quality of web UI” Better user experience
Rich social experiences to make the web immersive Connecting people to people, not just information
Portable across platforms and devices And languages, cultures, etc.
3 types of people
Web developers
Browser vendors
Everybody else.
The World as a Web Developer
Is painful.
Browser Deployment
Data from www.netapplications.com
The World as a Browser Vendor
Pure bliss.
hacking is lucrative
Security isn’t just buffer overruns
Exploits target complex interactions (between features and applications)
“Trustworthy Browsing” means protecting against web fraud too
Don’t Break the Web
13
IE has over half a BILLION users
Compatibility prevents browser upgrade
“The bar” is different for each browserBecause current sites expect IE 7 to work like
IE 6, and Firefox 2.0 to work like Firefox 1.5
Don’t Break the Web
14
IE6 -> IE7 cycle allowed solidification
May not know you rely on bad behavior
We can’t break my mom’s banking siteShe takes away “IE’s broken”
The question is…
15
Who do we listen to?
16
Users: don’t break anything, Tabs, printing, streamlined experience, search
Web developers: Fix your bugs! New features! Make it follow the standards, who cares about compat! But don’t break my page.
Hackers: We Will pØwn You!
Everybody else
Banks DNS Servers, CAs, other infrastructure System admins/IT managers Web development tool makers Governments and their mandated guidelines My mom The rest of humanity
Where is our common ground?
Leave the web better than we found it
Define “Better”
SecureStable InteroperablePerformantPowerful
“Secure”…
…is difficult in a world with complex interactions and trust relationships
Security is everyone’s problem
Increased attack vectors with AjaxCode sharing requires Trust (or sandbox)Proxying or script inclusion requires trust
Have a security model for your codeThink about how people would abuse it.
Privacy
Aggregation of user information without user consent or knowledge is a problem Privacy is not just cookies!
Syndication and mashups are catalysts External code or data puts your customers’ privacy in the
hands of a third party
Apps & Services need privacy models.
Stable
Chris’ Rules of Compatibility
If a page works in Browser x version y, it has to still work in Browser x version y+1
If a page only uses standards, and it works in one browser, the effort to get it to work in another browser should approach zero.
Don’t needlessly multiply the test matrix(don’t trickle out standards support)
Browser Compatibility
Data from www.netapplications.com
"Quirks" mode
“Standards mode” is increasingly popular
50% of US top 200 are in “standards mode”
There’s no clear “contract” – should you hack around browser bugs in standards mode?
“Quirks” no longer protects compatibility
As the web moves to “standards” mode
IE will need authors to opt in to standards
Interoperable
The standards need to reflect reality, and reality needs to reflect the standards. Work to be compliant to the standards. Stamp out ambiguities in the standards. Expand the standards together.
We need to work together That doesn’t just mean sit on the same groups, it means
working to common solutions that satisfy all needs
Moving the Web Forward (examples)
DOM level 1 – good
XHTML 2.0 – bad
WebAPI WG & XMLHTTPRequest – good and bad
Powerful (== new functionality)
Interoperable power is the important bit That’s why we created…
HTML WG deliverables
A language evolved from HTML4 for describing the semantics of documents and applications XML *and* “classic HTML” syntaxes Document Object Model (DOM) APIs for the language
New forms and UI widgets such as progress bars, datagrids, menus, and other controls
APIs for the manipulation of linked media Editing APIs, WYSIWYG editing features
Intellectual Property
Operates under the W3C Patent Policy. Goal: Assure that HTML can be freely implemented This is hard work
Intellectual Property does matter (And it’s different for large vendors)
Open standards need to be free
So free standards can’t afford to ignore IP
HTML5 Design Principles
http://dev.w3.org/html5/html-design-principles/Overview.html
CompatibilityUtility Interoperability
Compatibility
Support Existing Content Degrade Gracefully Do not Reinvent the Wheel Pave the Cowpaths Evolution Not Revolution
Utility
Solve Real Problems Priority of Constituencies Media Independence Universal Access Support World Languages Secure By Design Separation of Concerns
Interoperability
Well-defined Behavior Avoid Needless Complexity Handle Errors
Challenges
“Openness” is somewhat misleadingLots of people talkingWhat does “consensus” mean?
Continuing problems with tone/politenessHard to fairly police 400 people and be inclusive
Relationship with WHATWGPeople still sometimes confuse the two
What about Microsoft?
We are working on IE.Next
We are committed to standards
Web 2.0 changes the assumptions for us
IE.Next
Huge investment in interoperable layout Challenging to not break the web
Programming model interoperability & perf Also challenging to not break the web
New “Web 2.0” needs –mash-ups, etc.
Opting in to standards-compliant behavior
Think global, act local
Web 2.0 is an evolution, not a revolution
Don’t Break the Web – browsers must support “old” content
New standards must be backward- and forward-compatible
Our goal: leave the web better than we found it
Help develop standards - http://www.w3.org/html/wg
Me: [email protected]://blogs.msdn.com/cwilso
IE Blog: http://blogs.msdn.com/ie
Wikipedia Cookie article: http://en.wikipedia.org/wiki/HTTP_cookie
LOLCATS: www.icanhazcheezburger.comTags: chriswilson, internetexplorer, movingthewebforward