Cryptic error messages suck
Error: 10 $digest iterations
reached. Aborting!
at Object.g.$digest
at Object.g.$apply
at Object.d [as invoke]
Errors weigh ~1KB
longer load times
frustrated users
you lose $$$
Custom JSCompiler pass strips errors
Build step generates docs
Docs are published on angularjs.org
Wait a minute
What happens in production?
Logs a link to errors.angularjs.org
Encodes error message parameters
Website builds the right message