create bridger User Flows
Feature Description
User Flows describe a user's path through the app, the steps they would take from entry to goal. Creating user flows could help us clarify the app's architecture and UI/UX, and minimize future large-scale refactoring.
Motivation and Context
Ever since starting on bridger, we've been engaged in an iterative process of thinking, visualizing, and coding the project without having very concrete points of reference. This situation -- of grappling with defining the problem and approximating a solution -- has probably contributed to our rethinking, rearchitecting, and rebuilding the core parts of the project twice.
Some of the mileage and detours in this process are likely inevitable, as we explore a new problem space, discover its contours, and work to engineer a solution.
However, the road to a solution might be improved by first thinking through user needs and user interactions with bridger. In other words, creating user flows could help clarify, simplify and guide the optimal architecture and construction of bridger.
Possible Implementation
First, we should contemplate and answer the following questions:
- What are the goals of bridger?
- Who are the users of bridger?
- What are the user's goals in interacting with bridger?
- How would the user get to bridger? (e.g., the device they're using, the app/activity they are connecting to bridger from, their point of entry on the bridger site/app)
- What are the steps the user needs to take to reach their goal in bridger? At each step, what would they see (the view) and what would they do (the action)?
Note: There could be more than one distinct user goal, so a separate user flow would be created for each.
Levels of Implementation:
Flow Outlines: It would be useful to start with a written outline describing the flow sequence. This could be likened to coding out a solution in phases: first writing out in plain English a plan, in pseudo-code, that describes the sequence and logic of a solution; following that, each step of the plan can be implemented syntactically in actual code.
User Flows: The Flow Outline (above) would then be fleshed out into an actual User Flow. User Flows often combine aspects of flow charts with UI/view representations at steps along the way. Implementations can vary from simpler text-based diagrams to ones that incorporate simple wireframes.
Implementation Steps:
-
Answer the questions above with specificity -
Write a Flow Outline of steps a user would take to reach a goal -
Translate flow outline into a User Flow (continued in #27 (closed)) -
Repeat Flow Outline --> User Flow for each distinct goal -
Iterate, review, simplify flows, if possible (to enhance user experience)
Related Issues/Tasks
- Depends On:
- Enables:
-
App Architecture (i.e., well produced user flows should lead to more efficient organization of data and components) -
Improved Layout (i.e., refined user flows should improve design clarity and purpose, reduce clutter and friction) -
Designing for Discovery (i.e., layer the app to allow for intuitive, efficient use; but also offer room for exploration, discovery, growth)
External Resources and Context
Caveat: Some of the resources below approach User Flows from a more marketing or sales-driven perspective. We can balance that with our own objectives and draw from them what we feel is useful
- Medium post on information architecture and user flows
- Article on Flow Design Process
- Blog post on User Flows
- Article: How to Design User Flow
- Article in Smashing Magazine about Designing User Flows