Top Banner
Use 10,000 Browsers - or - How to Crowdsource, Archive and Share User Agent Data in the Open with Browserscope OSCON 2011
35
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Browserscope oscon 2011

Use 10,000 Browsers - or -

How to Crowdsource, Archive and Share User Agent Data in the Open with Browserscope

OSCON 2011

Page 2: Browserscope oscon 2011

about:me

Lindsey SimonGoogle Front-End [email protected] / @elsighmon

● AdWords● App Engine● i18n● Closure library● Search● Google Translate● Google+

Page 3: Browserscope oscon 2011
Page 4: Browserscope oscon 2011

Your Development Test Environment

Page 5: Browserscope oscon 2011

Your Mobile Test Environment

Page 6: Browserscope oscon 2011

http://en.wikipedia.org/wiki/Usage_share_of_web_browsers

Page 7: Browserscope oscon 2011

understandingcapabilities and performance

Page 8: Browserscope oscon 2011

Multi-Prong Attack Strategy

Page 9: Browserscope oscon 2011

Browserscope

Open-source, community-driven project for profiling browsers.

Explicit Goals:● foster innovation by tracking functionality● push browser innovation, uncover regressions● historical resource for web developers

Born September 13th, 2009

Page 10: Browserscope oscon 2011

crowdsourcing the results

Page 11: Browserscope oscon 2011

crowdsourcing

● no dedicated test resources

Page 12: Browserscope oscon 2011

● no dedicated test resources● project runs in perpetuity

crowdsourcing

Page 13: Browserscope oscon 2011

crowdsourcing

● no dedicated test resources● project runs in perpetuity● real world test conditions

Page 14: Browserscope oscon 2011

crowdsourcing

● no dedicated test resources● project runs in perpetuity● real world test conditions ● aggregating results reduces bias

Page 15: Browserscope oscon 2011

crowdsourcing

● no dedicated test resources● project runs in perpetuity● real world test conditions ● aggregating results reduces bias ● new browsers show up immediately

Page 16: Browserscope oscon 2011

key characteristics

● more matrix than benchmark

Page 17: Browserscope oscon 2011

key characteristics

● more matrix than benchmark● reproducible tests and results (no video or control setup)

Page 18: Browserscope oscon 2011

key characteristics

● more matrix than benchmark● reproducible tests and results (no video or control setup)● gather & display historical data, trends

Page 19: Browserscope oscon 2011

anatomy of a browserscope test

1. create a web page that populates a JS object.2. login and "Add a test" on browserscope.3. add browserscope JS snippet(s) to your test page.4. get lots of users to hit your page

Page 20: Browserscope oscon 2011

DEMO!

http://goo.gl/LGRqA

Page 21: Browserscope oscon 2011

Hosted Tests

Page 22: Browserscope oscon 2011

hosted test categoriesNetwork Performance

● Steve Souders' original UA Profiler tests● connections, caching, parallel downloads, etc...

Rich Text Edit Mode● Annie Sullivan, Roland Steiner, Ehsan Akhgari● i.e. cut and paste in browsers, w/ bold, italic, formatting

Acid3● Ian Hickson's tests, added by Jacob Moon● javascript, css, rendering

Selectors API Test Suite● John Resig's tests, added by Lindsey Simon● querySelectorAll DOM retrieval syntax

Page 23: Browserscope oscon 2011

hosted test categoriesSecurity

● Collin Jackson(CMU) & Adam Barth(Berkeley) & team● JSON, x-origin, XSS, sandbox, etc..

JSKB● Mike Samuel (Google Caja)● JavaScript compliance -> compilation● similar to Joe Hewitt's new hascan

Page 24: Browserscope oscon 2011

Network Results Timeline

browserscope.org/timeline?category=summary

Page 25: Browserscope oscon 2011

Acid3 Results Timeline

browserscope.org/timeline?category=acid3

Page 26: Browserscope oscon 2011

Summary Results Timeline

browserscope.org/timeline?category=summary

Page 27: Browserscope oscon 2011

User Tests

Page 28: Browserscope oscon 2011

Modernizr 2.0.4 Results Timeline

Page 29: Browserscope oscon 2011

HTML5 Ready - current desktop

modernizr2 results - browserscope.org/evolution?v=top-d

Page 30: Browserscope oscon 2011

HTML5 Ready - edge desktop

modernizr2 results - browserscope.org/evolution?v=top-d-e

Page 31: Browserscope oscon 2011

HTML5 Ready - mobile

modernizr2 results - browserscope.org/evolution?v=top-m

Page 32: Browserscope oscon 2011

under the hood

● App Engine● runtime median engine driven by task queues● memcache, lots of it● closure-library/compiler● gdata python lib + gviz table component● cross domain iframe posting● jQuery

Page 33: Browserscope oscon 2011

data points

● 2M tests run● 100M discrete data points● 1308 browsers (600K discrete user agent strings)● 54K User tests● 21GB of data● ~ 10QPS● High traffic integrations:

○ jsperf.com/popular○ www.modernizr.com

User Test demo: browserscope-test.appspot.com/Google UI demo: groupmenuselect.appspot.com/results

Page 34: Browserscope oscon 2011

roadmap

● code linting based on DOM property support● mobile / OS distinction● more data viz

links:browserscope.orgcode.google.com/p/browserscopegroups.google.com/group/browserscope

Page 35: Browserscope oscon 2011

Thank You Free Software!