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.

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(); }); }