Transcript for Episode 207. QWAN: Quality Without A Name
[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast. Living large in New York. I’m your host, Michael Nunez. Our co-host today.
[0:00:09.3] DA: Dave Anderson.
[0:00:10.1] MN: Today, we’ll be talking about quality without a name, also known as QWAN.
[0:00:15.7] DA: QWAN, stop trying to make QWAN happen, Mike, it’s not going to happen.
[0:00:22.4] MN: Here’s what happened, I’m looking at – I’m checking out the Art of Agile, looking at the first edition because I know the second edition is either out already or it’s coming out soon and I want to be able to read this so I could compare with the other one. Now, at the very end of the Art of Agile, we have, in chapter 15, we have the title being ‘seek technical excellence’. In reading this…
[0:00:45.2] DA: It’s the valedictorian speech of the book.
[0:00:48.6] MN: Exactly. The word QWAN gets used, quality without a name. Well, according to the Art of Agile, the sentence goes, “Some folks describe good design as elegant or pretty. They say that it has the quality without a name or QWAN ineffable sense of rightness in the design.” I was like, “Cool, QWAN’s a thing” and that’s like you know, if you’re programming something or you use an application, you may have some QWAN in it and it’s just like you know, speaks to you, it’s so elegant, it’s so pretty.
[0:01:20.4] DA: I feel like I felt that before, it’s very metaphysical, I feel like one with the universe, I feel tingly, the matrix is kind of streaming down.
[0:01:33.0] MN: No, but I imagine like this is probably a piece of application that you use that’s like, it just works, just as I expected like there must have been a ton of user research to make this thing QWAN, bro.
[0:01:46.4] DA: Right, but you can’t exactly express it. I like how he goes on to say too that this is a term coined by Christopher Alexander who is an architect who have thoughts about patterns of architecture and that’s kind of interesting, that’s actually like one of the inspirations also of design patterns.
[0:02:09.1] MN: Like an actual architect? Bobby Christopher Alexander built buildings you mean?
[0:02:14.7] DA: Yeah, he built buildings and he’s a professor at Berkley. He’s talking about patterns like “Yeah, this door is a good door. I don’t know why it's a good door, I can’t describe it but this is a really good door” or this arch. Actually, probably doors – I don’t know, I’m not an architect but I feel like architects out there listening, you’re probably like “Oh yeah, you know what? An arch, that’s where it’s at.”
[0:02:43.5] MN: Yes. That’s a door right there. I mean, a QWAN door for me is a door that I could walk through no problem.
[0:02:50.5] DA: Right, yeah, it’s just like, “Oh, it opens” You get that arch, it’s like, “Ooh, you know, time tested, roman aqueduct, it’s good quality.”
[0:03:03.0] MN: A couple of the [Googley moogley 0:03:04.2] led us to a C2 website that actually had four –
[0:03:11.2] DA: Four attributes.
[0:03:12.3] MN: Yeah.
[0:03:12.7] DA: Cool, have four attributes of QWAN.
[0:03:15.3] MN: Yeah, four attributes of QWAN. We’re going to get right to them and then hopefully we could talk about if there’s any applications that you may have felt like QWAN when one of these particular attributes work really well in the app that you're making.
[0:03:30.9] DA: I think this article is great too, I’m sure many of you have or most of you have come across C2 wiki in your Google searches in your travels. It’s that Wikipedia page that came out of the Chrysler compensation project that birthed XP in the late 90s and there’s just so many gems in here. This gets so philosophical, so metaphysical, there is a link to a page about a Chinese goddess.
[0:04:07.3] MN: Quan Yin, I hope I’m doing justice by the pronunciation.
[0:04:11.7] DA: There’s a whole benediction or declaration of devotion to QWAN Yin, which we don’t have time in the podcast to get into.
[0:04:20.5] MN: Yeah.
[0:04:20.5] DA: That’s for the Patreon I think, we’ll go through the declaration of devotion to Quan Yin in the Patreon, which doesn’t exist but when it exists, I’m putting that in there.
[0:04:32.8] MN: We have to do our nominations to all the different gods that are mentioned in there as well in Quan Yin. Yeah, I could jump right into the first attribute with the definition and I imagine we can – Dave, you and I will talk about some applications that we’ve written in the past or applications that we use in our day to day.
[0:04:54.2] DA: Yeah, I think it applies to both the user experience as well as the developer experience. That first attribute that they list here, useability.
[0:05:09.4] MN: Yeah, I can read the definition or the question that comes with it. Is the system something that people enjoy using, would they miss it if it was no longer available? I imagine like, one part of the QWAN if you will, is you know, are people enjoying this new feature that came out or a feature that currently exists that you want to keep around, like people who are literally around because of this feature that you have in your application?
I think in terms of programming, maybe it has to do with how useable it is for you to write code like for example, I think in the article, someone nominated, believe it or not, Eclipse IDE to be QWAN, can you believe that Dave?
[0:05:55.8] DA: I mean, that’s all relative, at one point, a stone wheel was QWAN but now we have much better wheels that – I mean, I would even hesitate to call a VS code QWAN. Sometimes it just breaks down and I’m like, “What happened to you? You were my trusty steed and now you’re betraying me?”
[0:06:19.0] MN: Yeah, I think there are definitely a lot of tools that we use that it’s definitely useable and for certain features is the reason why we use it, right? One maybe able to use VS code because of the marketplace and all the apps that it has, right? I mean, I don’t know.
[0:06:31.9] DA: Yeah, I mean, I guess the one thing about VS code that is highly useable for me is that fuzzy finding the files, fuzzy finding actions.
[0:06:41.9] MN: Yeah.
[0:06:43.3] DA: I only know two keyboard shortcuts, sometimes I remember a third and a fourth but most I know those two and it makes me happy.
[0:06:52.5] MN: If there’s one keyboard shortcut that you need to remember on a Mac, command shift P. Because that one will lead you to all the other commands if you type it out. You could do command shift P and then you could do like find or search and it will give you all the different ways to search for something. Fun fact, put a pen on that, VS Code is QWAN. I’m sorry Dave, I’m calling it. I nominate VS Code.
[0:07:17.0] DA: Okay. The VS code, its indexing capabilities of my files and finding the references, that is not QWAN, it has a way to go but yeah, I mean, some software, I thought it was funny looking at this article, like there’s kind of back and forth in the C2 wiki. People are like, “I have never seen a software that someone had this resonance with” but Instagram that was your example, right? Like a baby could use it, it’s like literally so easy, a baby could use it. All the touch screen interfaces and things like that.
[0:07:51.6] MN: Yeah, you could scroll to see more pictures, you can press the camera button, take a photo and send it, go straight right to your account really quick. The other feature in Instagram is the likeability, right? The ability to know how many likes you have on a photo, that’s been an ongoing conversation whether Instagram is going to remove the likes because it leads to teenagers and young adults to get their dopamine hit based on how many likes their images have.
One way to control individuals from being stuck on their phones is to give that push notification when someone likes your image. The ongoing argument is, do we remove that so that we don’t have kids or young adults addicted to their phones into their likes every time they upload an image but they’re not going to get rid of that, everyone likes the likes, right? If I like your photo bro, you got to be like, “Yes, Bobby liked my photo, that’s great.”
[0:08:44.9] DA: Yeah,
[0:08:46.2] MN: That’s less likely not going to happen and I do imagine that that’s like a question, are we really going to use that, this is a usable thing in our application and we won’t get rid of.
[0:08:55.0] DA: Yeah, I feel like the next one is like pretty important for a software, especially important for software but readability, being able to just look at it and know what it does and kind of be able to visually get through it quickly and I guess also, for software, being able to get the information out of it but that seems pretty closely tied to useability as well.
[0:09:22.5] MN: Right, I mean, I think like, the example that I have for readability is probably – I use Instagram because it’s widely popular but the app that I’m going to mention is My Con Ed app and it’s not that it’s mine, that’s what it’s called but in the east coast, we have Con Edison, who was responsible for the electricity in New York I think and I can find out in real time how much electricity I’m using right now and it’s amazing and it’s easy to read. I can definitely understand how much money I’m going to be spending on my electric bill this month because it allows me to kind of read that information with the smart meter that they recently installed in the house, which is great.
The next attribute is configurability. Can the user adapt the system to his or her needs? Sure, you have Facebook that is just going to spit, you know, statuses and post and stuff like that like you want an application to suit your needs if you need to do something. I think the one user experience app that I had in mind was My Fitness Pal, right? Because I think a couple of years ago I was fat and was eating M&Ms all the time and I have to figure out a way to lose weight and I think I use My Fitness Pal to kind of curate like, “Oh, how can I track my diet” and it curated based on how I did it.
[0:10:42.5] DA: Count the M&Ms.
[0:10:43.7] MN: Yeah, you have to count the M&Ms like, “Oops, you already eat too much calories, you can’t eat anymore” and I had to configure like, “Oh how often do I work out?” Never you know, how well do I eat? Not good. It’s just like made this plan for me and I was able to track my eating. I imagine there are a lot of like health related apps out there as well that kind of does this very well that configures to your needs.
[0:11:07.1] DA: Yeah, I think there are like there are some things also that like, I mean this stuff and mission of configurability can the user adapt the system to their needs is a pretty 90s thought about it too. Like, “Oh let me go to my settings” or get my config file or what have you but there are definitely some crazy examples of systems configuring to the user’s needs like YouTube machine learning algorithms and things like that where you’re using the software, it just becomes more configured to my needs or like all the crazy things like even Facebook to a degree.
I feel like Google especially when you are using it, it’s becoming more to you to kind of a crazy degree where like you were spitting out the ad categories or whatever. I saw you guys estimate that.
[0:12:04.1] MN: Yeah, we were talking about if you’re interested out there and you have your phone in your hand and you’re looking at your phone, if you go to Facebook, you could check your ad interest, which I thought were hilarious because apparently I am only interested in home real estate and Dave Ramsey, that’s the two.
[0:12:23.4] DA: I don’t know who Dave Ramsey is but I’m jealous that I’m not in this list and that Dave is.
[0:12:31.8] MN: He’s a pretty popular finance guy from Tennessee. He has something called The Seven Baby Steps, he’s not paying me for this but this is great stuff. I always want to figure out how to save money and Facebook definitely knows your ads and you could configure it to say, “Hey, don’t learn anything about me anymore” or configure it to your needs so you get the ads that you want. I just thought of another example of configurability in the software developer sense and it would definitely be –
[0:12:57.6] DA: Eclipse?
[0:12:58.8] MN: No, Eclipse? Yes? You got me, Eclipse.
[0:13:03.6] DA: IDE.
[0:13:05.2] MN: Any IDE. I was thinking like ESLint and prettier because you could configure that bad boy to spit out code however you want it at the end of the day, which is pretty extensive.
[0:13:15.0] DA: You know, I was thinking about like quality with that in name like when we started talking about this, I was thinking about like code formatting, things like that because you know, the next one is profoundness and I feel like I used to get a sense of profoundness when I got those brackets placed just right. I got the phrasing perfectly for my Python statement but now, I don’t know how to do that but that in itself is maybe a more profound thing that I don’t need to think about it.
[0:13:48.6] MN: Right, I think I was trying to come up with an example user based on profoundness and you know, one of the apps that I really enjoy using or that I try to use whenever like it comes up because I don’t really think about doing this unless the situation arises and it’s when, you don’t want to get the stars. I need to know what the hell am I looking at when I look at the sky, right?
[0:14:11.5] DA: Speaking of profound deep moments.
[0:14:13.8] MN: Right, so the definition is does the system strike the user as special or unique but at the same time insightful and correct, right? If I open up this app, I’m going to see a different set of constellation, stars, potentially planets. If someone else across the globe is looking at the very same app but it still gives truth to what’s there in our space.
[0:14:39.4] DA: Shit.
[0:14:41.6] MN: This shit is crazy and I was like, “Yo, that’s amazing” like yes, the star apps.
[0:14:46.0] DA: You know, my profound move was a star app is like when you know, you’re looking up in the sky with it, you’re like, “Wow, that’s what that is” and then you point it down at the ground, it’s like, “Oh my god” it’s like glass.
[0:14:58.4] MN: It’s like, “Oh my god, Saturn is down” all the way down there, through the earth and then some, which is insane.
[0:15:04.9] DA: Yeah.
[0:15:05.7] MN: Yeah, that is crazy and again, I think the last time that I remember using it was we had gone to a trip to Brazil for Gio’s first birthday and it was like I realized where I’m standing right now will give me a different set of stars than if I was in New York.
[0:15:21.8] DA: Yeah, you don’t get that Southern Cross.
[0:15:23.9] MN: Yeah, exactly, which is crazy. I hadn’t even think about that.
[0:15:26.8] DA: You get the Big Dip.
[0:15:27.8] MN: Yeah, you get not the little dip, you got that big dip. Yeah, I think that the profoundness in using those apps are definitely really, really interesting.
[0:15:36.5] DA: Yeah but I mean for me also when I’m coding, this kind of weird sense of profoundness like with the code itself, so there’s like the brackets but also the organization and the intuitiveness of it, if I am able to just reach in and not having even touched something before or not having done it in a long time and it just kind of make sense like it has a self-consistency that is like logical and symmetrical in a way, like that’s awesome.
[0:16:11.5] MN: Yeah, I think I mean you know, this is just in the first part of that C2.com entry, which we definitely need to keep in the shownotes because boy, The Rabbit Hole gets deep in this article.
[0:16:28.2] DA: Yeah, you will learn about eastern philosophy looking at this but I do like going back to our friend, James Shore, got this weather bee in like literally weather bee in copy of this here and I do like how he challenges that idea of that quality without a name and he’s like, “Hey, we can’t talk about this unless we give it a name, so let’s try to do it” and I think a lot of things he talked about are things that we’ve talked about a lot on the show, right?
Like clean code, designing the system for people, by always thinking about people who are programmers, people who are using the software like interacting with it and building it to change and modify and maintain over time, those are the things that kind of add up into that profound useable, awesome eastern philosophical situation.
[0:17:28.6] MN: I guess Dave, this is on the spot question. Is there a piece of software that you want to nominate as QWAN?
[0:17:39.1] DA: That’s GraphQL baby.
[0:17:41.1] MN: Yes, GraphQL is QWAN, David Anderson has nominated GraphQL as QWAN.
[0:17:48.8] DA: Yeah, I can’t wait for my colleagues to…
[0:17:54.3] MN: Man, I’m trying to think now. What would I nominate? I think – I don’t know if I’m going to go on my little Con Ed App, I don’t know, I love that thing because it’s very useable. Readable, configurable, not so much, it can tell you how to save energy but I don’t think that’s a…
[0:18:10.8] DA: Profound.
[0:18:13.3] MN: VS Code, man, you mentioned VS Code before, I love VS Code, it has to be my QWAN. I nominate.
[0:18:18.5] DA: VS Code.
[0:18:19.3] MN: If it clips on C2.com, I nominate VS Code.
[0:18:24.5] DA: 2021.
[0:18:26.1] MN: 2021, QWAN baby.
[END OF INTERVIEW]
[0:18:29.9] MN: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five-star review and help developers like you find their way into The Rabbit Hole and never miss an episode, subscribe now however you listen to your favorite podcast. On behalf of our producer extraordinaire, William Jeffries and my amazing co-host, Dave Anderson and me, your host, Michael Nunez, thanks for listening to The Rabbit Hole.
Links and Resources:
The Art of Agile Development: Pragmatic Guide to Agile Software Development
C2 Wiki: Quality Without a Name
Dave Ramsey’s Seven Baby Steps
Our seasoned cross-functional agilists work with you to develop technology, ship product and deliver value. We leverage our diverse expertise across industries and throughout the organizational growth cycle to your benefit. We bring best practices, emergent practices and creative solutions to your problems.