Progressive Web Apps
Browser chrome Home screen “App”
Slide 33
Slide 33 text
Web Assembly
(not official logo)
Slide 34
Slide 34 text
Web Assembly
C++ code Clang
Emscripten
(LLVM)
WASM WebGL
JS Engine
Slide 35
Slide 35 text
The front-end role is being
redefined, as native and web
melts together
Slide 36
Slide 36 text
No content
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
So, how do DevTools fit into
all of this?
Slide 39
Slide 39 text
Today’s DevTools are very similar
Slide 40
Slide 40 text
Our industry have a DevTools dogma
Slide 41
Slide 41 text
2007: IE Developer Toolbar
Slide 42
Slide 42 text
2016: Edge DevTools
Slide 43
Slide 43 text
2016: Chrome DevTools
Slide 44
Slide 44 text
Is this really the best we can do?
Slide 45
Slide 45 text
Enough performance tools
Slide 46
Slide 46 text
Modern DevTools are collections of tools
Slide 47
Slide 47 text
A fraction of our screens
Slide 48
Slide 48 text
Debugging context
Slide 49
Slide 49 text
Authoring context
Slide 50
Slide 50 text
Authoring tools !== Debugging tools
Our workflow is broken
Slide 51
Slide 51 text
Still a typical debugging workflow
Open editor
Navigate to
page
Open browser
Find file in
editor
Make change
Refresh
browser
Open DevTool
Look in
console
Go to scripts-
tab
Find same file
again
Go to the
edited line
Set breakpoint
Debug
Switch back to
editor
Make change
Tab back to
browser
Repeat
Slide 52
Slide 52 text
Web Developer Stockholm Syndrome
52
Slide 53
Slide 53 text
1. Why do I need to learn a new DevTool for each browser?
2. Why do I have to use different tools for authoring and debugging?
3. Why isn't my editor more integrated with my browser(s)?
4. Why can't I decide which DevTools to use?
5. Why can't I leverage the browser logic in my new fancy tool?
6. Why can’t I just connect my editor to my mobile device?
7. Why are DevTools still bundled with our browsers?
A few thoughts
Slide 54
Slide 54 text
Disconnect
Slide 55
Slide 55 text
Complimentary tools
Slide 56
Slide 56 text
Connecting the two worlds
Slide 57
Slide 57 text
What if it was like this?
Open editor
Find file in
editor
Make change Open browser
Look in
console
Set breakpoint
Debug Make change
Tab back to
browser
Repeat
We support an open ecosystem
where browsers and tooling from
different vendors work together
Slide 64
Slide 64 text
Why is the web one of the few
platforms that still bundles a full
development environment with
the runtime?
Slide 65
Slide 65 text
Normal web users are confused
Slide 66
Slide 66 text
Normal web users are hacking themselves
Slide 67
Slide 67 text
Why are DevTools bundled with our browsers?
Desktop browser
New devices
Chrome-less contexts Devtool
Slide 68
Slide 68 text
DevTools for the Progressive Web
Editors
DevTools
Device clouds
Game studios
Slide 69
Slide 69 text
No content
Slide 70
Slide 70 text
VS Code + iOS + Web + Cloud
Slide 71
Slide 71 text
No content
Slide 72
Slide 72 text
1. Why do I need to learn a new DevTool for each browser?
2. Why do I have to use different tools for authoring and debugging?
3. Why isn't my editor more integrated with my browser(s)?
4. Why can't I decide which DevTools to use?
5. Why can't I leverage the browser logic in my new fancy tool?
6. Why can’t I just connect my editor to my mobile device?
7. Why are DevTools still bundled with our browsers?
A few thoughts again