But Why Terminal Apps?


Updated on : 14.09.2021

Ever since I switched to i3, I have simply become fascinated by terminal apps. Let's have a little discussion about them.

What are terminal apps?

These are apps which runs right inside the terminal. These apps don't have a GUI and are mostly keyboard-centric. Some terminal apps also accept mouse events.

I've listed all the reasons why I think they are cool.

Pros

  1. Extremely fast startup - This is because it's only sending a stream of characters to the terminal. Even TUI applications, which may seem like they have windows and panels, are just made up of characters.
  2. Low resource usage - There is no graphics library involved, so all the resource is used only for the task and nothing else.
  3. Less dependancies - Unlike GUI apps, which uses a GUI development library (GTK/Qt/Electron) to develop the frontend, terminal apps uses very simple libraries. They can be simple argument-based applications or TUI in nature. All of this results in a smaller codebase as well, which usually results in lesser chance of failure.
  4. Remote access is very easy as long as you have ssh - This is one of the biggest advantage of terminal apps over GUI apps.
  5. Open-source and community-driven - All the terminal apps that I have seen (which might be around ~100) are all open-source in nature and not under the control of a for-profit enterprise. So most of the decisions are based on performance and feature improvements, and not for increasing share-holder's profits and gathering telemetry.
  6. [BONUS] They make you look like a hacker /s

Cons

  1. Esoteric design - There is a slight learning curve, and sometimes very high. However, once you get used the usage philosophy, it will be easier to use them.
  2. Exclusively keyboard-driven - This is one of the reasons why terminal apps scare novice PC users. Keep in mind they are designed to be used only via the terminal (Some modern terminal apps support mouse usage). It simply takes time to get used to it.
  3. Not mobile/tab friendly - While it's possible to install a terminal emulator, mobile and tabs are primarily designed for touch interface.
  4. As they are community-driven, only the popular ones are still actively developed. Others simply die out after getting abandoned by the maintainer.
  5. A lot of time needs to be invested to tune it to your liking, but it's a one time effort

While terminal apps are certainly not everyone's cup of tea, once you get used to them, it's hard to leave them. Their sheer speed, operational capabilty and robustness is why I always try to find terminal alternative for common day-to-day applications.

You can find my choice of terminal apps over here