LEMMY ALLOWS ME TO HAVE A SCREENNAME THAT WOULD HAVE BEEN TAKEN 15 YEARS AGO, ON REDDIT. I AM CHILLDUDE69 AND I AM FREAKIN’ HAPPY ABOUT IT!

Yes, I’m screaming all that. Capslock is still cruise control for cool, y’all.

Peace.

  • 5 Posts
  • 61 Comments
Joined 10 months ago
cake
Cake day: December 5th, 2023

help-circle
  • I mentioned VisiCalc to a couple of people, in this discussion, and I think it REALLY needs to be remembered more often, and more clearly.

    I keep seeing a lot of people replying to various parts of this discussion, with varying degrees of this opinion:

    “Anything you can do with a GUI can be done without a GUI. You basically just THINK you need a GUI, because you’re a lazy non-software person. You just need to get used to using CLI, and when you do, you’ll thank me, because you’ll be able to do even more powerful things than you ever could, with your GUI crutch.”

    Well, spreadsheets blow that entire argument out of the water, instantly.

    The whole thing about spreadsheets is the fact that they are a GUI. The original VisiCalc spreadsheet application BARELY had a GUI. It was all text characters. It was barely running in realtime. But it was a realtime GUI, and that was the entire reason that it was useful.

    Note that you could make a command-line-only spreadsheet program. As in, an entirely hidden spreadsheet, where you use commands to define the fields, enter the data, and then use other commands to do operations and query for the results. But that’s entirely destroying the whole point of the spreadsheet, as a tool. With VisiCalc (and all modern spreadsheet programs), you can see all the fields at once, change them in any order, and watch as any other relevant fields are affected by the different numbers.

    As many people have said about the spreadsheet revolution, it allowed people to “play around with the numbers.” For most users, that was what elevated the microcomputer from a mere calculator to a game-changing, paradigm-shifting, universally necessary tool, for anyone who did any kind of business.

    Before VisiCalc, you might as well just use a digital calculator, to help you with your business stuff. Just using command-line programs to do calculations wasn’t really any faster than a desktop calculator. And those desktop calculators usually had hard-copy printers built into them, so that you wouldn’t ever have to re-list the queries you’d made, to refresh your memory.

    But, again, the realtime GUI spreadsheet blasted all that apart, and gave users life-altering tools. It wasn’t just a matter of “oh, look. We dumbed down the interface, so that stupid Bob the Business Major can finally use software.” It was a real step beyond what command-line tools can do.

    Now, think about my example of a molecular simulation program for melting, cooling, and tempering ceramics. Isn’t that process even more complex than doing sum and division operations on some dollar values, rounded to two digits after the zero? Doesn’t it logically follow that you’d want a GUI for a molecular simulation tool, so that you could PLAY AROUND WITH THE NUMBERS, in the same way that you would, with your business expense sheets?

    That’s the whole point of the software doing simulations, right? On the one level, it’s simply easier to poke around at finite-state machines that model known physical and chemical properties than it is to do a bunch of experiments in a real kiln. That’s the first stage of why simulation is good for progress. But it really does go beyond that. I would argue that a GUI in a simulation lets you see things from angles that you would never have thought of, before you started tinkering.

    If you have to think about how you’re going to query the system, on a command line, then read out the data afterward, you’re going to run up against the limitations of the human imagination. Some users will think of every query they ought to make, without any prompting, and with less trial and error. Others will never think of certain aspects of the simulation, unless and until they can SEE the parameters laid out in front of them, in a graphical, preferably realtime fashion.

    Obviously, not everything can be realtime. But graphical interfaces always allow better viewing of simultaneous and parallel functions.

    It’s not just a matter of “we’ll throw some of these non-techie users a bone, and make this stuff easier for their lazy asses.” There ARE fundamental advantages to a GUI, which truly to go beyond simple “user friendliness.” Succinctly, a GUI user is not the opposite of a power user.



  • especially if there is no reason for that size

    Yeah, but we’ve established that this would be a good reason. It’s a tradeoff of size and loading time, versus modern GUI development which is being described as cripplingly onerous.

    I absolutely care about the size of a program

    But why, actually? If your answer is “I have filled my hard drive with huge games and movies,” that’s also fine. That’s a good answer. But we’re making the assumption that the large-install-footprint app in question is a useful one.

    Only install the stuff you find useful or fun. That’s my philosophy, and I don’t think it’s half bad. I’m never going to say “I find this application to be woefully lacking in utility, but it makes up for that by being really tiny.”

    That’s pretty much just going back to my original post. If I am going to be using a piece of software for productivity, I will be fine with a substantial installation and a moderate loading time. Conversely, if it’s so non-useful that I’m not even using it, why would I care about how big it’s not?

    For an actual example, look at Adobe Premiere. It’s got an 8 gig install size and takes about 15 seconds to load into memory. For people who think in backend terms, I realize that’s, like, upsetting. But, again, I’m a user. I installed the application once, literally years ago, and it auto-updates. I run it once or twice a day, and leave it open for hours.

    No user is ever really spending any time fantasizing about “oooh, but what if that executable could be smaller.” As long as I can scrub through the video without it lagging, it’s all good. It’s just a matter of different priorities.



  • That’s a hard argument to rebut. The only thing I can really refer to is VisiCalc. The OG spreadsheet program. The original “killer app.”

    The whole thing about a spreadsheet is that it’s a realtime pseudo-GUI. It’s not a command-line-interface thing, and that’s VITAL TO ITS FUNCTION, AT THE END-USER LEVEL.

    Of course, the computer can do any of the spreadsheet calculations by means of querying a CLI. But the thing about a spreadsheet is that you just change one element on the screen, and all the other elements auto-update, in response to the altered field.

    That functionality was a major-ass deal for doing some summing and dividing, so you don’t fuck up your payroll and your expense reports. It increased productivity. It reduced clerical errors.

    But you’re over here, like “well, can’t you just use the command line to enter the new parameters for your molecular glass simulation?”

    My argument: isn’t that shit just a little more complex than a spreadsheet with some basic monetary figures on it? If a GUI is a game-changer for juggling a few dollar-figures in a monthly budget document, it’s EVEN MORE CRITICAL in any application where both the data and the calculations are more complicated.

    The GUI paradigm isn’t a frivolous luxury, which is only made for those of us who are just too lazy to get savvy with the CLI game. GUI has real and exclusive benefits. The more complex the data entry, the sillier it becomes to just say “you don’t really NEED that GUI, you just want it for convenience.”





  • Using a game engine for that would be major overkill and make the project way bigger then it has to be

    But what if that makes the difference between users being able to actually use the software, versus…just literally not using it?

    Keep in mind that I’m talking about end-user software, from the very start of the conversation. Not backend-only stuff, not tools that are only ever going to be used for batch process stuff. I’m talking about stuff like my example of a simulation program for glass and ceramic casting.

    Wouldn’t it make absolutely perfect sense to use a game engine for something like that? The user won’t give a fuck if it takes 2 gigs of disk space, and has a loading screen on startup. They are going to be spending real hours of time, using the application to generate actionable information.

    The Python solution that would be lighter, smaller, and more flexible isn’t any good if nobody actually implements it, right? And, from where I’m sitting, it seems like the version that uses Godot or Unity would be so much more actionable.


  • You can look at it as me yelling and being rude. And I was exaggerating, for effect. I realize things are harder than I made it out.

    On the other hand, the problem remains, even if nobody is yelling about it, and maybe that’s worse. If a project goes on, for literal years, as a supposedly released thing, but there’s never a GUI, then most users won’t use it.

    I will admit that I’m an asshole, in this situation. I almost certainly could really apply myself, and help to add GUIs to some of these apps that I’ve wanted to see GUIs in, over the years. But others absolutely cannot. They just aren’t built for coding, in any way, shape, or form.

    So they just won’t use the software in question, even if it is exactly what they need. When developers contribute to free software projects, the hope is that they will be used. I lament the fact that some projects just float around forever, never getting that use, because a GUI isn’t forthcoming.

    That just sucks. Even if everyone has a perfectly valid excuse for not fixing it. It still sucks.

    EDIT: Your edit is extremely appreciated.




  • You make good points. Also, people have informed me of just how much things have changed, since the Visual Basic days.

    One question, though: why are things so different in the game development space, versus productivity or specilized-use-case software?

    Game developers use game engines to develop graphical environments VERY QUICKLY. There are game jam contests that involve people creating graphical applications in literal hours. Also, every tutorial and course for game development involves drawing characters and interactable elements on the screen, in the second hour of study.

    Why can this not be done for non-game software? Are engines frowned upon, outside of the gamedev space? For that matter, why not use actual game engines, like Unity (or Godot, as a free alternative) to easily establish GUIs for non-game software, instead of reinventing the GUI wheel, from scratch?

    I realize these may be naïve questions, but I’m asking sincerely.


  • it’s about complying with all the new security and testing requirements to make a functional application

    Even if that’s technically not regression, it’s still a problem. Maybe it’s not a problem that has anyone you can blame, but it certainly needs solutions.

    For what it’s worth, rather than developers kicking the burden down the chain to the users and saying “GUIs are hard now,” and then users saying “okay, I guess,” we should all be yelling upward.

    I think I’m being perfectly reasonable to yell “hey, I actually do need GUIs for everything, ya know,” and then you’d be reasonable for yelling up at the operating system architects and development environment creators, like “hey, do whatever needs to be done, for us to manage these requirements more easily.”

    Some people will hiss and bare their teeth like a vampire at this suggestion, but I actually think maybe modern generative AI systems can really help with this crap.





  • I really appreciate this perspective. It really is a matter of software dying on the vine, because it’s truly not possible to use it for its actual purpose, if you have to be looking at a cheat-sheet of commands.

    As I explained to someone else in the thread, I don’t need the UI to be pretty. I just need it to be visual. And, just to stress the point, it’s not about feelings. It’s about me actually using the software to produce data or art or whatever complex output that I’m using it for. Actual use cases are not the same thing as the developer testing all the inputs in a command line, and going “well, it doesn’t really need a GUI, does it? I mean, I just proved that, when I tested all the commands.”

    I think that’s a big part of the disconnect. Sometimes, developers make software that they’re going to use themselves, but in many (most?) cases, they really aren’t going to be the users. The actual users are going to need their brain space for CREATING A THING with the software, and that means it’s really not okay to be clogging that brain space up, with the need to remember commands, and where they are in the text-based workflow of the software.

    I mean, going back to the first principles of the whole matter, that is WHY THE GRAPHICAL USER INTERFACE WAS CONCEIVED, wasn’t it? That’s the killer application of the whole concept. The user can be free to think about what they’re doing, and not how they’re doing it.


  • 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.