Design for User Journeys through life, not just software
I find the most compelling products are those that build solutions for people to achieve something meaningful in life. Users exist in a current state of being, desire to be in a different state, and face problems in achieving this. Products are solutions to making this transition successful, and then if part of that solution is a piece of software, there is a user journey through that software component of the solution. Essentially, you are encapsulating your personal ability to help someone transition through life, then automating and scaling what you know is successful.
Product Example: Opendoor
An example of a compelling product like this is Opendoor, which focuses on helping people that want to go from owning a house to having it be sold fairly and moving on with their life. The solution Opendoor has created for their users encapsulates and automates the role of a real estate agent (and many of the other services) that are required for the user to go from one state to the next, and provides this as an incredibly fast transition.
Product Example: Insight Artificial Intelligence Program
Another example product is Insight, and the AI program which focuses on helping Software Engineers and Researchers go from their current role to a new cutting edge career that leverages machine learning engineering. These individuals exist in a current state, desire to be in a different state, and face obstacles to being successful. The aim is then to provide education and mentorship to these people to make a successful role or life transition. The solution for this is to provide ways for these people to work on real company data, use appropriate machine learning techniques, and build models or tools that have value for a company or business.
Modeling Humans for Product Design
I tend to mentally model these scenarios, and finding solutions to them, in the same way that I would approach modeling artificial agents (similar to POMDPs, but with my own modifications).
Such a system looks like the following:
- States: There are many possible states of the world. Which ones are your users in and which ones do they want to be in? The state users are in also constrains what inputs and outputs are actually possible.
- Sensory input: Given the state of the world, what aspects of the world do they have access to?
- Input perception: Given the informational input they have, what is their perception of it? e.g. what tinted glasses do they wear when they see the world?
- Output perception: What internal understanding do they have on what actions they can perform in the world?
- Motor output: What actions do they actually have available in the world given the state it is in?
- Motivation/Reward: Given the state of the world, which also constrains inputs and outputs, AND the perception of both of these, how rewarding do they find this vs other states?
- Strategy/Policy: Based on what they care about, what they know they can do and what they sense about the world, what’s the way in which they actually interact with the world to seek reward? This process could be active (the agent interacting with the world is aware of their own policy) or passive (they interact with the world but are unaware of their policy, although others could reverse engineer it from their observations)
Using Framework to design products for people
Translating this computational agent-based view into a system for analyzing and creating solutions for people moving within the real world then takes the following form below. I’ve also indicated some potential solutions for how to add value when solving this problem, highlighting where data, sales, and marketing come into play.
- States: What real world scenarios exist for our users? Solution(s): Make more potential states of the world which changes the game being played.
- Sensory input: What information do our users have access to? Solution(s): Provide more access to information. Create new sources of input that didn’t exist before. Build systems to aggregate data and give access.
- Input perception: How do our users interpret all of the information they have, or how do they interpret the data when it’s completely messy and mostly patternless? Solution(s): Help users reinterpret the data they do get. Change sales and marketing, provide data stories to augment how users interpret the available data.
- Output perception: How do users interpret what they can do in the world to move around in it? Solution(s): Help users reinterpret what they can do in the world and don’t realize it, or provide information/situations where they can gain this capacity. Provide documentation and guides for doing things. Provide additional sales and marketing to inform users. Provide data and stories and use cases to make potential actions visible.
- Motor output: What can they actually do to act on the world? Solution(s): Provide more access to all systems that currently exist. Create new ways of taking action that didn’t exist before. Create systems that can automate the actions you want to take.
- Motivation/Reward: What do they actually care about? Solution(s): Provide ways for people to understand what they value or influence them to value certain things. Increase marketing to show what’s desirable. Provide more data to people about what others value. Show data on what is actually more valuable based on certain frameworks, e.g. financial benefits.
- Strategy/Policy: How are they going about their interaction with the world? What is their actual method they are doing now? Are they aware of it? Solution(s): Make transparent the ways people are interacting in the world and what other potential ways exist. Provide ways for people to understand their sensations, perceptions, actions, and motivations to see what are better ways of doing what they are trying to do.
Applying this to Opendoor
- States: What real world scenarios exist for our users? e.g. people can own or not own houses and can move between these states.
- Sensory input: What information do they have access to? e.g. people might only see the property values around them or have access to some of this information online. Or they have access to information about the houses themselves.
- Input perception: How do they interpret all of the information they have, or how do they interpret the data when it’s completely messy and mostly patternless? e.g. certain aspects of houses are emphasized more than others, property values seem affected by certain things, etc.
- Output perception: How do they interpret what they can do in the world to move around in it? e.g. probably have some knowledge about realtors and systems, but also how good it bad they are, what they think they can do to speed up parts of the process, etc.
- Motor output: What can they actually do to act? e.g. only certain realtors exist in an area, only certain processes can be followed, with potentially unalterable timelines. There only exist a certain number of people looking to buy a particular house in the market.
- Motivation/Reward: What do they actually care about? e.g. they want to not own a house anymore, they want to move states quickly, they want to not deal with realtors, etc.
- Strategy/Policy: How are they going about their interaction with the world? What is their actual method they are doing now? Are they aware of it? e.g. they could be going through the motions of selling a house through standard ways because it’s only what they know, or have access to, or what they have time for. It they could have their whole process mapped out in detail with lots of pathways, scenarios, action plans.
Ultimately, Opendoor would want to work along all angles, but the largest pain point for people, at least in the beginning, was likely altering the actual actions people could take in the world — building the method by which to sell the house. Other aspects were also very important for making the sale happen, such as having all the right data for accurately pricing houses and to provide that information to people. The solving of the problem, however, focused on making a way to sell the house quickly with an automated efficient system.
Applying this to Insight
I find that most mentorship and guidance of software engineers or researchers in their professional development involves reframing their goals as transition processes from one state to the next. The aspects of mentoring and training, though, are focused on changing or augmenting part of this agent model.
Translating this computational agent-based view into a system for providing mentorship and education for these individuals takes the following form below. I’ve also indicated some potential solutions for how to add value when giving this advice and training.
- States: What real world scenarios exist for people moving careers? Solution(s): Identify and communicate the landscape of new roles, responsibilities, management structures, or experiences people can have.
- Sensory input: What information do these engineers have access to? Solution(s): Help engineers join meetings with others internally or externally, encourage them to interact with others they don’t typically engage with, help them see new offices, have them trial new roles.
- Input perception: How do engineers interpret all of the information they have, or how do they interpret the data when it’s completely messy and mostly patternless? Solution(s): Guide people through how to interpret data in different ways, give your high level interpretations of messages or situations, point out salient opportunities that exist in the ongoing activity that’s happening at the company or externally in the field.
- Output perception: How do your direct reports interpret what they can do in the world to move around in it? Solution(s): Guide people to learn different type of actions they can take in a particular setting, extra intuition on how different types of nudges and communications can succeed or fail, different styles for working effectively with different people.
- Motor output: What can they actually do to act on the world? Solution(s): Provide situations where engineers can take the lead and influence parts of their company or external groups. Advocate for them to be considered for roles where they can do the things for which they have been preparing.
- Motivation/Reward: What do they actually care about? Solution(s): Sit down with engineers and help them determine their personal and professional goals, help them reassess these to align them more throughout the company to be successful.
- Strategy/Policy: How are they going about their interaction with the world? What is their actual method they are doing now? Are they aware of it? Solution(s): Provide examples of how their current workflows will result in suboptimal performance, help them self identify what things are doing well and not well, help them proactively plan by building roadmaps towards.
Next Steps: Providing the long-term sustainable business solution
Solving problems for users in the long-term involves looking at all your options for solutions, evaluating their potential for value, estimating how much value they provided, and determining how to monetize them. The business side of the process is then to set up the self-sustaining solution such that the money that’s captured from the provided service (revenue) is greater than the the effort to provide it (costs), thus making it a sustaining solution for long term impact.
Common Pitfall: People optimize for consumption
A common issue that happens in the above product design is that people want to optimize for consumption (sensory input), even though this is counter-productive to their true goals and underlies a failing strategy.
Users ask for content
When building product for users, especially when focusing on a risk-averse population, feedback you receive from users is that they want to know information because that is how they are going to be able to solve the challenges they are facing in life. Users prescribe that the solution is to focus in on the sensory input aspects — they want more raw data to consume. This is often due to the fact that they already have strong convictions that they know what they want in life (rewards), can interpret the data for themselves (input perception), and already feel like they would make the best decisions (strategy) given what they know how to do (output perception).
Users seeking career change ask for education materials
When mentoring and training people to take their lives and careers forward in a meaningful way, the ever exhausting mindset is the statement that people just want to be exposed to more information and learn as much as they can. One example I consistently encounter is the software engineer who wants to add more and more time to learn machine learning. The “need for educational material” keeps being presented as a critical piece to their development, and then they try to solve the problem by consuming more and more machine learning educational content.
What is often needed in this scenario is for several aspects to be altered to build a real solution to this problem:
- First, help identify the real goal in life — if the aim is to do machine learning on a real problem for a real company and make a difference, then they need to re-organize their mental reward structure.
- Second, obtain real access to problems and data at their company where they can actually work on a real problem (motor output), even if they don’t have 100% of the training.
- Third, given them the intuition for how to actual identify real opportunities for leveraging ML, where ML is critical (input perception).
- Fourth, provide them the ways to consistently be biased towards action and build more and more relevant ML projects instead of spending time watching videos (change their strategy).
The above is another reason you see a very large proliferation of educational products on the market that are just, at their core, content media companies where people are paying to consume ML material. It does not solve the actual problem of helping people do ML in their lives and in their careers.
I hope this provides another avenue by which to understand users, build solutions for them, and determine how to keep that solution sustainable for the long term. I’d love to hear from you all — Who is your product/company helping? How are they helping them? Is this solution sustainable?