On GUI-shaming and a mountain of hot takes
Tags: cli, gui, tooling, productivity
Published: 2018-11-29 17:15:29

I made a tweet the other day which definitely struck a chord

{% tweet 1067602747191689224 %}

This is the kind of hot take tweet which leads to many more hot takes, so I felt like unpacking the thought a bit.

{% tweet 1067953864882774016 %}

I agree. CLI/GUI is a special enough case I've seen so often whenever the conversation comes up that it seems like it belongs in its own category.

{% tweet 1067824530431844352 %}

This is exactly the type of shaming. GUIs are not "for people who don't want to invest the time and effort in trying to find out how something really works." They are a tool like any other. I actually agree that there are few good GUIs, but also see this as textbook shaming that doesn't help anyone. Like special effects in movies, we only notice the bad ones anyways. I really don't like the GitHub desktop app compared to using the command line, but it is still fairly useful in some cases. I really don't like actually looking at git diffs in the terminal, so while I manage things via the CLI, I still visualize with a GUI (VSCode has become that GUI for me).

Anyway, not to be too harsh, but I thought that was a bad take, and just what I was talking about.

{% tweet 1067608263926018049 %}

I agree. This is good useful advice. It's a good pitch for learning CLIs in general.

{% tweet 1067884962064605199 %}

This is kind of a big point of this in the first place. Everyone has a different path and putting yourself in the other shoe is not so straightforward.

{% tweet 1067639960516194304 %}

This is a reasonable approach, if approached reasonably. (This is how I talk sometimes. Yikes.)

{% tweet 1067828432762036224 %}

Exactly. I feel the pain. But probably less than you. Within our own office, @maestromac probably feels this pain the most. He's really good with CLIs and vim, and deep down would probably love if everyone did things his way.

But Mac doesn't get religious about it.

{% link https://dev.to/maestromac/vim-wont-make-you-a-more-productive-developer-h9f %}

Be like Mac.

{% tweet 1067767129708130307 %}

I just got done talking about how I don't really like the app. And I'm glad others do. I'm sure plenty of people really do.

{% tweet 1067959233944027136 %}

As the person who said I don't like it, I can't actually give really good advice on how to improve it either. This is probably because I haven't taken the time to learn it, so I probably shouldn't jump in to shit all over anyone who has done so.

{% tweet 1067625229067960321 %}

And that's back to the original point. It hurts the whole industry if we put people down for the tools they use. Many people do end up learning important command line concepts, but many do it _after_ a lot of work, maybe years professionally, working with more visual tools. And if they never do, it seems like they are probably doing fine anyway.

## In conclusion

It can be very painful to watch anyone operate a computer who doesn't make good use of shortcuts you feel everyone should be using. Some people copy-and-paste exclusively with the mouse. Some people use `caps-lock-on-caps-lock-off` instead of `shift`. It can be painful, but if you see someone doing something "wrong", as you perceive it to be, being an asshole about it isn't helping anyone.

## One last aside

As a tangent, I feel that some developers don't put enough time and energy into their basic computer/desk/environment set up. You don't need the best, most expensive, stuff, but you should have a good setup and a good routine.

I feel like this post has some good ideas:

{% link https://dev.to/theoutlander/how-to-improve-your-development-experience-ldl %}

I felt like bringing this up because it's _related_ to tool-shaming. A lot of folks will see someone with a bad setup or flow and give them shit about it. I'd rather proactively take the opportunity to provide some helpful resources to anyone who might not already give this a lot of thought with regards to their own productivity.

`</brain-dump>`

Happy coding ❤️