Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Happy Path, Sad Path

Happy Path, Sad Path

A journey through warnings, errors, complexity and 🎄 at Captain Train.

Avatar for Pierre de La Morinerie

Pierre de La Morinerie

September 30, 2015
Tweet

More Decks by Pierre de La Morinerie

Other Decks in Programming

Transcript

  1. Happy Path - Sad Path • Collecter les informations progressivement

    • Prévenir les confusions fréquentes Ce qu’on veut
  2. Happy Path - Sad Path • Collecter les informations progressivement

    • Prévenir les confusions fréquentes • Informer en cas d’erreur Ce qu’on veut
  3. Happy Path - Sad Path Ce qu’on veut vraiment Éviter

    de faire déteindre le Sad Path sur le Happy Path
  4. Happy Path - Sad Path Ce qu’on peut faire à

    la place • Partir du cas optimiste
  5. Happy Path - Sad Path Ce qu’on peut faire à

    la place • Partir du cas optimiste • Rajouter des étapes seulement si nécessaire
  6. 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
  7. Happy Path - Sad Path Contextualiser les messages « Ce

    train ne part pas de la gare demandée. »
  8. 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. »
  9. Happy Path - Sad Path Contextualiser les messages « Pour

    faire cette opération, contactez votre administrateur. »
  10. Happy Path - Sad Path Contextualiser les messages « Pour

    faire cette opération, contactez votre administrateur. » « Pour ajouter un passager, contactez Delphine ou Jean-Luc. »
  11. Happy Path - Sad Path Quelques patterns • Chaîner les

    dialogues avec des Promesses • Tests d’intégration • Tests utilisateurs
  12. 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(); }); }
  13. 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(); }); }