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

Building Developer Tools Your Coworkers Won't Hate (IndexConf 2018)

Amy Nguyen
February 21, 2018

Building Developer Tools Your Coworkers Won't Hate (IndexConf 2018)

It's easy to complain about bad tools. It's harder to write a great tool yourself. Once you step into the shoes of an internal tools developer, you realize that you're balancing feature requests and constraints from a dozen different teams and an entire universe of complexity behind what should be a simple UI. In this talk, we'll talk about how to gather information about your users' needs, how to balance between conflicting requirements, and ways you can fail to build a tool that your coworkers want to use.

Amy Nguyen

February 21, 2018
Tweet

More Decks by Amy Nguyen

Other Decks in Technology

Transcript

  1. @necrobuffalo, @amyngyn Index 2018
    building developer
    tools your coworkers
    won't hate
    adam barber (@necrobuffalo)
    amy nguyen (@amyngyn)
    index conf | february 21, 2018

    View full-size slide

  2. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    who are we
    Amy Nguyen
    ● observability engineer at stripe
    ● excited about user experience design and
    education for developer tools
    ● @amyngyn
    ● amynguyen.net

    View full-size slide

  3. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    who are we
    Adam Barber
    ● software engineer at nylas
    ● excited about making usable software
    ● @necrobuffalo
    ● blog.taron.rip

    View full-size slide

  4. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    agenda
    ● motivation
    ● how to do user research
    ● UX design principles
    ○ command line tools
    ○ data analysis tools
    ○ build tools

    View full-size slide

  5. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    why care?
    ● bad UX causes incidents.
    incidents cost money.
    ● bad UX wastes time.
    time costs money.
    ● bad UX creates hostility.
    hostility costs money.

    View full-size slide

  6. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    ● talk to people
    ○ one-on-one
    ○ focus groups
    how to do user research

    View full-size slide

  7. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    how to do user research
    ● ask the right questions
    ○ don't ask questions that confirm
    what you were expecting
    ○ dig deep, don't accept the first answer

    View full-size slide

  8. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    ● communicate as you follow-up
    ○ build trust
    ○ confirm your solutions are the right
    solutions
    how to do user research

    View full-size slide

  9. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    ● talk to people
    ● ask the right questions
    ● communicate as you follow-up
    how to do user research

    View full-size slide

  10. @necrobuffalo, @amyngyn Index 2018
    does anyone even know what that flag does?
    command line tools

    View full-size slide

  11. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    be consistent
    % man -h
    Usage: man [OPTION] [SECTION] PAGE…
    [...]

    View full-size slide

  12. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    be consistent
    % less -h
    Value is required after -h
    (--max-back-scroll)

    View full-size slide

  13. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    be consistent
    ● match arguments to your other tools
    ● match arguments to historical usage

    View full-size slide

  14. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    don’t break existing tools
    ● have integration tests for your internal tools
    ● design with existing tools in mind

    View full-size slide

  15. @necrobuffalo, @amyngyn Index 2018
    does that data really mean what i think it means?
    data analysis tools

    View full-size slide

  16. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    rapid testing
    ● users need a REPL or
    other way of quickly
    validating ideas

    View full-size slide

  17. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    discoverability
    ● autocomplete
    ● GUI or other menus for
    showing all the options

    View full-size slide

  18. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    correctness
    ● syntax errors and highlighting
    ● explanations for syntax errors

    View full-size slide

  19. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    data analysis tool design
    ● rapid testing
    ● discoverability
    ● correctness

    View full-size slide

  20. @necrobuffalo, @amyngyn Index 2018
    i don't know who broke the build
    because i don't know how to find the build
    build tools

    View full-size slide

  21. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    navigation
    ● anticipate the most common actions
    ○ find my latest build
    ○ locate failing output
    ○ rebuild

    View full-size slide

  22. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    fail fast
    ● if something is failing, don't wait to
    finish before showing the result to
    the user

    View full-size slide

  23. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    helpful messages at the right time
    ● remind users to lint and unit test
    before kicking off a long build
    process
    ● suggest corrections for bad input

    View full-size slide

  24. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    summary
    ● communicate early and often
    with users
    ● imagine the context in which
    users will use your tools
    ● anticipate what users want and
    make it as easy as possible to
    figure out

    View full-size slide

  25. @necrobuffalo, @amyngyn Index 2018
    @necrobuffalo, @amyngyn Index 2018
    thanks!

    View full-size slide