10
Browserscope O'Reilly Velocity OLC Dec 8, 2009

Browserscope O'Reilly Velocity OLC Dec 8, 2009

Embed Size (px)

Citation preview

Page 1: Browserscope O'Reilly Velocity OLC Dec 8, 2009

Browserscope

O'Reilly Velocity OLCDec 8, 2009

Page 2: Browserscope O'Reilly Velocity OLC Dec 8, 2009

www.browserscope.org

Page 3: Browserscope O'Reilly Velocity OLC Dec 8, 2009

Browserscope

Open-source, community-driven project for profiling browsers, launched Sept. 2009

Goals:• foster browser innovation• be a resource for web developers

Based on UA Profiler

Page 4: Browserscope O'Reilly Velocity OLC Dec 8, 2009

results since septemberSecurity: 5085 tests on 169 browsers

Rich Text: 11440 tests on 295 browsers

Selectors API: 10988 tests on 291 browsers

Network: 32235 tests on 627 browsers

Acid3: 12139 tests on 290 browsers

  71,887 tests total!

Page 5: Browserscope O'Reilly Velocity OLC Dec 8, 2009

new UI features

• Compare Browsers!• Filter by Browser Family!• View results on a Line Chart!

Page 6: Browserscope O'Reilly Velocity OLC Dec 8, 2009

upcoming categories

• Cookies (Eric Lovett)• Quirksmode DOM tests (PPK + Annie Sullivan)• Javascript Knowledge Base (Mike Samuel)

Page 7: Browserscope O'Reilly Velocity OLC Dec 8, 2009

Javascript Knowledge Base (JSKB)

Javascript has become really interesting lately because of a few trends:1. High quality libraries are making development easier– Good tools that minify code and find problems, e.g.,

YUI Compressor, Dojo ShrinkSafe, the Closure Compiler, Caja Web Tools (TBR)

– And EcmaScript5 and HTML5 are releasing a whole host of fixes and features

JSKB author Mike Samuel is an engineer on Caja and a member of the Secure EcmaScript working group.

Page 8: Browserscope O'Reilly Velocity OLC Dec 8, 2009

Javascript Knowledge Base (JSKB)Many developers want to use new features, but need to support older browsers.So they backport: if (typeof JSON === 'undefined')

  // Include json2.js hereor they fallback: if (typeof addEventListener !== 'undefined')

  // use addEventListener else   // use attachEvent

But this means shipping lots of unnecessary code to newer browsersthat don't need it -- higher bandwidth cost, slower loads, longer parse times.

Page 9: Browserscope O'Reilly Velocity OLC Dec 8, 2009

Javascript Knowledge Base (JSKB)

JSKB will create a database of facts about browsers, such as:• On Firefox3.5, JSON is defined• On Firefox3.0, JSON is undefined• On IE, attachEvent is defined, while on Firefox

addEventListener is defined

This will allow compilers to find feature detection code thatdevelopers already write, and produce a version of the application optimized for a group of browsers. if (!window.JSON) { /* Optimized out on new browsers */ } As older browsers die, mean script size decreases.

Page 10: Browserscope O'Reilly Velocity OLC Dec 8, 2009

http://www.browserscope.orghttp://code.google.com/p/browserscope/

http://groups.google.com/group/[email protected]