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?

    • matcha_addict@lemy.lolOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      2 months ago

      Termux is awesome, but it is not what I’m looking for. Using Termux lacks the ergonomics of using a terminal on desktop. The keyboard / typing experience is far worse.

      • glimse@lemmy.world
        link
        fedilink
        English
        arrow-up
        18
        ·
        2 months ago

        How would your ideal solution overcome not having a full-sized keyboard in your pocket?

        • matcha_addict@lemy.lolOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 months ago

          By not relying on typing speed. Maybe the interface could heavily leverage gestures for example, or auto complete, etc. There are many possibilities.

          But also this kind of is the core of my question 😄

          • CrayonRosary@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            2 months ago

            The last paragraph in your post should have been the only paragraph in your post. People aren’t getting as far as your last paragraph before they give up and make a comment about command lines on Android.

            You didn’t need to spend 4 paragraphs telling everyone things they already know. You should have gotten right to the point.

            • matcha_addict@lemy.lolOP
              link
              fedilink
              English
              arrow-up
              3
              ·
              2 months ago

              You’re right, thanks for pointing that out. It does seem that almost no one read to the end, and that’s on me.

  • WIPocket@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    ·
    2 months ago

    I really don’t think that the command line is a uniform interface. Every command has its own syntax, its own take on what its switches mean, its own take on regexes/globs and so on. Moving and editing files is something completely different: one is a simple command to move a file elsewhere, the other is a whole experience which replaces the command line with something that looks completely different and is controlled completely differently. What they do have in common is just the medium - the terminal.

    Many developers of command line tools try to at least keep a similar design language as the rest of the world, but it is far from perfect. A lot of these interfaces are like they are for mostly historical reasons without proper planning of the user interface, so imho even something like Material Design is already closer to being the “same interface” in the GUI world than the various command line interfaces are.

    we can’t simply reuse the command line

    We absolutely can and some of us do. I often manage my files, todo list, etc. in Termux. Its not always the best thing to do, but I like that I can keep a consistent interface no matter what device I am using. Its still the same terminal, just on a smaller screen with a worse keyboard.

    • Chocrates@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      I really don’t think that the command line is a uniform interface. Every command has its own syntax, its own take on what its switches mean, its own take on regexes/globs and so on.

      Powershell was kind of an answer to that. All commands are supposed to emit objects and take objects as input. For me though it is horribly unintuitive. Id love to see an open source attempt at it, but it would be hard since by necessity every dev works on their own tool, while Microsoft could enforce something because they own all the tools.

      • WIPocket@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 months ago

        Well, the fact they emit objects doesn’t really help that much with the user interface. This just means that the standard input and output of commands is (usually) more unified and parse-able. I really like the idea, and have seen multiple attempts at it including PowerShell, however none have reached the level of usability that the good old *NIX shells provide.

        Id love to see an open source attempt at it

        Here you go!

        • BearOfaTime@lemm.ee
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          2 months ago

          It seems the difference stems from *Nix treating everything like a file (or stream) from day 1, while windows was built from DEC Alpha, which had a completely different approach.

          (In the early 90’s a group of DEC Alpha engineers were laid off, and Microsoft hired them. Technet magazine had an article (written by Mark Minasi I think), showing how clearly NT reflects the structure of Alpha. They may have been working on NT before that, but the influence of DEC was pretty clear).

    • matcha_addict@lemy.lolOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Every command has its own syntax

      I don’t consider this a different interface. Where you draw the line is a personal choice, but I’d be happy with a smartphone equivalent where the differences are similar to command line tools having different syntax.

      editing files is something completely different

      I should have clarified, but by editing files, I don’t mean the vim-like full text editor experience. I mean things like appending text to a file with echo >>, or using sed, etc.

      A lot of these interfaces are like they are for mostly historical reasons

      Yes, legacy baggage exists. This only furthers my point, that things could be even better using the same principles, without legacy baggage.

      Termux

      I only use Termux out of necessity (app or functionality I can only access via a terminal). If an app with good ergonomics exists, I wouldn’t look at Termux. But I would still look at command line on desktop.

      • WIPocket@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 months ago

        I’d be happy with a smartphone equivalent where the differences are similar to command line tools having different syntax.

        My point was that I think we have that already. The medium is a touch screen, and apps have over time adapted to that the same way they have to the terminal. Here we scroll by swiping up and down, move between tabs by swiping to the side, etc. All held together by system-wide gesture navigation. And yea, every app does stuff differently, and so does every terminal one.

        This only furthers my point, that things could be even better using the same principles, without legacy baggage.

        I feel like this is exactly what Google was attempting to do with Material Design: a good, consistent interface / design language. It really was a fairly fresh start using what we learned from the smartphone apps that came before, with the design done intentionally. What do you think they missed?

        Another thing to keep in mind is that the terminal is built around text and files, while the GUI is not. You cant expect every problem to be cleanly / ergonomically solve-able inside an Android app, just like you cant expect a good Snapchat / Instagram client in your terminal. There are file manager apps, there are text editors, there are todo lists, but the terminal is just a better platform for some tasks while worse for others.

        • matcha_addict@lemy.lolOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 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.

  • Captain Janeway@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    Great examples are already in the thread, but generally speaking the answer should be “no”. Smart phones are just slow at typing. In the case of a smart phone, hitting a button is far faster than typing a command. Not to mention our devices aren’t really being used for file management, tooling, complex work, etc. So it doesn’t even make sense to have a command line unless you’re a huge unix fan or if you are doing something quite niche. And in that case, I recommend just connecting via adb.

    • matcha_addict@lemy.lolOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 months ago

      It may not have to be typing-centric. Maybe the answer is in interfaces that leverage gestures better and in a uniform way, or mixing it with a clever use of buttons.

      our devices aren’t really being used for file management, tooling, complex work

      Only because the experience of doing so is not pleasant like it is on desktop. People would use it for that otherwise.

      doesn’t even make sense to have a command line

      I don’t want to have a command line, and I emphasized that in my post. Only something that is similar in its ergonomic enhancement.

      • Captain Janeway@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        I see. Well without a command line, I wouldn’t call it a terminal. I think you just want tooling to be available on an Android? It would probably look like a button or series of buttons on an app. Maybe you could connect the dots between them to insinuate a pipe? E.g., you have a “mv” button and a “file” button. When you drag from mv -> file you could maybe kick off a process that moves the file. Maybe it would prompt you for other arguments like destination? I suppose this theoretical app could allow people to install additional tooling and make their own custom commands.

        But I just feel like a button UI for these kinds of things will always be awkward. If you don’t have a keyboard/terminal interface, it’s hard to implement anything that would even behave like terminals in terms of functionality.

    • BearOfaTime@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      While I agree with you, I do find myself doing a lot of file management via my phone, as much of a PITA as it is.

      I do perhaps 1/4 of my file management there. PC is just far easier.

      • matcha_addict@lemy.lolOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        Despite the smartphone touch interface being worse for these tasks, the convenience of having a phone always with you and within a couple seconds of reach is a big benefit. It would be really nice if the interface could be made easier

  • h3ndrik@feddit.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 months ago

    SXMO?

    I think closest to your idea is speech recognition and an AI assistant. You can give it commands that way.

    I don’t think there’s much that includes fat fingers and touchscreens and is possible without a graphical UI.

    You could buy an old Nokia from the 90s with lots of text menus. That won’t speed things up but it’s certainly less icons, more text and as a bonus you can feel the physical buttons without looking at the phone.

    Or a Blackberry with a qwerty-keabord on it. Or use convergence and attach a proper keyboard via USB and install Termux.

    Theoretically you could have it project a “holographic” keyboard onto the desk in front of you. Or use VR glasses.

    Or hold it sideways and type with 8 fingers simultaneously alike on a stenotype keyboard.

    That’d be ways to improve on the keyboard / input method and allow you to use the CLI in it’s current form. I mean the CLI itself is already available. It’s just cumbersome to use it. I’d say a speech assistant is more it, if you want an entirely different concept and not just a better keyboard and/or larger screen.

  • theRealBassist@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 months ago

    My confusion with this post is that it already exists? It’s just your home screen on your phone.

    Ergonomic, supports a variety of functions (adjusting settings, running applications, customization, viewing device info), is loosely standardized (much like terminals across OSs), and widely adopted.

    The only difference is touch interface vs. Text interface.

    Like what are you actually looking for? A gesture controlled terminal or an interface? You already have the latter.