You see this shit SO much more often than you would think. And the infuriating thing is, it seems to be most common among programs that are INCREDIBLY complex and sophisticated.

It’ll be like this:

“What does my program do? Glad you asked. It simulates stress patterns in glass and ceramics, after they come out of a kiln. You can specify any melting temperature, adjust the composition of elements in the glass, and the ambient temperature of the cooling and tempering stages.”

“Wow, can you show me how it works?”

“Sure! <opens a command line and starts typing commands>”

“O-oh. Do you have any plans to add a graphical user interface?”

“HAHAHAHAHHA, no. That’s never happening. And here I thought you were serious about using advanced software, and being an intelligent person.”

Obviously, that last part is just kinda implied. But sometimes, when users request a GUI, the goddamn developer will kinda get in their face, like that.

They always fall back on the position of “well, I developed this shit for free, for your ungrateful ass. So you can build your own fucking GUI.”

But the thing about that is…no. And fuck you. I shouldn’t have to be two-thirds of a fucking developer, in order to use the fucking software.

If you can figure out how to simulate molecules, or draw 3D stereograms, or translate hieroglyphics, or any other RIDICULOUSLY COMPLICATED SHIT, making a graphical user interface should be nothing to you. You should be able to do it in a fucking afternoon.

IT DEFINITELY SHOULD BE THE EASY PART, FOR YOU.

All the rest of us, who aren’t programmers? We envy programmers, and their ability to really connect with computers, on that deep logic level.

If we could do that shit, we would. But a lot of us have tried, and we realize it’s not a good use of our time. We can do cool stuff with software, but it’s just not ever going to be worthwhile for us to struggle through the act of creating software.

Also, I hasten to add that I have put in my time, using command line interfaces. I used DOS, I used BBS systems, I have used modern command-line-only programs. I know how to do it, but I DON’T WANT TO.

I don’t want to have to memorize commands. I don’t consider a GUI workflow to be some kind of weird luxury. It has been a basic part of modern software, for around 40 years at this point. Literally get with the program, guys.

If you’re serious about making software, get your shit together and implement a fucking GUI from the very first release. Nobody ought to be taking you seriously, if you refuse.

  • MicrowavedTea@infosec.pub
    link
    fedilink
    arrow-up
    4
    ·
    9 months ago

    True a UI doesn’t have to be pretty but it has to be usable/provide a good experience. To me at least a bad GUI is much worse than a terminal interface. Which is also a UI, just not graphical. I don’t write desktop apps with GUIs so I’m not sure how complex it is but it probably depends a lot on the language. If the initial project is using C for example I’d expect adding a GUI to be more of a pain than if it was written in Visual Basic.

    • Worx@lemmynsfw.com
      link
      fedilink
      arrow-up
      9
      ·
      9 months ago

      As a developer, it’s not the coding of the GUI that’s a problem. Making a text box or a button or lining two items up does only take a minute. The issues are (in order of complexity for me):

      1. Making it look nice. I’m just not very artistic in this way
      2. Sanitising all inputs (no letters in a number text box for example)
      3. Error checking and handling
      4. Creating a good intuitive flow and making sure that everything is explained nicely on screen. Better yet, make it so intuitive that no explanation is needed and make a separate help file in case someone gets stuck
      5. Idiot-proofing. Just have to think of every single thing someone could do wrong with the UI and what damage this would do to the program / database. I had one customer who spam-clicked apparently at random and kept deleting items from the database and somehow this was my problem to solve. I added an artificial delay to dialog boxes opening so that they wouldn’t click the new buttons that appeared in the dialog before having a chance to read it…

      Honestly, designing a good GUI is the hardest part for me.