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
Mobile Debugging
Search
Remy Sharp
September 21, 2012
Technology
74
9.7k
Mobile Debugging
Mobile debugging is a bitch. Let's talk about that, and then fix it.
Remy Sharp
September 21, 2012
Tweet
Share
More Decks by Remy Sharp
See All by Remy Sharp
Using a Modern Web to Recreate 1980s Horribly Slow & Loud Loading Screens
rem
0
97
Recreating the ZX Spectrum loader with Web APIs
rem
0
200
Living Standard
rem
1
270
State of the Gap
rem
1
840
The Art of Debugging
rem
2
2.1k
EdgeConf - Progressive Enhancement
rem
0
260
Toxic Side of Free. Or: how I lost the love for my side project.
rem
0
730
Muddling my way through real time
rem
0
710
The Bits Behind JS Bin
rem
4
880
Other Decks in Technology
See All in Technology
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
240
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
230
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
100
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making the Leap to Tech Lead
cromwellryan
133
9k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Typedesign – Prime Four
hannesfritz
40
2.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
It's Worth the Effort
3n
183
28k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Faster Mobile Websites
deanohume
305
30k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Transcript
Mobile Debugging Remy Sharp / @rem
Debugging is a... http://www.flickr.com/photos/grill/2655848033
...and I ❤ debugging http://www.flickr.com/photos/grill/2655848033
Back in early 2000
Our first mobile webapp circa 1999 Amazingly actually still live!!!
XML parsing :( (but strict is strict)
None
http://www.flickr.com/photos/60119893@N00/2883012011/
Art of debugging methodically Replicate so that you can Isolate
and ultimately Eliminate
Principles 1. Know thy enemy 2. Close the gap 3.
Expect the unexpected
1. Know thy enemy
ݾ൴ɼඦፌෆຆɻ “If you know both yourself and your enemy, you
can win a hundred battles without jeopardy.” http://www.flickr.com/photos/katieharbath/4856255673
Simulators mobilexweb.com/emulators
Get real devices http://www.flickr.com/photos/sidesh0w/6675107387 http://bradfrostweb.com/blog/mobile/test-on-real-mobile-devices-without-breaking-the-bank/
Get FREE devices http://www.flickr.com/photos/sidesh0w/6675107387 http://bradfrostweb.com/blog/mobile/test-on-real-mobile-devices-without-breaking-the-bank/
Share devices http://www.flickr.com/photos/sidesh0w/6675107387
http://jsconsole.com?this
Understand performance
WTF? Wikipedia has more JavaScript than Gmail? http://remysharp.com/mobile-battery-performance/
"200k of JavaScript held within a block comment adds 240ms
during page load, whereas 200k of JavaScript that is parsed during page load added 2600 ms."
Network monitoring
Charles - $50 Fiddler - windows - free
http://code.google.com/p/pcaphar
Make test cases
2. Close the gap http://www.flickr.com/photos/bowbrick/2093650123
Save Refresh
Host locally •Network Utility (mac) ifconfig en0 inet / ifconfig
eth0 ipconfig (look for ip4v) •Point mobile to that IP •localtunnel (to get out of VMs)
None
jsconsole :listen
weinre “Pronounced like the word ‘winery’. Or maybe like the
word ‘weiner’. Who knows, really.” http://www.flickr.com/photos/booleansplit/6924192819/
Adobe Shadow
iWebInspector / Hooking Web Inspector iWebInspector
jsbin.com
None
Aardwolf http://www.flickr.com/photos/brostad/6294164371
Real debuggers http://www.flickr.com/photos/sidesh0w/6675107387
Chrome for Android
:1337 http://www.flickr.com/photos/blackberryimages/6932160681
:7001
:6000
iOS6
Build your own tools http://www.flickr.com/photos/jannem/3312946500 Test for events Performance metrics
Emulate APIs & event types etc...
remote-tilt.com
jsbin 3 jsbin.com
3. Expect the unexpected http://www.flickr.com/photos/jdhancock/3669455809
Once upon a time... Demoing mobile app Same code Same
mobile device Same OS version But different result
Wifi != ISP network
msie=/*@cc_on!@*/0;
Tether and check via desktop O2 you can change username
to "bypass" to confirm bugs, not to solve them. Also will need to check with providers to be sure.
iPod Touch would crash upon render
Last resort debugging 50/50
Emulating slow connections http://www.flickr.com/photos/63885769@N00/4696519429
Network Link Conditioner (xcode + mac) Slowy.app (mac + $)
ipfw (mac / *nix) sloppy http://www.dallaway.com/sloppy/ (java app) wipfw (windows)
Beware of red herrings console.log
“When you have eliminated the impossible, whatever remains, however improbable,
must be the truth”
If all else fails, take a break.
We need to demand more
My dream: Single Debugging Tool 1. Can we build this
ourselves? 2. Can we hook in and normalise all the remote protocols? 3. Can we do step debugging?
I think so, but it'll be a challenge.....
Otherwise: rock on. @rem leftlogic.com Hire us @