DevTools
	An Animated Journey 2016
Dev Tips
	weekly gif showcasing a developer-friendly tip 
	101 tips posted so far!
	
		umaar.com/dev-tips
	
How DevTools can help with:
	- Animation
 
		- JS Debugging
 
		- Accessibility
 
		- Smaller bits and pieces
 
		- A bit of Node.js debugging
 
	
Style modifications
	
		outline: 1px solid red;
	
(Side note)
	Independent CSS Transform Properties
	Toggle element classes
	One click to remove the "col-1-2" class
Layout Editor (WIP)
	Next level layout editing
Layout Editor
	- Hover to see the current margin/padding value
 
		- Drag to modify
 
		- Guidelines help with alignment
 
	
Layout Editor Ideas
	- What if you set up workspaces and your layout changes persisted to disk?
 
		- What if layout editing worked on touch devices?
 
		- What if 'in-page' editing allowed you to control all the CSS for an element?
 
	
Animation Debugging - 2 parts
	- Animation Recorder
 
		- Animation Inspector
 
	
Recorder (pt 1)
	A timeline view of recorded animations
	Hover to preview, discard any animations you don't care about
Recorder (pt 2)
	With the animations pane open, all animations/transitions are captured.
Inspector
	- A breakdown of the animations and animatable properties
 
		- Click and drag to change animation-delay and animation-duration
 
		- But wait, there's more!
 
	
Access an inspected animation through JavaScript
Visual Animation Debugging shines with complex animations
A short debugging story
	DOM to Event Listeners
		Live Edit
		Blackboxing
	1. DOM to Event Listeners
	Debugging from the outside in
2. Live edit
	No page reload necessary
3. Blackboxing
	Goodbye bundle-c718fec0.min.js
DOM to Event Listeners
		Live Edit
		Blackboxing
	Live Edit
	- Raw text changes are injected back into V8
 
		- Comparisons are made between new.js and old.js
 
		- V8 compiles the changed JS, and patches old.js with the changes
 
	
JavaScript Source Maps
	You even debug ES7
Captures all promises in various states
Pending
	
new Promise(() => {})
	
Fulfilled
	
new Promise(resolve => resolve())
	
Rejected
	
new Promise((resolve, reject) => reject())
	
Contrast line ratio
	Contrast is important
The threshold between low contrast and an acceptable contrast. 
Command Menu
	Access to everything in a few keystrokes
	What about Node.js?
	glad you asked
- Animation tooling
 
		- Accessibility (with extension + native experiments)
 
		- Use Source Maps with JS + Sass - set up "Workspaces" for save-to-file abilities
 
		- Filmstrip + Request Blocking - how does the user experience a page
 
		- Node.js debugging
 
	
  
		
1
	DevTools
	An Animated Journey 2016