Rob Haisfield
Behavioral product strategist and gamification designer. This is my public hypertext notebook, sharing my thinking in motion at various stages of development.
Start Here
Tags
Work Together
RSS
Adoption requires a baseline of user involvement in order to overcome inertia
[[Products are fundamentally voluntary]] and your product takes effort to use. [[Speak to the user with a shared vocabulary]] so they are able to understand why you are worthwhile. Remember, you’r...
Adoption
This page is simply to collect pages that link to it. Use this to jump to other locations.
Apps with continued user involvement are responsive to increasing skill levels over time
Near the beginning of a person's personal productivity journey, they may be fine with using Apple Reminders as their form of task manager. Eventually, [[User skill level increases over time]], ...
Apps with continued user involvement enable the user to accomplish multiple goals
If an app enables the user to accomplish only one goal, then the user will be lost as soon as the one goal disappears or is accomplished better by using some other product. Accomplishing multiple g...
Apps with continued user involvement respond to changing user goals over time
[[New users do not yet have the vocabulary to understand the app]], but as [[User skill level increases over time]], so does their vocabulary. They are able to conceptualize and express desires tha...
Behavioral Product Strategy
The way a product is designed shapes the way that people use it. [[Every app is designed for behavior change, intentionally or unintentionally]], so the questions that drive behavioral product stra...
Brian James Rubinton
His twitter He is working on Kanopi
Building Community in Obsidian with Licat
Below is a chat I had via Discord with Licat, one of the co-founders of Obsidian, an excellent application that I use for editing all of the markdown files on this website. I'm working on devel...
Christopher Small
His twitter A brilliant thread on Clojure and Data Science where we first (inter)met: Great question!#Clojure has started to gain a small but exuberant following of data scientists, so there is d...
Clojure is programmed to abstractions
This is a dense topic, but the short version is: Clojure has many different data types. Maps, vectors, and lists are all different data types, but you can generally use the same functions to work ...
Clojure
[[Why I'm learning Clojure]] [[Domain-specific languages as end-user software]] [[How I'm learning Clojure]] [[What I like about Clojure]]
Continuous onboarding can come from community
I’m still working on this one, leave a comment or send me a note on Twitter @RobertHaisfield if you want to see more on this page! See initial thoughts here: https://roamresearch.com/#/app/Rob-Hai...
Design systems of influence
I’m still working on this one, leave a comment or send me a note on Twitter @RobertHaisfield if you want to see more on this page!
Designing for user involvement creates a virtuous cycle of usage
Once we’ve set the behaviors involved in enhancing [[User Involvement]] in motion, we create a virtuous cycle of involvement. User behavior turns into goal accomplishment. This reinforces the valu...
Designing for user involvement has positive effects on adoption, retention, and virality
[[Adoption]] [[The most successful app adoptions come from a project]] because that gives users the motivation to learn functionalities in the context of when they are useful and persist through f...
Difficulty Matching
The emotional experience of Flow A flow state is often characterized as optimal human experience. It’s an experience where you are fully focused and energized in what you’re doing, often experien...
Direct functions and end-user programming
Just a little anecdote of a small project: I needed to make a program to resize images in a weird way for [[GuidedTrack]]. Instead of scaling images, I needed to add whitespace to the horizontal m...
Domain-specific languages as end-user software
What I learned from GuidedTrack Working on [[GuidedTrack]], I have become very interested in this concept of domain-specific languages as applications. GuidedTrack does this interesting thing wher...
End-user scripting enables creative workarounds
[[User skill level increases over time]], and people with high [[User Involvement]] understand your app’s core mechanisms so well that, when they face a new problem, they are able to come up with c...
Eric Normand
His twitter
Eventually user skill level will reach the limitations of the software
I'm learning more and more that a user's expectations going into an app are key. When I started playing a game like Dark Souls, I had the full expectation that I was not going to be able to...
Every app is designed for behavior change, intentionally or unintentionally
As described in [[The Kurt Lewin Equation]], people’s behavior is influenced by the relationship between who they are and the context of their situation. While the user is paying attention, the app...
Expectancy Value Theory
[[Products are fundamentally voluntary]], and Expectancy Value Theory gives us a way to understand which goals people will pursue and what makes them more likely to be successful. This theory is on...
Failure state
Index [[Intentionally design for failure states]] [[Difficulty Matching]]
Feedback loops are a more efficient method of communication
I'm trying to train my dog not to jump on the bed while I sleep. Up until recently, we've had him sleep in the crate at night, but ideally we'd be able to give Bennie a bit more freedom...
Fogg Behavior Model
author:: [[BJ Fogg]] This model isn't based on experimental evidence, but is rather a bunch of formalized common-sense assumptions. Use it as a set of rules of thumb that are generally good ...
Game designers and behavioral scientists are asking many of the same questions
[[Game designers have been designing for digital behavior change for longer than just about anyone]]. They design the environment that the users interact with and the rules through which all of the...
Game designers have been designing for digital behavior change for longer than just about anyone
Games have long recognized the truth that comes from [[The Kurt Lewin Equation]]: The player is interacting with the in-game world in order to get what they want and further their goals. Game...
Gamification is not one monolithic thing
When people think of gamification, they tend to think of points, badges, and leaderboards. They make claims like "gamification is good for engagement” or “gamification should only come in at X...
Gamification
I loosely define gamification as taking inspiration from game design and behavioral science to influence voluntary user behavior. [[Game designers and behavioral scientists are asking many of the s...
Goal Resonance
When an app is goal resonant, it takes the users actions (the inputs) and amplifies/transforms them into goal achievement (the outputs). Apps that are goal resonant enable the user to bridge the [[...
GuidedTrack Toolbar
One of the biggest fears that new users have related to a programming language is that they have to spend time learning the language before they can build what they want. The no-code movement has c...
GuidedTrack Live Preview
Originally, [[GuidedTrack]] had two separate views for working with your program. You could either be in the code view, where you were editing code, or in the preview, where you saw the output of y...
GuidedTrack
GuidedTrack is a simple low-code application that allows you to make surveys, experiments, web applications, online courses, signup forms, and more. [[Spark Wave]] built GuidedTrack so that it coul...
HEY
This page is simply to collect backlinks as they come. Look through pages that link to this page in order to see more context. hey.com
Habits are the wrong thing to focus on for most behaviorally designed applications
Many people read Hooked and think to themselves, “Aha! I have discovered the key to making great products! People just need to use it all of the time and respond instantly to our whistle!” [[Produ...
Help the user to recognize situations for functionality usage
[[User goals change over time]] as [[User skill level increases over time]] so being aware of the situations in which features are useful means you know when you need to learn how to use them. Due...
Horizontal product
Definition: Horizontal products can be used by all sorts of people for many different purposes. A vertical product, by comparison, is meant for a specific set of use cases. Most horizontal product...
How I'm learning Clojure
On these sorts of things, I like to [[Follow curiosity unconditionally]]. While I may not be progressing down a curriculum as fast as others, the fact that I'm trusting my curiosity means that ...
How we address GuidedTrack's key failure states
GuidedTrack has certain failure states for new users, and we need to [[Intentionally design for failure states]]. From [[Initial Research on GuidedTrack]]: "For the context of onboarding, the...
How we can work together
I'm flexible in the ways I work with clients. Below is not an exhaustive list of possibilities, though there are a few patterns that my engagements tend to follow. I generally work to improve a...
Hyper learning
This likely won't be going to be the final version of this post. Hyper learning is a coinage for learning through portfolio effects and feedback loops. It's about interdisciplinary thinkin...
I design for successful goal achievement and playstyles that are appropriate for the user
A friend of mine named Javier Velasquez once told me: “Behavioral economics sets up a choice architecture so that people are most likely to pick one specific option. Game designers aim to give user...
If I read what everybody else is reading, then I’ll think like everybody else
I remember being in conversation with a friend of mine who had just started working at a top behavioral economics consultancy right around the time when I started consulting independently. He said...
Initial Research on GuidedTrack
If you do not know what GuidedTrack is, I highly recommend reading the [[GuidedTrack]] page first, where I have background info. First, I wanted to look at what was already there We have help doc...
Intention-Behavior Gap
definition: The intention-behavior gap describes the discrepancy between what a person intends to do and what they actually do. Sheeran, Paschal & Webb, Thomas. (2016). The Intention–Behav...
Intentionally design for failure states
A failure state is when users fail to reach their goal in some way. In goal striving, it is inevitable that the user will experience failure states, because a goal is by definition a discrepancy be...
James Lu
His main twitter His Python twitter
Lazy gamification
Lazy gamification is what happens when you slap a relatively homogenous configuration of points, badges, and leaderboards onto a heterogenous set of problems. This is done without thinking about wh...
Learn by going up and down the ladder of abstraction
Whenever I'm working on something concrete or specific, I attempt to turn it into more abstract claims and questions that I can generalize. When I've developed a more abstract claim, I sear...
Learnable programming
When people want to learn to code from scratch, they might search for an online code academy. Through a series of lessons, they would teach you the ins and outs of a language and of your developer ...
Lenses of behavioral science and game design principles
I like to [[Learn by going up and down the ladder of abstraction]]. One of the main ways that I do this is through developing and testing lenses. Whenever I find (or come up with my own) framework...
Make an impact through portfolio effects
I don't just want to work on one idea at a time, because then I'm learning slowly and what I learn may be confined to that specific context. If I am able to implement many ideas at once and...
Mind Ease
This page is primarily to collect linked references Mind Ease is an app that offers evidence-based anxiety and stress relief in 10 minutes or less. Website: https://mindease.io/
Most gamification sucks
New users do not yet have the vocabulary to understand the app
Imagine that you are in a foreign country where you don't speak the language. You're hungry and you need to ask someone on the street where to buy some food. You don’t have the words to say...
Onboarding Plan as Presented to GuidedTrack on 10-20-20
Note - GuidedTrack gave me permission to share a plan for onboarding that I wrote for them late October. At this point, we had been working together for a few months and this is an iteration on pla...
OpenMind
This page is primarily to collect linked references "OpenMind is a psychology-based educational platform designed to depolarize campuses, companies, organizations, and communities. OpenMind h...
Parameters of onboarding
How much variation is there in user goals within our target population? See: [[There are individual differences between new users in their initial user goals]] How much variation is there in skill...
Paul Bauer
People start using an app with different prior skill levels
One of the companies I work with, GuidedTrack, is a simplified programming language that allows subject matter experts to create web applications, interactive slideshows, and experiments with no pr...
Products are fundamentally voluntary
People can always choose to use the product, use an alternative, or use nothing at all. In fact, not using your product is their default state of being, and you’re trying to get them to do somethin...
Programming languages are converging due to runtime
I recently sent [[James Lu]] this fascinating video by "Uncle Bob" and asked him for his thoughts. This is his response, discussing runtime and its innovation: Over a multi-decade hor...
Progress monitoring and feedback systems
I’m still working on this one, leave a comment or send me a note on Twitter @RobertHaisfield if you want to see more on this page! For now, you can browse my thoughts in my public Roam on the subj...
Provide a smooth learning curve from new user to power user
Apps built for power usage are capable of so many things that they can't be learned in a day. This points towards the necessity of [[Continuous onboarding]] - if we tried to shove all of that i...
Questions from prospects
I keep track of the questions that prospects tend to ask me. Use the backlinks to navigate from here.
Removing GUI elements as the user's skill level increases
I've noticed a really interesting trend lately in apps built for power usage… When the user starts out, they have a GUI (Graphical User Interface) that helps them learn how to do things. As [[U...
Retention
Roam Cybrarian
In a discussion organized by Norman Chella of RoamFM about Roam Creators, he raised the thought-provoking question: “What would a job description with [[Roam]] Research as a hard skill look like?” ...
Roam
For anyone who isn't already familiar, Roam Research is a knowledge management system that organizes text on a graph of connections. Think of it like a Wikipedia that you write that can be quer...
Roguelike
Roguelikes are a genre of game heavily inspired by Rogue. You can picture them sort of like a long (or possibly endless) obstacle course where you try many times to make it further than you did bef...
Satisfy the social contract between the user and the app
This is about optimizing for [[User Involvement]] within the context of what the app can do. The user needs to exert effort into making the app work for their needs, and the app needs to reduce the...
Spark Wave
Link to the main website Spark Wave is a [[Startup Foundry]] run by [[Spencer Greenberg]] that applies social science, strategic thinking, and iterative experimentation to create socially benefici...
Speak to the user with a shared vocabulary
[[New users do not yet have the vocabulary to understand the app]]. They understand the product through the lens of their own goals and what's familiar to them. The company will generally have ...
Spencer Greenberg
His website and blog His bio His twitter Spencer Greenberg is the CEO and Founder of [[Spark Wave]], and is my boss for my work there. He has been an incredibly positive influence on my life. I...
Startup Foundry
Definition: A startup that starts startups. Think of it like a startup accelerator mixed with VC where they generate, validate, and build initial ideas and then find outside entrepreneurs to come ...
Stian Haklev
His Twitter
Tasshin Fogleman
Testimonials
Adam Taylor Cofounder and CEO of Fabriq "These days, it's all too easy to think you’re implementing effective behavioral design principles after reading a few articles, or a one-off conve...
The Kurt Lewin Equation
Kurt Lewin’s equation, B=f(P,E), states that a person’s behavior is a function of who they are as a person and the contextual factors of their environment. Kurt Lewin’s Equation is commonly misund...
The data-driven programming mental model
One of the core mental models of Clojure is: Write data structures. Create functions that take that data as input and create new data structures as their output, and flow the output of those into o...
The difference between user involvement and user engagement
With high quality [[User Involvement]], people are using your product when their lives call for it and in a way that allows the product to fulfill its promise to the user. This is distinct from how...
The goal of game design is to influence user behavior to create an intended experience
[[See Mark Brown's brilliant video on protecting the player from themselves https://www.youtube.com/watch?v=7L8vAGGitr8::rmn]] Game designers recognize that they can't just design a game an...
The hard problem of onboarding horizontal products
In order to successfully onboard a [[Horizontal product]], we need to deliver an experience that is initially meaningful to groups of people who understand and care about different things. [[There...
The most successful app adoptions come from a project
#stub [[New users do not yet have the vocabulary to understand the app]]. A big mistake that many people make when they try out a new app is that they’ll try to understand features in a very abstr...
The user believes that the app will help them achieve a goal that they actually have
This is just good product design and user research. Learn about the user’s goals and how committed they are to achieving them and the product with that in mind. The intuition for why this leads to...
The user believes that their actions in the app lead to goal achievement
If people are going to do something effortful, they want to know that their effort is going towards their goal. In the app, this can be communicated through [[Progress monitoring and feedback syst...
The user believes that they are capable of performing actions within the app
People are generally more likely to do some behavior if they think they are capable of doing it. I'm not going to sign up for a marathon because I can barely run a mile. I believe I'm capab...
The user has a high expectancy of success in using your software
[[The user believes that they are capable of performing actions within the app]] [[The user believes that their actions in the app lead to goal achievement]] [[The user believes that the app will...
The user should learn enough of the app’s functionality to accomplish a goal
If you are able to accomplish one of your [[User Goal]]s within an app, then the app has done its first step towards gaining your [[Retention]]. One of the first steps to [[Satisfy the social contr...
There are individual differences between new users in their initial user goals
Different people come to the app for different reasons, searching for different information about how it relates to their struggles and goals. Ideally, they should be able to figure out quite quick...
There could be many genres of gamification
A genre of games is a set of games that deal with a common set of problems and attempt to deliver a similar experience while varying a range of common conventions. Let's go ahead and lump poin...
There is no curriculum that encompasses everything you should know
People often ask me what they need to read in order to work in [[Behavioral Product Strategy]]. My answer? There is no curriculum of everything you should know. I’ve found the following useful: ...
Think about mechanics as facilitators
Think of this claim as a parameter rather than a claim of universal truth
On this website, I phrase my beliefs in strong terms. This is just because I've found it to be helpful for rearranging ideas to pick out the affirmative statements that feel true or relevant fo...
UpLift
This page is primarily to collect linked references. UpLift is an app that delivers cognitive behavioral therapy to people with depression through interactive sessions and tools. Website: https:/...
Use a badging system as a method of actionable user research
If you have a high quality badging/achievements system, then that means you know what the user goals are, you can recognize when those goals are accomplished, and your app notices when the user beh...
User Goal
[[There are individual differences between new users in their initial user goals]], which plays a crucial role in the [[Parameters of onboarding]]. Since [[Adoption requires a baseline of user invo...
User Involvement
Imagine purchasing a gym membership in order to lose weight or grow more muscular. Having a gym membership is not enough on its own! In order to successfully accomplish that goal, you would need to...
User goals change over time
A user’s goals 1 week into using your app and 6 months are rarely the same. “Elder users” often won’t even retain the goals that they had at the start of their experience. [[Apps with continued use...
User skill level increases over time
Imagine that you have just started to use Excel or Photoshop. Both of those apps have an insane amount of functionality, and it would be unreasonable to expect the user to understand what is possib...
Wade Dominic
What I like about Clojure
The syntax of Clojure is simple and uniform. In order to enable learnable programming, people should not have to think hard about syntax. When I look at code in other languages, I see so much synta...
When is gamification appropriate?
[[Gamification is not one monolithic thing]], so asking when it is appropriate is like asking when design is appropriate. To me, it's really an exploration of the fact that [[Game designers an...
Why I chose to consult rather than pursue a PhD
Behavioral science is a deep passion of mine. Upon graduation, I didn't want to stop studying it. Many asked (myself included), "Why not go get a PhD?" There were many reasons, but th...
Why I love interoperability
Since switching from [[Roam]] to [[Obsidian]], I’ve really come to appreciate the ability to open up my directory of notes in many applications to gain a unique view on the same data. I can open it...
Why I'm learning Clojure
I've been interested in learning to code for a while, but never really took a full leap. I've had a few false starts. In college I took classes where I had to use R and Stata for statistica...
Why isn't FigJam on the same canvas type as Figma Prime?
If I were Figma, I would have designed FigJam as an on-ramp to Figma. I like to [[Provide a smooth learning curve from new user to power user]] through [[Continuous onboarding]] (rather than attemp...
Writing in hypertext
Welcome. I don't know what to call this, exactly. A digital garden? A personal wiki? A nonlinear manifesto? Regardless, it's my public idea space. It is a deeply entangled web of ideas that...
Continuous onboarding
Powerful [[Horizontal product]]s like Notion, Airtable, Excel, and Roam are all powerful/flexible and require learning and expansion of use cases over time to wrap your head around them. Given that...
Follow curiosity unconditionally
Index pages:: [[Methods for learning and thinking]] This is one of the main benefits that I've found with my decision to consult (see: [[Why I chose to consult rather than pursue a PhD]]). If...
motivation check
definition: A motivation check is a moment where you give a user a choice where what they choose reflects their current level of motivation. According to [[BJ Fogg]], we have [[motivation waves]]...
motivation waves
https://www.youtube.com/watch?v=fqUSjHjIEFg&feature=emb_logo
Self-efficacy
Self-efficacy is the belief that you are capable of doing some action, otherwise phrased in here as [[The user believes that they are capable of performing actions within the app]] and [[The user b...
streak counter
A streak counter counts the number of days in a row that you do an activity. If you miss a day, then your streak resets to 0. As a concept, a streak counter is an intervention for encouraging use...
The user may have a lack of imagination as to what user goals they can accomplish
[[The user believes that the app will help them achieve a goal that they actually have]], but [[New users do not yet have the vocabulary to understand the app]]. This means they'll often be pai...
© Rob Haisfield