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

Be like Water

Be like Water

A frontend flow controller by the backend

Thales Machado

September 06, 2017
Tweet

More Decks by Thales Machado

Other Decks in Technology

Transcript

  1. Acquisition On Nubank = 24 to 37 screens (and some

    with more than one state) INTRODUCTION Nubank Acquisition
  2. Acquisition Features • CPF • Password • Account created warning

    • RG • RG issuer • Marital Status • Cell phone number • Location Permission Warning • CEP • Address • Neighborhood • City • State • Camera Permission Warning • Docs Front • Docs Back • Selfie • Income • Limit range • Due day • PIN • Summary • Signature • Terms n Conditions • Date of birth
  3. Acquisition Features CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth WHAT DO THEY HAVE IN COMMON?
  4. Acquisition Features CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth THEY ARE SIMPLE QUESTION AND ANSWER SCREENS
  5. Acquisition Features CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth DO WE NEED THAT MANY?
  6. Acquisition Features CPF Password RG CEP Address City State Camera

    Permission Warning Docs Front Docs Back Selfie Limit range Due day PIN Terms n Conditions Date of birth DO WE NEED THAT MANY?
  7. Acquisition Features CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth HOW CAN THE APP DECIDE?
  8. Acquisition Features CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth CHANGES ALWAYS REQUIRE A NEW VERSION + PEOPLE UPDATING THE APP
  9. Acquisition Desired Solution The backend can know all this information

    • Easy to add, change or remove one STEP in the flow • Easy to do A/B testing • Centralized logic • Changes do not need to depend on customers updating the app
  10. Acquisition Problems But it’s not that simple • What is

    a step? • What if it doesn’t understand a step? • How do we make texts dynamic but being able to customize color, fonts and sizes? • How will it send generic information?
  11. Acquisition Steps Steps • Represent a single piece of information

    on the flow • Can be a question or an announcement • Can generate an answer • Is the base of all the flow
  12. Acquisition Steps CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth
  13. Acquisition Steps CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth Text Inputs
  14. Acquisition Steps Text Inputs • Need to conform to different

    masks: • Phone • CEP • CPF • Date of Birth • etc… • Can have more than one per Screen • Complex validation
  15. Acquisition Steps CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth Read Only
  16. Acquisition Steps Read Only • Do not generate an answer

    • Normally used as warnings • Can be used to establish decision points (flow bifurcation)
  17. Acquisition Steps CPF Password Account created warning RG RG issuer

    Marital Status Cell phone number Location Permission Warning CEP Address Neighborhood City State Camera Permission Warning Docs Front Docs Back Selfie Income Limit range Due day PIN Summary Signature Terms n Conditions Date of birth Multiple Choice
  18. Acquisition Steps Multiple Choice • Can be restricted into one

    or more selections • A cell click can redirect • Can be shown as a list or a matrix (e.g due day)
  19. Acquisition Steps Steps • Represent a single piece of information

    on the flow • Can be a question or an announcement • Can generate an answer • Is the base of all the flow • Is represented as a JSON document
  20. Acquisition Numl What were these <em> <strong> <small> <p> and

    etc?? • Easy to do A/B testing • Changes do not need to depend on customers updating the app • We need a way to have the scalability of receiving the text from the backend, but keep the power to really customize fonts
  21. Acquisition Numl • Some are base tags, which define the

    base color, font and size for that text Separated into a semantical meaning <h1> <h2> <h6> <label> <p> <small>
  22. Acquisition Numl • Some are base tags, which define the

    base color, font and size for that text • The others define the emphasis they will act upon Separated into a semantical meaning <h1> <h2> <h6> <label> <p> <small> ColorEmphasis FontEmphasis StyleEmphasis
  23. Acquisition Numl • Some are base tags, which define the

    base color, font and size for that text • The others define the emphasis they will act upon Separated into a semantical meaning <h1> <h2> <h6> <label> <p> <small> ColorEmphasis FontEmphasis StyleEmphasis <i> <em> <b> <span>
  24. Acquisition Numl • Some are base tags, which define the

    base color, font and size for that text • The others define the emphasis they will act upon Separated into a semantical meaning <h1> <h2> <h6> <label> <p> <small> ColorEmphasis FontEmphasis StyleEmphasis <i> <em> <b> <span> <strong>
  25. Acquisition Numl • Some are base tags, which define the

    base color, font and size for that text • The others define the emphasis they will act upon Separated into a semantical meaning <h1> <h2> <h6> <label> <p> <small> ColorEmphasis FontEmphasis StyleEmphasis <i> <em> <b> <span> <strong> <a>
  26. Acquisition Steps Steps • Represent a single piece of information

    on the flow • Can be a question or an announcement • Can generate an answer • Is the base of all the flow • Is represented as a JSON document • Can have it’s text fully customizable inside a guideline