« All Episodes

Abstract Mental Models

Published 4/18/2016

In today's episode, I talk about four different types of abstract mental models.

Mentioned or relevant to today's episode:


Today's episode is sponsored by Squares Conference! Go to SquaresConference.com and use the code SPECFM25 at checkout to get 25% off your ticket to Squares. I'll see you there!

And lastly...

Please take a moment and subscribe and review the show! Click here to review Developer Tea in iTunes.

Transcript (Generated by OpenAI Whisper)

Hey everyone and welcome to Developer Team. My name is Jonathan Cottrell and in today's episode we're going to be talking about allegories, similes, metaphors, and simulations. These are all different degrees of mental abstraction, mental models. We're going to be talking about all of that in one episode today. It's a mouthful. So let's get straight into this content as soon as possible. First, a few housekeeping things. Today's episode is going to tie together some terms that you may not necessarily be intentionally using in your day-to-day job. We've talked about metaphors before and we've also talked about useful abstractions. Today we're going to dive a bit deeper. We're going to explore the differences and a few different ways of creating these abstract mental models. Today's sponsor is Squares Conference. Squaresconference.com. I will be there. This is a conference for developers. I'm going to be there. Dan Denny is going to be there from Code School. Val Head. She is a designer and web animation pro. Kim Bost. She's a product designer at Dropbox. There's a whole host of other people that you can find out about by going to squaresconference.com. Squares was kind enough to pay for a ticket for me and a few of my co-workers. So we're going to have a little crew there and I'm looking forward a ton. It's in Grapevine, Texas, which is just outside of Dallas. You can fly directly to Dallas and then drive to Grapevine in just a few minutes. So check it out. Squaresconference.com. Later on in the show, I'm going to share with you a special code that will give you 25% off. That's on the primary ticket that Squares has. 25% off just for being a developer T listener. But before I give you that code, I want to talk to you about the these abstracted mental models. These are four types of mental abstractions. I'm quite sure that there are more than these four that I'm going to cover today, but these four cover a spectrum that I want to point out to you. A lot of the time, we like to unify our language when really we should be breaking it out into intervals. We just talked about this last week. We need to be thinking in intervals, not on a complete continuum, but certainly not in binary either. In other words, we end up thinking in false dichotomies accidentally, and we think of things in terms of good and bad, for example, or fast or slow. Really, the truth is much different than that. This problem is kind of like a bias. It's pretty pervasive. It's like false dichotomy bias, and it's likely an artifact of our natural desire to simplify things. So that we can quickly decode them when we see them in the future, and we don't have to think about them for too long to understand how we relate to them. When we think about mental models, or we think about the word abstraction, we often think that that is one category of things. This is how we often try to understand abstractions, that it's something layered on top of another thing. This is the way that I think about abstractions when I'm not actually using my brain very hard. That's something that I'm trying to understand. So, if I'm going to think about the false dichotomy, I think of an abstraction as a single thing. We unify all abstractions into one category. But today, I want to expand that discussion a little bit and talk about four different types of mental abstractions, mental models. Breaking things out like this may help you identify when and how to use different types of abstractions. Breaking things out, figuring out what those different steps are between one extreme and the other, breaking them out may help you identify when and how to use these different types of abstraction. And this technique can be used in other things too. When you find yourself trying to dichotomize something, try breaking it down into smaller steps, smaller intervals, and see if those exist. My guess is you're going to find more often than not, they do. So we're just going to touch on these four different types of mental abstractions. You can call them mental models. The first one is allegory. Allegory. And allegory has deeper meaning than what you see on the surface. It has psychological or symbolic, potentially cultural symbolic meaning. For example, when we use imagery that evokes a particular emotion, or maybe even a particular time period, we're taking advantage of allegorical design, right? When I say the color red, you have a particular understanding of what the color red associates to in your life. If you live in the United States, near where I live, you're going to associate red primarily with stop signs, potentially with negative things. You're going to see caution when you see red. But when we add green to that, when we say red and green, it's likely that once again, if you live in United States, you're likely to think about the holiday season. Now, if we add red, yellow, and green, once again, here in the States, that means a traffic light. And it's likely that you're going to think through those things as a part of our culture. Now, that is a very simple example of allegory. There are much deeper examples of allegory in literature. An allegory is actually a literary term that describes when an author uses something as a symbolic stand-in for a different thing. A particular character could be allegorical, an allegorical symbol for something that was happening in the time period that that author wrote that particular piece. So for software design, we don't see this very often in code, but we do see it in UI design. And when we're talking about user experience, for example, we know that red has a deeper meaning. We just now discussed that. Then simply the color itself, it's not just a collection of light and pigment. This can be a highly simplified version of an allegory, but using red as a stand-in for the word warning, you're using something that's totally separate and they aren't necessarily even connected through language. They're only connected through some kind of deeper, deeper, deeper, deeper, deeper, deeper, deeper, deeper, deeper, deeper, deeper, deeper, connotation or psychological symbolic meaning. Okay. So that's an allegory. And again, that's not seen as often in code. It is seen in design, but still, this is something that you're going to see more in things like literature, perhaps in copywriting, in brand development, which a lot of you who listen to the show, you're involved in some kind of brand development. So keep that in mind when you go forward in working with those projects. The power of, allegory should not be underestimated. It's worked for thousands of years in literature, and it can certainly work when you're developing a brand. Number two is simile. Okay. Number two is simile. This is another type of mental abstraction. And typically with mental abstraction, what we're saying is we're abstracting one thing away from another. So simile is the next step on the scale. And a simile is when you say that one thing is like another. One thing is like another. One thing is like another. One thing is like another. One thing is like another. For example, saying that an overlay on a blurred image is like a piece of wax paper on top of a Polaroid, or a piece of code is like a tree, a particular algorithm is like a tree. With similes, it's most often the case that the simile is trying to point out a particular characteristic, or perhaps a few characteristics of the item and the item it is being compared to. So in the wax paper example, we aren't talking about the terability of wax paper. We're talking about the terability of wax paper. We're talking about the terability of wax paper. We're talking about how the wax can melt off of it. But rather, we're only referring to the way the light hits it. So that is a simile. Similes are most similar to metaphors, and metaphor is number three. Metaphors are often mixed up with similes, but the difference here is that we aren't saying that one item is simply like another. We're actually saying that one item is another. For example, on a website, you might have a carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel, or any kind of carousel. An even better example of this, for email, you actually use the word inbox to describe where all of your incoming messages go to. This is an exact example of metaphor. And a metaphor is often, again, it's confused with simile because they have a lot of similar characteristics. But the main difference between simile and metaphor, as it relates to software, is that we're often using most of the characteristics of the compared objects. A metaphor is saying that something embodies a lot, if not all of the characteristics of that particular object, but that it may present it in a different way, right? So like functionally down below the presentation layer, a lot of the things are functioning in the same way. In the inbox example, we have messages that come in, we can go and get those messages, we can put them in other boxes. And so that metaphor kind of holds, up functionally as a metaphor for a real mailbox. Now, could you use a simile in place of a metaphor? Of course you could. You could say that a email inbox is like a true physical mailbox, and that would be perfectly fine. There's nothing particularly wrong about mixing these two different things, but I'm trying to give you tools for planning in the future. When you're trying to create these mental models for yourself, maybe you can use metaphors, or to describe something that more holistically covers the functional feature sets of something, and a simile to describe a limited set of similarities. So we've gone through one. Number one was allegory. Number two was simile. And number three was metaphor. Now I want to take a quick break, just a 10 second break. Square's conference has been so kind to sponsor Developer Tea by bringing me and a few of my colleagues out to Square's conference. I hope I can see you there in Grapevine, Texas. It's at the end of April. Go and check it out. Square's conference.com. And they have given us a special code to give to Developer Tea listeners. And that code is SPECFM25. That's S-P-E-C-F-M-25. That gets you 25% off on your tickets to Square's conference. Again, I will be there. Dan Denny will be there. Val Head. A whole list of people that you want to go and see. And you can find out who's going by going to Square's conference.com. And I hope to see you there. Go and check it out. Square's conference.com. Don't forget the code is SPECFM25. And just let them know that Developer Tea sent you their way. Thank you again to Square's conference. So we've gone through three of these mental models. Mental abstractions. Allegory, simile, and metaphor. And the fourth one is simulation. Okay? Simulation. Allegory is probably the most abstract that you can get. Simile is significantly less abstract than an allegory. It's comparing two things. Metaphor is a bit more directly connected. Because we aren't using like language. We are... Simply saying that something is something else. And finally, simulation is the most literal abstraction of them all. Essentially what we're trying to do with simulation is create as close to the real thing as possible. We're trying to create as close to the real thing as possible. And you see this particularly in gaming. We see simulation because we're creating physics worlds, for example. We're creating some kind of interactive AI component maybe. And really, simulations... They're an abstraction because they are immersive completely in a digital artifact. A simulation is a complete digital artifact that tries to approximate the input and output of a real life scenario. Or perhaps an imaginary scenario that is being simulated as if it could be real life. For example... Imagine a simulation of flying through space. Of course, you haven't had a chance to fly through space. And particularly, if we had a simulation of a human on Mars, then that wouldn't be a human flying through space either. Now, I should mention that it doesn't even have to necessarily be digital. A simulation can simply be trying to approximate the realistic environment with whatever tools you have. Digital or non-digital. For example, there are teams who are actually simulating the human trips to Mars. And they're doing it here on Earth. They're trying to create a similar environment here on Earth. So, a simulation is approximating as literally as possible with whatever tools you have. The input and output mechanisms so that we perceive something that is very similar to what it would be in that real scenario. And that's what a simulation is. So, hopefully, these four ways of thinking about mental models, all the way from allegory, the symbolic literary meaning of allegory, all the way to the most literal version of an abstraction, the simulation. Hopefully, these four things can help you understand mental models a little bit better and start thinking about things and not in terms of simply, oh, it's an abstraction or it's not an abstraction. But rather start thinking about them in terms of their different levels on that scale. What type of abstraction is it? Thank you so much for listening to Developer Tea. This show would not exist unless it was for the people who listen to it. So, thank you so much for spending your time listening to Developer Tea. One way you can help the show out tremendously is by subscribing. And another way that you can help us out is by going to developertea.com. And if you want to help us out, you can go to developertea.com. And if you want to help us out, you can go to developertea.com. By going to iTunes and leaving a review. These two things are massive for helping the show continue to do what we do. It helps not only because you are getting consistent deliveries of the show, which hopefully that's what you want anyway, right? But it also helps because it pushes us up a little bit in the iTunes ratings. And that's why I tell you that it helps other developers just like you find Developer Tea. So if you think that Developer Tea deserves to be a part of your life, deserves to be pushed up in the ratings, so that other developers can find it, then go and leave a review. That's the best way to help us get pushed up in those rankings. Thank you so much for listening. Thank you again to Squares Conference. If you want to see me in Texas, go to squaresconference.com, and use the code SPECFM25. Of course, that code can be found in the shownotes at spec.fm. That'll get you 25% off to go to Squares Conference. Thank you again to Squares Conference for sponsoring Developer Tea. Thank you for listening. And until next time, enjoy your tea.