DevTools. DevTools. DevTools

I realized something

Our industry has a DevTools dogma.

2007: IE Developer Toolbar

Description
http://sixrevisions.com/tools/internet_explorer_extensions_addons_web_developers/

2015: Chrome DevTools

Description

Question

Is this really the best we can do?

Thought experiment

  • Why do I need to learn a new DevTools for each browser?
  • Why do I have to use different tools for authoring and debugging?
  • Why isn't my editor integrated with my browsers?
  • Why can't I decide which DevTools to use with my browsers?
  • Why can't I use DevTools to debug my mobile apps?
  • Why can't I leverage the browser logic in my new fancy tool?
  • Why are DevTools bundled with our browsers?

Moden DevTool's are collections of tools

Description

Debugging context

Description

A fraction of our screens

Description

Authoring context

Description

Our workflow is broken

Authoring tools !== Debugging tools

Disconnect

Description

What if...

Authoring tools === Debugging tools

What if...

Description

We have tried, and failed

Description

Security model

Description

There's a better way!

Description

There's a better way!

Remote debugging protocols

No common protocol

Description

RemoteDebug was born

RemoteDebug vision

Description

RemoteDebug vision

An API to our browsers.

Isn't this WebDriver?

It's a low-level API to our browsers.

RemoteDebug

So how far are we?

Protocol adaptors

Protocol adaptors

Description

Safari protocol adaptor

Description

Firefox protocol adaptor

Description

IE protocol adaptor (Edge?)

Description

RemoteDebug Gateway

RemoteDebug Gateway

Description

RemoteDebug Gateway

Description

Integrations

Adobe brackets

Description

Microsoft Visual Studio

Other editors too

Calibre

Re-use across platforms

Strongloop Node Inspector

Square PonyDebugger

Facebook Stetho

Facebook Stetho

Similar initiatives.

Mozilla Firefox Protocol Adaptors

Mozilla Firefox Developer Edition

Perspective.

Taking DevTools outside the browser

Thought experiment revised

  • Why do I need to learn a new DevTools for each browser?
  • Why do I have to use different tools for authoring and debugging?
  • Why isn't my editor integrated with my browsers?
  • Why can't I decide which DevTools to use with my browsers?
  • Why can't I use DevTools to debug my mobile apps?
  • Why can't I leverage the browser logic in my new fancy tool?
  • Why are DevTools bundled with our browsers?

BrowserRemote

BrowserRemote

BrowserRemote

Going forward.

Let's stop reinventing our tools.

Let's reuse our tools.

Let's make it easier to build for the web.

We need a sane development workflow.

The open web follows standards.

Our tools should too.

Thanks.