• @Dmian
    link
    -13
    edit-2
    9 months ago

    deleted by creator

    • andrew
      link
      fedilink
      English
      161 year ago

      That’s just not true. Not without lots of hand waving.

      In my terminal I can, and pretty much hourly do, combine many programs in chains of input and output to perform specific tasks and get information I need. And that’s how these programs are designed to be used. The programmer builds it to do specific things and then the user can combine the program with others in novel and nearly endless ways.

      With a GUI, sometimes that’s possible between two programs if you can copy/paste between them but it’s much less reusable and a lot more tedious. But usually it’s just not possible because they’re designed for specific user personas and not as general purpose tools that may be part of a script.

      • @Dmian
        link
        -6
        edit-2
        9 months ago

        deleted by creator

        • andrew
          link
          fedilink
          English
          61 year ago

          Generally I would agree that anything can be made with a GUI with enough investment. But the point where diminishing returns don’t give enough return on GUI investment are reached much sooner than a scriptable shell environment where a power user can extend it in ways that would only make sense for that power user or a very small number of users.

          • @Dmian
            link
            -2
            edit-2
            9 months ago

            deleted by creator

    • @SuddenlyBlowGreen
      link
      12
      edit-2
      1 year ago

      How would you implement piping in GUI?

      Could you show us an example program with a GUI you created for this?

      • andrew
        link
        fedilink
        English
        71 year ago

        To play the opposite team a bit here, I like the idea Android uses of Intents for something like this. I think it falls apart a bit in reality because app companies kinda want you in their garden and so don’t often do the work to keep things interoperable. That and the use cases from users on phones don’t frequently involve cross app functionality. But the ability is powerful for apps to say “my app needs a user photo” or one of my faves “my app needs a pgp provider (for the password store app)” and then let the other app do that piece of functionality as determined by the OS, which tracks a lot of those providers and lets the user decide which to use.

      • @Dmian
        link
        3
        edit-2
        9 months ago

        deleted by creator

        • Avid Amoeba
          link
          fedilink
          71 year ago

          Yeah, and doing this would take significantly longer to use every time than typing up a chain of commands in a terminal.

          • @Dmian
            link
            -1
            edit-2
            9 months ago

            deleted by creator

            • @[email protected]
              link
              fedilink
              41 year ago

              Linux users: Non tech savvy people? Yuck

              Also Linux users: Everyone should be running Linux instead of Windows!

              • @grue
                link
                English
                71 year ago

                Put those two statements together and the logical conclusion is that Linux users simply want everybody to be tech-savvy (although I’d use a different term: computer-literate). What’s wrong with that?

                • @[email protected]
                  link
                  fedilink
                  11 year ago

                  Not everyone has the same interests. All car people would love everyone to be car people. All bikers would like everyone to ride bikes. The difference is that you pretty much need to be interested in computers to run Linux.

                  • @grue
                    link
                    English
                    11 year ago

                    It’s not about having the same interests; it’s about the fact that the single distinguishing factor between a computer and any other mere machine is its ability to be programmed, and you therefore don’t really know how to use a computer unless you can create novel workflows to solve your own novel problems. If you can’t script, you aren’t literate in the 21st century.

                    All car people would love everyone to be car people. All bikers would like everyone to ride bikes.

                    It’s funny you should use those particular examples, (and not just because they also happen to be things I’m particularly passionate about).

                    In particular:

                    1. If you live somewhere that’s built wrong (i.e. is car-dependent) and you can’t drive, you’re homebound. It’s not about being a “car person;” it’s about the skill being necessary to function.

                    2. Conversely, places that aren’t built wrong are precisely those that facilitate cycling as a matter of design and policy. It’s not about what “bikers would like;” it’s about what empirically works best for a functioning city.

            • @grue
              link
              English
              21 year ago

              Nobody capable of defining an algorithm in a visual flowchart like that isn’t also capable of doing it in a CLI (or at least, in text in general – writing a script). It’s thinking through what you want to happen that’s the hard part; expressing it in the UI is trivial in comparison.

              • @Dmian
                link
                -2
                edit-2
                9 months ago

                deleted by creator

                • @[email protected]
                  link
                  fedilink
                  11 year ago

                  I’ve probably spent more time looking up how to access specific functions in a GUI than for CLI.

        • @SuddenlyBlowGreen
          link
          11 year ago

          Wow, you created this program for creating shaders visually? That’s impressive! You mind sharing the source code?

          • @Buddahriffic
            link
            21 year ago

            Things like that have been around for a long time. It was like two decades ago that I saw this shader scheme in softimage|xsi.

            For implementing something like that, each node in that graph would have an array of inputs and outputs. Each of those would have a type like vector, scalar, colour, string. Then you only allow connections if the inputs and outputs match types (though you can also have conversion nodes or selectors that say pick the red channel of a colour to turn it into a scalar). Each input can be set to a constant value instead of connecting something else to it. Outputs don’t need to be connected, which is mostly useful if a node has multiple outputs. Then each node has an evaluation function that takes all input parameters and maybe internal configuration parameters (though you might as well make everything an input param since there’s no real functional difference) and uses them to calculate the outputs, which it then sends on to anything connected to those.

            I’m not much of a UI guy but displaying it for the GUI would just involve drawing boxes or some shape for the node, then spaces for each of the inputs on the left side and outputs on the right side maybe colour code them by type, and lines running along the connections. Then just add the name and/or other visual information you want to display and positional information to let users move it around their work area.

      • @Limeey
        link
        English
        31 year ago

        This right here, you can gui a single program, but with pipes we can chain nearly infinite programs. No way can you make a gui that is that flexible, I refuse to believe until I see it

    • kpw
      link
      fedilink
      111 year ago

      They tried to replace programming languages with drag-and-drop toolkits too. It can be done, but sometimes there’s a reason we don’t do it.

      • @Dmian
        link
        -3
        edit-2
        9 months ago

        deleted by creator

        • Captain Aggravated
          link
          fedilink
          31 year ago

          I would assert that basically every shell I’m aware of is also a programming/scripting langauge, able to handle things like loops and branches. This is possible to do in a GUI but it’s kind of telling no one has achieved this in a desktop environment to any significant degree, including in the Linux space.

          “Iterate over all of the files in this folder, if it’s a video file of any format, create a folder with the same name as the video file in ~/Videos and move the file there.” I’m unaware of an OS desktop environment that can do even that level of automation with default GUI tools. It’s like 5 lines of Bash including “done;” at the end. You can probably do it in PowerShell, but I bet Windows power users would rather use AutoHotKey for this.

          • @Dmian
            link
            English
            -2
            edit-2
            9 months ago

            deleted by creator

            • @[email protected]
              link
              fedilink
              4
              edit-2
              1 year ago

              It wouldn’t make sense to add clutter to a GUI that benefits a tiny fraction of users a tiny fraction of the time while making the experience worse for everyone else.

            • Captain Aggravated
              link
              fedilink
              11 year ago

              I can imagine making a GUI that does it. But most aren’t able to. “That could include a check option of…” yeah it doesn’t though, is my point. GUIs are for doing things manually.

    • @[email protected]
      link
      fedilink
      61 year ago

      Most programmers are bad at UX but not nearly as bad as GUI designers are at understanding abstraction.

      • @rambaroo
        link
        01 year ago

        Most programmers are bad at both lol.

      • @Dmian
        link
        -7
        edit-2
        9 months ago

        deleted by creator

    • @radiosimian
      link
      111 months ago

      You can have your GUI do anything a terminal can I guess, but you’d need a few million buttons on that gui where the programmer has anticipated each and every combination of CLI command that you are going to use, encoded that to a button or menu, included text entry boxes for each variable and have bundled every program, application and dependency that has ever existed. Totally possible.