Jiri Kupiainen
Vice President, Rocket Pack
Disney Interactive Media Group
#gdconline
"Making browser games
for today's browsers"

[...]5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
Gears of War
meets
Pong!

| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Android 2.2 | 0,97% |
| Safari 5.0.3 | 0,93% |
| Firefox 3.0 | 0,89% |
| Mobile Safari 0.0 | 0,85% |
| Mozilla 5.0 | 0,78% |
| Opera 11.10 | 0,54% |
| Safari 5.0.4 | 0,51% |
| Mobile Safari | 0,42% |
| Total | 91.62% |
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Total | 85.74% |
(Hey, where did Android go?)
(Total Android share: 1.54%)
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Full support | 0.00% |
Not enabled for all users even where supported.
* We just need sprites, man
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Full support | 60.62% |
Performance varies.
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Full support | 60.62% |
Performance often not good enough for games.

(Source: Ghost Sites of the Web)
Repaint is when the browser has to repaint something (doh!)
Triggered by visual changes that don't affect layout.
Takes time, but not as deadly as reflow...
Reflow is when the browser has to recalculate geometry.
Triggered by changes that affect layout.
There are tools for profiling browser drawing & geometry. Use them!
Fact: IE8 will mangle your 24 bit PNGs if the opacity is set to anything less than 1.
Google is your friend here...
Handy for improving iOS performance, making presentations
Remember: you'll still need fallbacks
(except for things like this presentation)
img.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAAD' + '/ACwAAAAAAQABAAACADs=';
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Full support | 60.62% |
Not seen here: codec wars, buggy implementations.
| Browser | AAC | MP3 | OGG | WAV |
|---|---|---|---|---|
| MSIE 8.0 | No | No | No | No |
| Firefox 4.0 | No | No | Yes | Yes |
| Chrome 12.0 | Yes | Yes | Yes | Yes |
| Firefox 3.6 | No | No | Yes | Yes |
| Chrome 11.0 | Yes | Yes | Yes | Yes |
| MSIE 9.0 | Yes | Yes | No | No |
| Safari 5.0.5 | Yes | Yes | No | Yes |
| Mobile Safari 5.0.2 | Yes | Yes | No | Yes |
| Firefox 5.0 | No | No | Yes | Yes |
| Opera 11.11 | No | No | Yes | Yes |
| Firefox 3.5 | No | No | Yes | Yes |
| MSIE 7.0 | No | No | No | No |
| 5/12 | 5/12 | 7/12 | 9/12 |
Guess who invented
the WAV file format?
Microsoft.
Yup. Use Flash for audio.
However, there is a way around this. More on that later.
It mostly just works!
Use touch events instead.
(the kind that doesn't involve beer)
| Browser | % |
|---|---|
| MSIE 8.0 | 23,93% |
| Firefox 4.0 | 14,28% |
| Chrome 12.0 | 11,52% |
| Firefox 3.6 | 9,60% |
| Chrome 11.0 | 5,90% |
| MSIE 9.0 | 5,21% |
| Safari 5.0.5 | 3,71% |
| Mobile Safari 5.0.2 | 3,33% |
| Firefox 5.0 | 3,01% |
| Opera 11.11 | 2,71% |
| Firefox 3.5 | 1,35% |
| MSIE 7.0 | 1,19% |
| Full support | 24.46% |
Meh.
(there's, like, two slides left...)
The GDC Online Event Team (and I) want to know what you think.
(consider skipping this part if you think it sucked)
http://jirikupiainen.com/gdco11
HTML5 Logo by W3C
Browser support: When can I use...
Being awesome: Rocket Pack team