In the desktop world, we have the option to use the command line: a uniform interface for a multitude of apps that would otherwise be very different when implemented as GUIs.

Using the same interface, I can move or edit files, cross out tasks on my to-do list, retrieve my password for my email account (using Bitwarden or pass), etc. All in the command line. The GUI for each of those are wildly different.

The other benefit is it is very easy to create a new command line app, as opposed to a GUI.

Is anything like this possible for the smartphone world (even if it doesn’t or will never exist)? What would it look like?

Since smartphone typing is much slower, we can’t simply reuse the command line. We’d need something different. An interface that can still support a various spectrum of different operations, yet ergonomic for a smartphone. What are your thoughts?

  • @[email protected]OP
    link
    fedilink
    English
    17 months ago

    The medium is a touch screen

    That’s more like a GUI than a CLI. You have input boxes, buttons, sliders, gestures, scrolling, drag and drop, etc, and their different combinations. Many apps do almost the same thing, except giving you a different interface and a different combination of these steps. You listed some of those variations yourself.

    How is that the same as the uniformity of the text only interface? That’s far more different than differences in syntax, but still text. Two hyphens instead of one hyphen for a CLI flag is a really small difference.

    • NekuSoul
      link
      fedilink
      English
      47 months ago

      Even as a heavy user of CLIs, claiming that their text-only nature somehow makes them more uniform, feels a bit overly reductive to me:

      To start with, there’s simple fire-and-return commands, interactive commands, full-blown TUIs and so on. Then there’s the parameters, which aren’t really consistent either across applications either. Neither in the naming of arguments, nor their grammar. The representation of the output is also all over the place.

      With all those things, it’s really not so dissimilar from the different layouts of GUIs. Not to mention that there’s also lots of CLI tools that do the same thing but have a different interface, so yeah.

      • @[email protected]OP
        link
        fedilink
        English
        17 months ago

        I’m excluding TUI’s because you’re right, they’re pretty different and share some of the ununiformity of GUIs. Still, the command line world remains vast and with that interface you can do a lot, and it is fairly uniform.

        there’s parameters

        That doesn’t change the uniformity of the interface. Of course every application will need different parameters. Now do they receive these different parameters via a similar and uniform interface? I say yes. I enter it via keyboard, and for the most part they all use space delimited flags, most of them hyphenated. I’d call that pretty uniform.

        To phrase it another way, if all GUIs started using the same names for all parameters, it remains non-uniform interface, and it wouldn’t solve 1% of the issue with GUIs.

        Out of curiosity, if you don’t see the CLI world as more uniform, why do you use it and for what benefit do you prefer it?

        • NekuSoul
          link
          fedilink
          English
          27 months ago

          I use the CLI because it’s keyboard-focused (though I use lots of mouse-enabled TUIs) and because it’s programmable.

          Generally though, I kind of get what you’re trying to say, but ‘uniformity’ feels like an unfortunate choice in the context of your question, as the meaning can be very arbitrarily defined, hence the confusion. I could, for example, claim that GUIs are more uniform because all chat apps, browsers etc… are so similar to each other that once I’ve learned one I can use all.

          Which is why It’d probably be better if you tried to reword your initial question avoiding that term, focussing more on describing the desired benefits of your definition of uniformity.

          Otherwise I’d point towards voice recognition, as that’s very similar to a CLI, but probably not what you had in mind, I’m guessing?