Behavioral product strategist and gamification designer. This is my public hypertext notebook, sharing my thinking in motion at various stages of development.
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 experiencing a high level of creativity and losing track of time.
The general emotional experience that i...
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. He's allowed to hang out with us on the bed during the day, so it's surely confusing that he can't at night. H...
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 your code.
There were a few problems with that. One was that people would need to read and write cod...
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 adoption or retention through improving [[User Involvement]]. See: [[Designing for user involvement has p...
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 search for more situations in which to apply it. I then adjust the [[mental model]] situationally, and ask if th...
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 information down the user's throat too early, they would just get intimidated and quit.
Given that I'm w...
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 other functions. Essentially, model the world through data and its transformations.
One of my bigges...
Horizontal products like Notion, Airtable, Excel, and Obsidian are all powerful/flexible and require learning and expansion of use cases over time to wrap your head around them. Given that, why do they only teach people how to use the app for the first few minutes?
It's not just horizontal produ...
© Rob Haisfield