Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
State of the Mobile Browser
Search
Paul Kinlan
April 25, 2013
Programming
3
220
State of the Mobile Browser
What is the state of the Mobile Browser? Find out in this presentation for State of the Browser.
Paul Kinlan
April 25, 2013
Tweet
Share
More Decks by Paul Kinlan
See All by Paul Kinlan
[this.javascript] State of Chrome
paulkinlan
0
140
Progressive Web Apps in 10 minutes - Google for India
paulkinlan
2
310
Be instant and engaging on the mobile web - Google Mobile for India
paulkinlan
4
330
The future of the web on mobile? - Coldfront conf
paulkinlan
5
56k
This is the Web Platform
paulkinlan
5
65k
The Next Evolution of Chrome Apps - Devoxx 2012
paulkinlan
3
410
Building Web Apps of the future. Tomorrow, today and yesterday.
paulkinlan
32
7.4k
Other Decks in Programming
See All in Programming
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
940
AIを駆使して新しい技術を効率的に理解する方法
nogu66
0
570
OSS開発者の憂鬱
yusukebe
6
2.8k
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
130
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
7
1.4k
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
500
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
3
280
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5.9k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
17
4.1k
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
210
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
120
KoogではじめるAIエージェント開発
hiroaki404
1
420
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Transcript
State of the Mobile Browser google.com/+PaulKinlan goo.gl/3LyMW
Overview
> 1 Billion users have a modern browser.
Every device has to have a "decent" browser.
The browser is still the most used application.
None
Rounded Corners
Naive Look
What is your mobile traffic?
None
None
None
> 50% "We now have more users engaging with Google+
from mobile than desktop." - IO 2012
Mobile The important bits
2 THINGS
Performance Where do you look?
Developers look at the .... Network (time to glass)
I also think UI Jank (time to frustration)
Lumpiness = Less Engagement
None
They have to hack it up like crazy Its no
longer your father's HTML. • Just a <body /> • Busting DOM Trees into iframes to create layers http://goo.gl/P90PK
Where are the bottlenecks? • Javascript? • DOM manipulation? •
Paint?
It's not just the JS + Re-Layouts. + Re-paints +
Decode time X X
None
None
Go home and measure
[email protected]
Inconsistencies
Wot Consistent Platform?
100% Support Mostly boring stuff
Media Queries 100% onmobile.iwanttouse.com/#css-mediaqueries
Geolocation 86% http://onmobile.iwanttouse.com/#geolocation
Offline http://onmobile.iwanttouse.com/#offline-apps 86%
Native developers build online in
Web developers build offline in
Adding offline is a lot harder than online
Camera Access <input type=file accept=image/jpeg capture> Demo http://jsbin.com/avawaj/1 86%
SVG 80% It would be 100% if not for Android
< 3
Flex Box It would be 100% if not for Android
< 3 80%
WebSQL Database 86%
IndexedDB 3% Reaching 3% of the web you might as
well use any API you want....
Thinking about storage in terms of API's is wrong
WebSockets 86% On mobile use wss (secure sockets)
None
Device Orientation onmobile.iwanttouse.com/#deviceorientation 67% window.ondeviceorientation = function(event) { // process
event.alpha, event.beta and event.gamma }; jsbin.com/ofeces/1
FileReader 66%
requestAnimationFrame 44%
Web Audio onmobile.iwanttouse.com/#audio-api 40%
The following might look depressing
But it's really exciting
Shadow DOM onmobile.iwanttouse.com/#shadowdom 3%
getUserMedia onmobile.iwanttouse.com/#stream 2% jsbin.com/iyekuc/3/quiet navigator.getUserMedia( {audio:true, video: true}, function(stream) {
videoEl.src = URL.createObjectURL(stream); });
WebRTC onmobile.iwanttouse.com/#streams 1% apprtc-m.appspot.com
WebGL http://onmobile.iwanttouse.com/#webgl 1% Demo: dungeonfury.playcanvas.com
CSS Filters http://onmobile.iwanttouse.com/#css-filters 43%? <style> img { -webkit-filter: blur(30px); }
</style> http://jsbin.com/orekeb/2/
CSS Custom Shaders 0%
The mobile web is a rich platform
Go and do moar Awesome