Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Happy Path, Sad Path
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Pierre de La Morinerie
September 30, 2015
Programming
2
270
Happy Path, Sad Path
A journey through warnings, errors, complexity and 🎄 at Captain Train.
Pierre de La Morinerie
September 30, 2015
Tweet
Share
More Decks by Pierre de La Morinerie
See All by Pierre de La Morinerie
Que choisir pour de l'UI : XIBs / Storyboards / Code
kemenaran
0
880
Fail better — Presenting errors in Cocoa
kemenaran
3
1.3k
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
AgentCoreとHuman in the Loop
har1101
5
220
CSC307 Lecture 05
javiergs
PRO
0
500
Oxlintはいいぞ
yug1224
5
1.3k
MUSUBIXとは
nahisaho
0
130
Patterns of Patterns
denyspoltorak
0
1.4k
Implementation Patterns
denyspoltorak
0
280
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Building Adaptive Systems
keathley
44
2.9k
ラッコキーワード サービス紹介資料
rakko
1
2.2M
A Soul's Torment
seathinner
5
2.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Designing Experiences People Love
moore
144
24k
Writing Fast Ruby
sferik
630
62k
Un-Boring Meetings
codingconduct
0
200
How to make the Groovebox
asonas
2
1.9k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Transcript
None
A journey through warnings, errors and Happy Path, Sad Path
Captain Train Un site pour acheter des billets de train.
Super rapidement.
Dans toute l’Europe Captain Train
Captain Train Comment conserver la rapidité malgré la complexité ?
Happy Path – La recherche
Happy Path – La recherche
Happy Path – Le Panier
Happy Path – Le paiement
Happy Path – Le billet
Happy Path Simple.
Sad Path Tout ne se passe pas toujours aussi bien.
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – Le Panier
Sad Path – Le Panier
Sad Path – Le Panier
Sad Path – Le paiement
Sad Path – Le Paiement
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Happy Path - Sad Path Contraintes métier Gérer la complexité
Happy Path - Sad Path • Collecter les informations progressivement
Ce qu’on veut
Happy Path - Sad Path • Collecter les informations progressivement
• Prévenir les confusions fréquentes Ce qu’on veut
Happy Path - Sad Path • Collecter les informations progressivement
• Prévenir les confusions fréquentes • Informer en cas d’erreur Ce qu’on veut
Happy Path - Sad Path Ce qu’on pourrait faire
Happy Path - Sad Path Ce qu’on pourrait faire
Happy Path - Sad Path Ce qu’on veut vraiment Éviter
de faire déteindre le Sad Path sur le Happy Path
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste • Rajouter des étapes seulement si nécessaire
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste • Rajouter des étapes seulement si nécessaire • Contextualiser les messages
Happy Path - Sad Path Contextualiser les messages « Ce
train ne part pas de la gare demandée. »
Happy Path - Sad Path Contextualiser les messages « Ce
train ne part pas de la gare demandée. » « Ce train ne part pas de Paris, mais de Massy- Palaiseau, à 30km de Paris. »
Happy Path - Sad Path Contextualiser les messages « Pour
faire cette opération, contactez votre administrateur. »
Happy Path - Sad Path Contextualiser les messages « Pour
faire cette opération, contactez votre administrateur. » « Pour ajouter un passager, contactez Delphine ou Jean-Luc. »
Happy Path - Sad Path Quelques patterns • Chaîner les
dialogues avec des Promesses • Tests d’intégration • Tests utilisateurs
Happy Path - Sad Path Chaîner des dialogues avec des
promesses function addToCartClicked() { return luggagesDialog.prompt().then(() => { return birthdateDialog.prompt(); }).then(() => { return identificationDialog.prompt(); }).then(() => { return book(); }); }
Happy Path - Sad Path Chaîner des dialogues avec des
promesses function payButtonClicked() { return similarTicketDialog.prompt().then(() => { return duplicateTicketDialog.prompt(); }).then(() => { return invalidCouponDialog.prompt(); }).then(() => { return payDialog.prompt(); }); }
Happy Path - Sad Path Tests d’intégration visit('/pay'); click('Payer'); andThen(function()
{ assert.present('Le paiement a été refusé'); });
Happy Path - Sad Path Tests utilisateurs
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Bref • Maîtrisez vos contraintes
métier • Simple ≃ rapide
Pierre de La Morinerie Frontend Developer —
[email protected]
Merci ! Pierre de La Morinerie Frontend Developer —
[email protected]