Behavioral product strategist and gamification designer. This is my public hypertext notebook, sharing my thinking in motion at various stages of development.

Home

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 modelmental model

situationally, and ask if that requires my understanding of the abstract model to be adjusted as well. Repeat. This is a core process that I follow to apply learnings from behavioral science, game design, and past projects to present/future projects.

These abstractions can be found by asking yourself, "If I take out the specific details of this situation, what is the structure of what I just did?"

My favorite way to go up and down the ladder of abstraction is by making Lenses of behavioral science and game design principlesLenses 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) frameworks or principles of behavioral influence in a paper, game, or my own practice that I feel may be "generalizable" in some sense, I turn them into a series of abstract questions that I can ask myself across situations. This allows me to solve future problems with my present work and encode knowledge. As I ...
for myself. Whenever I find (or come up with my own) frameworks, theories, or findings that I think could be abstracted beyond the present context, I turn them into "lenses." Each lens is a series of questions to ask myself in order to look at a problem through the lens of that concept. This is going up the ladder of abstraction.

To then go down the ladder, I need to apply that lens to a specific situation to see if it fits and adjust it accordingly.

Roam can enable this process through block and page references. To see a concrete example of this, here's a link to my public Roam with some instructions.