token “me” slide
Web developer / Master Exploder at Nitobi Software
Big fan of the open web
Bigger Canucks fan
Mobile: How’s it doing?
Browsing ~3% of all browsing takes
Today, by Device Category Trend place on a mobile device;
November, 2009 to September, 2010
Apparently 6% in Asia.
Month Desktop Mobile Consol
November, 2009 98.65% 0.04%
December, 2009 98.36% 0.05%
January, 2010 98.19% 0.05%
The major browser platform moving forward
Apple started it
Android jumped on
Even RIM pulled their head out of their ass and made
Internet Explorer Mobile; now
with extra non-compliance!
Old BlackBerry Browser, it’s so
bad it doesn’t have a name
so wtf do we do?
(other than drink beer)
codes that help
Peter Higgins’ has.js is rad
SunSpider is sweet
Sputnik is also neat
Peter Higgins, Dojo project lead, put this out there as of
Part of the WebKit project.
against the ECMA-262 spec
Over 5000 tests
has.js: apparently a few css and DOM tests fail!
function bind fails (?), and full <input> support is not
there. No es5 or svg.
Sputnik: All tests ran, 226/5246 failed (4.3%)
has.js: same css, dom and function bind issues as
Android. Better <input> support too. es5 is lacking, but
full SVG support (woot)?
SunSpider: 10252 ms
Sputnik: Crashed mobile safari... 3.7% tests fail
Shitty BlackBerry, slide 1
BlackBerry OS 5.0
Shitty BlackBerry, slide 2
array has no reduce or isarray methods, some regexp tests fail
no audio support, no canvas
there are lots of css bugs/lack of support: overﬂow, border-radius, transforms, text-
super weak date support; no toisostring, now or tojson.
no native JSON tools (just grab json2.js from json.org)
no xhr upload events, any type of ofﬂine storage (OTHER THAN GEARS, YES!!!!)
no svg, video or vml
Shitty BlackBerry, slide 3
SunSpider and Sputnik
SunSpider: Didn’t ﬁnish, each test ran on average
4000ms (compared to Android’s ~100ms).
Sputnik: Can’t even get to the test runner!
BlackBerry 6 (WebKit)
has.js: better than both Android and iPhone. Full event
support (unlike Android/iPhone). Websockets and
worker support, that is fucking awesome. Full storage
options. SVG is super performant on it
SunSpider: 26131 ms
Sputnik: Crashed browser at 1%
Windows Phone 7
has.js: All array tests fail, no audio support,
getelementbyid ignores case, getelementsbytagname
returns comment nodes, so much more fail!
css bugs galore; see IE6.
no event.stopPropagation or preventDefault
SunSpider: 145050 ms...
has.js: pretty solid overall. createAttribute apparently
fails. canvas, audio, video works. sqlite and
localstorage options are there too.
SunSpider: 39193 ms
Know your enemy
Pick your battles
BEER TIME NAO
- one of many contributors/maintainers of PhoneGap, XUI, lawnchair
other interesting tidbits:
- financial firm Morgan Stanley predicts mobile browsing will outstrip desktop by 2015
web as a platform; fuck native
if we could harness the power of browsers we could get out to so many people
-closest thing we have to a unified platform on the web
- initially, WP7 had IE 6/7 hybrid. latest version has 7/8 hybrid. sources say the browser is separate from the rest of the platform and can be upgraded much easier than the OS. Also MSFT has hinted that it will be moving WP7 to IE9.
- checks for proper behaviour in your basic types, functions (binding et al), common browser bugs.
tons of benchmark tests, run a bunch of times for each test to come up with a 95% confidence interval
hard to read tho. you need to know the ecma spec to make any real sense of it. but a good guide for general ecmascript conformance.
so much fail I need many slides to show this off
re: css. it DOES have position: fixed though!
no surprises here
know your enemy: look at your analytics. if youre building a mobile site, who visits your &#x2018;desktop&#x2019; site?
pick your battles: some of these environments really suck. building a web app on one platform might take four or five times more time than building it for another one.