There’s something magical about the terminal.
Ever since I went back to Linux I explored the idea of using terminal-based tools instead of familiar GUIs. First I started with replacing by beloved Sublime Text editor with Neovim, and Sublime Merge git client with lazygit. This was already quite a step, but I wondered how far I could push this, and started replacing other, not strictly dev-related software with terminal alternatives as well.
These days I navigate file system from the terminal (ranger), listen music through the terminal (cmus), even read email from the terminal (aerc). Combine that with tiling window manager (Sway) and you get amazing setup of simplicity and productivity. The fact that it’s not only possible, but incredibly satisfying to use, is mesmerizing. It made me think why that’s the case, and I came up with a couple explanations.
First, using the terminal is fast. Really fast. The speed at which you can things done depend not on the speed of the software or how fast you can move the mouse into a particular spot, but solely on how well you remember keyboard shortcuts and how fast you can type. And there’s nothing that stops you from getting good at it, same as nothing is stopping you learning any other skill. You can be as fast and efficient as you want to be, and software will not hold you back.
Second, terminal is an antidote for distractions. As good as graphical user interfaces are these days, there’s a lot of visual noise that gives absolutely nothing - purely aesthetics, which increases cognitive load for the person that needs to get the job done. Don’t get me started on software that embeds ads (yes, I’m looking at you Microsoft). Terminal is as simple or complicated as you want it to be. You can do plain text, with no colors, or use pretty themes, and even render images. But the foundation is still text, and what you get is content, and nothing else.
Third, it’s the feeling that is hard to explain. Terminal based UIs date back to 60s, and the fact that its still widely used, 80+ years later is the legacy worth cherished for. It’s not even for programmers only! - terminal was used by many different people to get the job done, from receptionists to librarians. Receiving my order confirmation email in my terminal feels almost like I’m in a video game, where you can read conversations between different characters through in-game computers, which ofter displays only text.
There’s of course one type of software that do not work well on the terminal, and that’s the browser. Unfortunately that’s not going to change, and I wish more companies would pay more attention on making applications work well with text-based browsers. This is something I’m looking forward contributing to in the near future though!
Now you could say that it’s just nostalgia. The thing is, I never used terminal in my childhood. My earliest memory was seeing how Pacman was launched on MS-DOS, but my own adventure began with GUIs and Windows 92. Terminal for me came into picture only when using Linux for the first time, somewhere around 2008, when I already was learning to write code.
I just think that terminals are better way to consume content and get the job done. It hides all distractions that exists around GUIs and the internet, and it is something we all should seek in this economy of noise and attention.