Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Apps That Talk Back (Codementor)
Search
Rebecca Murphey
March 25, 2015
Technology
6.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Apps That Talk Back (Codementor)
Rebecca Murphey
March 25, 2015
More Decks by Rebecca Murphey
See All by Rebecca Murphey
You Can't Always Get What You Want: A Year of Leading Change
rmurphey
0
310
Making It Better Without Making It Over (Front Porch)
rmurphey
1
260
CascadiaJS: Making it Better Without Making it Over
rmurphey
2
250
Making it Better without Making it Over
rmurphey
1
280
Making It Better Without Making It Over
rmurphey
0
400
HTTP/2 is here, now let's make it easy
rmurphey
7
8.9k
Deploying client-side apps, 1000 (or so) at a time
rmurphey
1
450
Ain't No Party Like a Third-Party JS Party
rmurphey
1
370
Apps That Talk Back
rmurphey
2
330
Other Decks in Technology
See All in Technology
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
890
Incremental HTTP
kazuho
5
2.1k
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
110
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
510
今さら理解するウェブフォントver.2026
takanorip
3
520
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
7
2.5k
今こそ知りたいAmplifyGen2
mkdev10
2
160
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
140
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
220
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
240
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
170
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
510
Designing for Performance
lara
612
70k
Thoughts on Productivity
jonyablonski
76
5.4k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
So, you think you're a good person
axbom
PRO
2
2.2k
Code Reviewing Like a Champion
maltzj
529
40k
The Cult of Friendly URLs
andyhume
79
7k
The Curious Case for Waylosing
cassininazir
1
560
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Transcript
Apps That Talk Back Rebecca Murphey @rmurphey rmurphey.com
None
“Digital interactions”—whether through desktops, laptops, tablets or smartphones— will influence
half of all retail store sales this holiday season. Deloitte
★★★ ➞ $$$
None
None
★★★ ➞ $$$
Apps That Talk Back Rebecca Murphey @rmurphey rmurphey.com
service monitoring error tracking performance metrics production debugging safety nets
None
None
None
None
None
BVTracker.error('No productId is defined');
BVTracker.error({ name : errorMessages.IMPLEMENTATION, detail1 :
'No productId is defined', detail2 : component.name });
define({ errors : {
IMPLEMENTATION : 'Implementation Error', API : 'API Error', UNCAUGHT : 'Uncaught Exception', CONFIG : 'Configuration Error', THIRD_PARTY : 'Third Party Service Error', TIMEOUT : 'Request Timeout', UI : 'User Interface Error', FRAMEWORK : 'Framework Error' } });
None
None
None
None
None
None
None
None
None
None
var spawn = require('child_process').spawn; var command = 'grunt';
var commandOpts = ['check:push']; function onExit (code) { if (code !== 0) { throw new Error('Prepush check failed with exit code: ' + code); } process.exit(code); } // Run it !! var child = spawn( command, commandOpts, { stdio : 'inherit' } ); child.on('exit', onExit);
BVReporter.assert( this.componentId, 'View ' +
this.name + ' must have componentId' );
None
None
None
✅ assertions ✅ git hooks (jshint, jscs, unit tests) ✅
error classification & reporting ✅ production monitoring ✅ production debugging ✅ build size monitoring ✅ performance instrumentation ⬆️ error alerting ⬆️ performance monitoring ❌ performance budget
@rmurphey ~ rmurphey.com bazaarvoice.com