---
{"dg-publish":true,"permalink":"/bookmarks/tech/gu-is-are-antisocial/","tags":["bestpractices","coding","gui","psychology","software"]}
---


# [GUIs are Antisocial](https://mtlynch.io/notes/guis-are-antisocial/)

Last week, I was listening to the CoRecursive podcast [interview with PowerShell’s lead architect, Jeffrey Snover](https://corecursive.com/building-powershell-with-jeffrey-snover/).

See [[Bookmarks/Tech/TUI, CLI and Terminal Apps\|TUI, CLI and Terminal Apps]]

One moment in that interview has been stuck in my head the whole week is when Snover argues that graphical user interfaces (GUIs) are inherently “antisocial”:

> I realized that — you know, that the mouse is antisocial. **The GUI is antisocial**. So what’s that mean? You have a problem to solve, and you solve it with the GUI. What do you have? A problem solved.
>
> But **when you solve it with a command line interface in a scripting environment, you have an artifact**. And all of a sudden, that artifact can be shared with someone.

> By the way, the way you did it can show cleverness. **I’ve never seen anybody use a GUI in a clever way. Ever.** There’s no cleverness to it. No, like, “Oh my god, you should see the way Adam clicked that mouse. Oh my god. Guys, guys, guys, guys, come on! Check it out: Adam’s going to click the button! Oh my god! That’s amazing!” It just doesn’t happen.

Snover contrasts this with the reaction to seeing an impressive command-line script:

> It’s like, “Oh my god! Did you see what Proust did? That’s phenomenal! This guy’s a frickin’ genius.” And then, “Hey, give that to me. I’m going to steal that technique and apply it to my code.” Or then I have this artifact, and I publish it, and people are using it. There’s a debt of gratitude. Like, they owe me a beer.
>
> …
>
> And so it’s a social environment. Anyway. It really was this moment — like, “Man, we are having a blast!”

I enjoyed Snover’s framing because people often recognize that scriptable interfaces are more composable and reusable than GUIs, but I hadn’t thought about how scripting feels more human in certain ways.

Scripting allows people to express creativity and ingenuity in a way that GUIs don’t. And there’s cross-pollination with scripting where people can have fun learning techniques from each other, which doesn’t happen with GUIs.
