Remove interfaces

12 October 2023

If we think about the most efficient user interface possible, with signal-to-noise ratio close to 1, it literally has no interface. Everything you are about to imagine is already done or in the process.

How close can we get to it realistically? Thing that comes to my mind first is standartization. Currently, each and every website or app has its own user interface and we have to learn how to use it. After several decades of evolution of internet, some UI control elements are more or less standardized. Take button, for example. It is simple, everybody knows what it does in theory, but still sometimes buttons on certain websites have strange and unconventional behavior.

Typical experience today looks approximately like this: User interacts with UI of an app

How can we avoid having to learn interface of each and every website/app? Standardize it, of course! Each button should be with the same design, have the same functionality, same states and behavior.

Yes, this is utopia of course, nobody will do that.

What if apps and websites had some kind of universal API that would allow us to control them programmaticaly via certain protocol. We could use it to operate them from outside. And we could create some kind of adapter that would connect our own custom interface to the app. That way we could remove inefficient 'alien' user interface and use our own, familiar user interface, customized just for us.

Let's call it Adapter interface. The whole idea could be illustrated with something like this: User interacts with app via adapter interface

Adapter Interface could be as personalized as needed for each individual, question is only in creating such adapter that works with various APIs and does its job.

For example, let's take MacOS's Finder app. Imagine you need to move a file from one folder to another folder. You have to do absurd amount of small actions to achieve that. You need to move your cursor around, click Finder app in the Dock, wait until window appears, go to the folder where the file is located currently, drag it to some other folder in a weird way, make mistakes, start over again, etc.

But this operation itself is basic and have been essential to computers for the last several decades. Why it takes such an amount of effort to just move the file between folders?

Now imagine how much easier it could be done with a Terminal app. Mouse or trackpad are not needed at all. You don't have to fight with user interface, all you have to do is just fire simple commands. Thing is, the simpler the action, the lesser interface is needed. So every OS is a compromise between really complicated concepts and really simple commands. It's nice to have a user interface to better understand and have a better control over complex stuff, but for simple actions an additional user interface is often just an overkill.

We can use Adapter Interface to address basic and the most repetitive tasks just like moving the file. Just a few more examples: google something, open certain web page, open certain app, check email, turn certain setting on or off, paste certain text snippet. The list goes on.

All these actions could be done without any interface with a single button click.