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.
People who do things they like for free are called “hobbyists”. These hobbyists, unsurprisingly, only do what they want to do. And sometimes they don’t want to make a GUI.
The fact that they share the results of their hobby for free at all is just a bonus.
I honestly do get that. And I realize I am overstating my case, in a way that basically makes me an asshole.
I think the problem is often rooted in how projects advertise themselves. The small dev team is like “WE’RE PASSIONATE ABOUT GETTING ________ INTO THE HANDS OF USERS, BECAUSE WE KNOW THE ONLY OTHER SOFTWARE THAT DOES _______ IS A 27-YEAR-OLD APP THAT ONLY WORKS ON A SPECIFIC REVISION OF WINDOWS 95.”
But then the damned app is command-line only, and it just feels like it was all a tease.
Idk man. Neofetch is pretty good and that doesn’t use a GUI.
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.
In a word, no. Being able to build an engine doesn’t mean you know the first thing about how to design a car. It’s a totally different skill set.
I work with PhDs who code all sort of amazing physics engines and then I design the GUI apps around them. That’s a full-time job right there (I’m living proof of it), and I wouldn’t expect them to understand it any more than they would expect me to understand all the physics.
When you write some sort of procedural tool, you are in complete control of the program flow from start to finish. In a GUI app, the user is in control most of the time. That’s awesome if you’re the user, but it means a lot more what-if scenarios you have to account for, since users are notoriously unpredictable. And if the task your command line was performing takes an appreciable length of time, you need to spawn it off into separate threads or subprocesses and worry about all the synchronization logic you must get right. This is a programming minefield for anyone who has done it, especially when you need said threads to interact with the GUI, as GUI frameworks are notoriously not thread-safe.
Anyway, what I’m trying to say is designing and implementing GUIs is non-trivial, unless maybe you just want something like an installer wizard that runs you through 10 dialogs to gather info for a command line and then runs it.
Yeah GUI development isn’t easy or straightforward. Thats why there are UI/UX engineers whose sole job is to design and create simple and easy to use interfaces. And they get paid big money to do it too.
If those programmers making ultra specialized software were to waste their time making a GUI, they would never finish the project or would require funding of some sort.
Those ultra-specialists are paid to make GOOD GUIs, for software that is going to cost real money.
I just want a fucking window with fucking buttons on it, so that I don’t need to refer to a cheat sheet of fucking text commands. I don’t care how ugly the UI is.
That makes a HUGE difference, and you know it. There have been libraries, development environments, fully featured frameworks, and templates for basic GUI structures, for almost as long as there have been GUIs.
I mean, for fuck’s sake, does anyone remember Visual Basic? I even developed some shitty software in that language, back in the day.
And, more to the point, there are a bunch of solo developers who do make graphical applications. If this conversation has to come down to me saying “well, this is a skill issue. If you want users, you’re gonna have to step up your game and learn to play like the big boys do,” then so be it. That’s my position, then.
Even if I’m getting the software for free, GUI development being oh-so-difficult is not my problem. If you want to develop software, get your shit together and accept that GUI is kinda here to stay, as a concept.
I mean, not for nothing, but phone apps are all GUI based. There are outreach programs that have volunteers teaching random hobos and 11-year-olds to make phone apps. If they can do it, grown-ass nerds can do it. Fucking facts.
This software is not for you. It’s for the author. It’s in furtherance of their research, or their career, or their interests. It is only incidentally available to you.
That’s it, that’s the whole story. You get a GUI if the authors wanted there to be a GUI.
If you join a community around the product - which would require being nice, willing to engage, understand, not make demands - you might be able to give feedback and occasionally help steer the direction of the product.
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.
This took it from being “unpopular opinion” to “I’m just a fucking asshole and my opinion doesn’t matter.”
Or in other words, fuck you, you ungrateful cunt.
The dev making the ceramic stress testing whatchamawhatsit probably has zero skills in making a GUI. The next thing you’d be complaining about is that there’s some bug in the GUI, because you’re a complete moron and keep doing something stupid. Something the dev didn’t ever think someone would do, because they’re not a moron, and don’t think like one.
They’re making the tool because they have a passion for whatever it is they have a passion for. Not because theyre trying to appease your moronic simple mind.
If you’re so passionate about GUIs, learn to make a fucking GUI for a command line tool. You fucking tool.
I know. Its like these foundation guys. Learn to build the whole fucking house if your serious about being in construction!!!
counterpoint: making guis is way more of a pain in the ass than you are giving it credit for, and there are plenty of use cases for software that don’t need a gui.
making guis is way more of a pain in the ass than you are giving it credit for
So I’m being told.
there are plenty of use cases for software that don’t need a gui
Maybe so. But forgive me if I’m skeptical, whenever that list of use cases is being drawn up by the people trying to weasel out of developing any GUIs.
I think you have to admit that’s a fair point.
GUIs are way more complicated than you imagine, and require a completely different set of skills than developing the sort of program you mentioned.
If you want a nice, easy to use and well supported software, then pay for it and hold whoever you’re paying accountable for making it user-friendly. If whatever you are using is free open source software, then that’s literally !choosingbeggarsIf you really think it’s something that can be built in an afternoon, feel free to commission a freelancer to make the GUI for you or see if the repository owner is accepting any sort of bounties/commissions. How expensive could an afternoon’s worth of work be?