Are Application Launchers Overrated?

Sebastian Carlos
5 min readDec 19, 2023
Photo by Linus Mimietz on Unsplash

There are some questions which our civilization is not yet ready to tackle with an open mind — And yet, we must do so.

My argument against “application launchers” is so simple that I’m going to open with it:

We’ve had a program to launch applications since the 60’s: It’s called the shell.

Calm down now. Please read the rest of this article before leaving your comment. I promise you that, by the end, you will at least gain a deeper understanding of the people in the other side of the “launcher divide.”

What’s an application launcher?

Let’s start from the basics: A computer without a way to launch applications is not a computer at all. By this definition, I agree that application launchers are good, even essential.

This article refers to “GUI application launchers”, the last iteration of convenience tools for the masses, such as macOS’s Launchpad or Linux’s rofi.

MacOs Launchpad

My problem is with GUIs in general. They are often unnecessary.

GUIs are, fundamentally, the underlying paradigm by which our corporate overlords keep us chained to their advertisement apparatus (ad-blockers would work much better in a text-only environment). Instead of educating the general population about the Command Line (often the best form of Human-Computer Interaction), Big Tech invest endlessly in the visual medium.

Once consumers are seduced by the narcoleptic visuals, nothing stops the powers that be from adding references to bourgeois office paraphernalia (such as desktops, cabinets, and recycling bins) which reinforce workplace culture. Soon enough — and it already happens — they add as much advertisements as they can get away with, with colorful images to seduce our lizard brains.

That’s why, when my child asked me for a Chromebook for school, I instead gave them a Thinkpad running headless Linux to do their schoolwork with. (Just kidding, but the thought crossed my mind.)

Don’t get me wrong, GUI application launchers are an improvement over previous tyrannies of user interface, like the menu driven interface in early desktop environment such as the Windows 95 “Start Menu”.

Windows 95 “Start Menu”

Indeed, current exemplars like macOS’s Launchpad have some worthwhile features. Notably, they provide a single entry point from which any task can be started.

But besides their seductive UI, what do they actually do?

Application Launchers from First Principles

Let’s look at it with fresh eyes. Application launchers such as Launchpad and rofi are:

  1. Floating windows (or, in the case of Launchpad, a full-screen application.)
  2. They open in response to a keybinding.
  3. They display and autocomplete a list of applications.
  4. They close after opening an application.

That’s it.

rofi

Despite their general inconvenience, GUI applications are inevitable, and so are desktop environments. My preference is for minimalist tiling-window managers, which keep the bloat and visual decorations to an absolute minimum.

Now, a minimalist tiling-window-manager like i3 or Sway, plus a shell like Bash, Zsh or Fish, easily provide features 1 to 3.

Is it really necessary to install a GUI application just for the UX convenience of feature 4? I don’t think so.

With just a bit of shell scripting, that feature can be achieved.

In fact, that’s just what I did.

Introducing Sway Talisman

As a Sway user myself, it was trivial to create such a solution.

sway-talisman is an ultra-minimalist approach to launching applications. It leverages the power of terminals and Sway’s scratchpad (a floating window which opens with a keybinding) to function as an app launcher with no dependencies.

This is not a TUI launcher; It just makes your terminal even more of a launcher.

Indeed, shells are the only programming languages in which launching a new process is a first-class citizen! (With the notable exception of the underrated Tcl language.)

So, why not embrace a minimalist tiling-window-manager workflow in which your terminal is your application launcher?

Basically, sway-talisman provides the missing UX piece of closing the scratchpad after launching the app.

And while it is made for Sway, the main logic is just 10 lines of code. Everything else is well-encapsulated glue code, which should be easy to adapt to any other window manager.

Application Launchers induce Choice Paralysis

Another issue with GUI application launchers is that they can be overwhelming: They usually show every single GUI application in your system, even those that came with packages you never intend to open!

sway-talisman provides instead an additive approach: You are responsible for defining every app you want to launch, and you do it in your standard shell configuration (such as .bashrc). Also, nothing stops you from adding extra automation and configuration before and after opening your app.

Say, for example, you want to define a way to launch your Firefox browser. Instead of relying on some Application Launcher behavior or Linux .desktop entries metadata, you can define whatever works for you:

  • A firefox alias.
  • A browser alias.
  • A browser-firefox alias (to easily autocomplete all your browsers by typing browser-<tab>)
  • An alias to a fuzzy finder, pre-populated with a list of applications.
  • Any of the above at the same time.

Let me be clear here: If you cannot create a shell alias for an application which is easy for you to recall, you probably don’t need the application to begin with.

Closing thoughts

GUI Application launchers are not that bad. By all means, use them.

Keep launching applications, good ones, and use them to attain your objectives. If you keep at it, you may find that you eventually launch yourself out of the need for GUI application launchers.

As I have done, so can you.

Thanks for reading! If you enjoy humorous tech stories like these and want to support me, consider buying some coffee. I will literally get a coffee every time. You can also follow me on Medium and Twitter.

--

--