Not everything actually requires a GUI, obviously. But anything that requires configuration, especially for controlling a hardware device, should have a fully functional GUI. I know Linux is all about being in control, and users should not be afraid to use the command line, but if you have to learn another bespoke command syntax and the location and structure of the related configuration files just to get something basic to work then the developer has frankly half arsed it. Developers need to provide GUI’s so that their software can be used by as many people as possible. GUI’s use a common language that everyone understands (is something on or off, what numeric values are allowed, what do the options mean).

Every 12 to 18 months I make an effort to switch to Linux. Right now I’m using Archlinux, and it has been a successful trip so far, except my audio is screwed, I can’t use my capture card at all, I had issues with my dual displays at the start, and the is no easy way to configure my AMD graphics card for over clocking or well anything basic at all.

I’m not looking for a windows clone, I love that I can choose different desktop environments and theme many of them to death. I even like the fact there are so many distros. Choice is a big part of linux, but there is clearly a desire to get more people moving away from Windows and until that path is 95% seamless most people just won’t. Right now I think Linux is 75% to 85% seamless depending on the use case and distro but adding more GUI front ends would, imho, push that well into the 90% zone.

GUI is not a dirty word, it is what makes using a new OS possible for more people.

EDIT: Good conversation all. This is genuinely not intended to be a troll post, I just feel it is good to share experiences especially on the frustations that arise from move between OSes.

  • lckdscl [they/them]
    link
    fedilink
    English
    811 months ago

    “Be the change you want to see in the world.”

    But anything that requires configuration…should have a fully functional GUI.

    Does this apply to ones with only 4 or 5 options to configure, where’s the cutoff? Configuration files set the default flags and arguments, and a lot of command line tools that are configurable are small and simple enough that making a GUI just to configure it is not worth the hassle, the increased complexity and codebase size. The idea is that if the software is one or a few executable binar(ies) with enough flexibility, then contributors who’s proficient with GUI toolkits can write the GUI wrapper (as a separate package), otherwise it’s actually just a waste of time for the main dev(s). If that sounds reasonable, then you could write it yourself, pay someone to do it, or wait for someone to volunteer their time.

    To address the problem itself. Maybe you should explain what problems you have with editing the configuration files yourself? I know the cons are: (1) having to know or be able to read toml, yaml, json, ini, or some kind of config syntax (but I think they are designed to be generally quite easy to understand), (2) it takes a bit longer to find and open if you’re not used to it, (3) everything is a file so it’s linear, making it harder to see where things are, so longer configs are a PITA. Good tools I think benefit from a GUI or TUI is TLP, archive managers, calculators, volume controllers, font manager or viewer (kinda obvious), why would you want a GUI to configure, e.g., bat, pacman, i3, dunst, all the xorg stuff like xresources, xmodmap??

    In return, the pros are: (1) if there are no external docs, the docs can stay inside the default or sample configuration in the form of comments, whereas for GUI you can’t possible include this information for every single toggle, (2) it’s harder to version control because of increased abstraction, (3) it’s not possible to translate every configuration field to a GUI if it’s beyond just a toggle, you would still have to type things in.

    I think having an extra GUI wrapper is a matter of complex balance, and made into reality by contributors and volunteers (or eventually, the devs themselves). To say everything should have a FULLY functional GUI if you have to configure it is a bit of an exaggeration and overreach.

    • mubOP
      link
      fedilink
      311 months ago

      I agree there are times a GUI is just not needed, like for one off configurations that are straight forward and never touched again. I’m not a professional developer but I do write some code, and often the bit that does the work is a few lines and the inferface is a many more lines, just error correction / prevention adds more lines of code.

      I have spent the last few days tackling an audio issue that is looking more like it will need me to start building my own kernel. I always do my own investigations and it is that process, the many years of taking the “lets try linux” trip, to realise the basics are what make the OS accessible. Things are so much better now than even 2 years ago, but Linux (all distros) is still missing some basics. Rather than relying on 3rd parties to make GUI’s the original developers should take the responsibility to provide a solid user interface.

      • TheEntity
        link
        fedilink
        611 months ago

        Rather than relying on 3rd parties to make GUI’s the original developers should take the responsibility to provide a solid user interface.

        The original developers are volunteers that made a tool they needed and shared it with the others of their own volition. They may or they may not make the effort to add anything extra on top of it. Demanding it from them is just unreasonable. If you don’t like their gift to the community, you can provide your own, with blackjack and GUIs.

      • pjhenry1216
        link
        fedilink
        211 months ago

        Frontend and backend are different kinds of development. It’s like me expecting you to write a whole lot of unrelated code just because you want something else. Just because you don’t understand software architecture doesnt mean you can make wild claims with no basis in reality.

        Simple one off configs are the easy ones to create GUIs for. The complex ones are a nightmare. That’s when you get very bad UX. Creating a good UX is a lot different for GUI and there are entire companies dedicated to only writing those and here you are claiming small time developers are under an obligation to give you what you want.

        GUI seems easier to you because you learned it first. That does not mean it’s better.