• TalkBass has been independent since 1998. Add your voice.
    Create a free account to reply to discussions, view embedded media, and browse with fewer display ads.
    Join freeLog in
    Want zero display ads or expanded classifieds tools? Compare plans.

Computers suck.

Upgrades are at times done due to user demand, surveys, and feature requests.....
Yeah, "at times". Most of the time it's glaringly obvious the marketeering department has said "It's been sixteen months since our last upgrade, we need to change a bunch of stuff so it looks like we're making advances and improvements."

I've been wrestling with consumer grade computer software since the early 1980s, and the marketeering and promotion of it has been an increasingly deep and smelly cesspool the whole time.
 
Upgrades are at times done due to user demand, surveys, and feature requests. If there was demand or requests to change the violin or flute UI, it would have happened. People like them the way they are, so no changes.
Almost every time Microsoft updates Teams I find a new feature or UI adjustment that I am not fond of. Shortly after, one of my co-workers will be telling me how much they like the new Teams design, at that moment I remember it's a give and take.
However, take for example the computer mouse. You can still buy a mouse that looks and functions almost exactly the same as the mouse you used on Windows 95. It works the way it was designed from day one and so you can still buy one, and then there are all kinds of other options for those who want something else.

-Mike
What is 'consumer grade computer software'?
Is there software not for consumers that is better?

-Mike

This brings up the main difference between consumer-grade software and the stuff I deal with. Consumer-grade is stuff like web browsers and general utility applications such as Office, games or simple graphics tools, alongside non-real-time operating systems such as Windows 'home' editions that don't have more advanced features like user-level account permissions or corporate device management or group policy.
Pretty much everything I am involved with is bespoke; we work very closely with the specialist end-user groups which are probably fewer than a few hundred strong; the product life cycle is measured in decades, not months; life and equipment could be lost if the software fails or makes mistakes; the software is typically centrally managed and rarely user-modified; changes are always preceded by significant version-specific training for users and maintainers and new software is released under tightly controlled conditions. For the most part, the designs are deterministic in nature, and run in protected environments with high levels of redundancy and resilience.
 
What is 'consumer grade computer software'?
Is there software not for consumers that is better?

-Mike
Yes.

Consider, for example, ANSYS, the world standard in finite element analysis software. Bulletproof, stable UI, and surprisingly intuitive once you understand the underlying concepts of "project" and "workflow".

GRABCAD the 3d printing software is relatively intuitive and the UI is clear and understandable.

Solidworks is a bit buggy but the UI is easy to understand and fairly stable. It's also clearly designed to support the way actual mechanical designers design actual parts.

Going back a few years (decades!) FORTRAN; COBOL, PASCAL, BASIC. Not exactly software in the way we think of it now.

Or, MS-DOS, where you used words as commands, not little symbols, the context was straightforward, and the underlying grammar was English: subject, verb, object, rather than Windows grammar which is Object, then Verb.
 
I hear you, man!

Please don't get me started on the modern approaches to software development. My professional life revolves around safety-critical and high integity software, mainly airborne but also marine. Airborne safety-critical software is very highly regulated, marine less so. Many of the young graduate developers we see just want to 'be Agile', become a Scrum Master' (whatever the f**k that is*), use JIRA and configure third-party components.
JIRA is fine as long as you are using it correctly. Although I do find it... frustrating at times. It doesn't want you to have many levels of hierarchy without third party tools. I did 'customise' it but it broke too much. Love hate for sure,
They come from university with no concept of high integrity development, of 'safe' or deterministic design and behaviour, of formal change control,
We worked with the safety critical design department when I did software development at a university. They knew what they were doing. They were doing mostly design for airborne too, formal design and verification, etc., and items as the rest of your paragraph.
inconsistent or non-compliant GUI design
I just got a new phone which is just one model up from the last one but I am damned if I can configure the GUI to be the same and you can slip and accidentally delete the universe... Grrr.
coupled with the insidious deployment of AI
I was an 'AI' (it was machine learning in my day) developer...
 
  • Like
Reactions: SteveCS
Yeah, "at times". Most of the time it's glaringly obvious the marketeering department has said "It's been sixteen months since our last upgrade, we need to change a bunch of stuff so it looks like we're making advances and improvements."
There are many people in science and engineering who have their workflow sorted out and changing it can affect productivity and indeed, compliance. Trying to reverify results on a new version can be very hard work. Sure, if it has useful new features but they haven't renamed all the command-line options and it does some stuff in half the time and the results are the same...
 
There are many people in science and engineering who have their workflow sorted out and changing it can affect productivity and indeed, compliance. Trying to reverify results on a new version can be very hard work. Sure, if it has useful new features but they haven't renamed all the command-line options and it does some stuff in half the time and the results are the same...
(I realise I am preaching to the converted here)
 
This brings up the main difference between consumer-grade software and the stuff I deal with. Consumer-grade is stuff like web browsers and general utility applications such as Office, games or simple graphics tools, alongside non-real-time operating systems such as Windows 'home' editions that don't have more advanced features like user-level account permissions or corporate device management or group policy.
Pretty much everything I am involved with is bespoke; we work very closely with the specialist end-user groups which are probably fewer than a few hundred strong; the product life cycle is measured in decades, not months; life and equipment could be lost if the software fails or makes mistakes; the software is typically centrally managed and rarely user-modified; changes are always preceded by significant version-specific training for users and maintainers and new software is released under tightly controlled conditions. For the most part, the designs are deterministic in nature, and run in protected environments with high levels of redundancy and resilience.
Sometimes people say "but it's expensive" but the wrong answers are also expensive... More expensive, even deadly.
 
  • Like
Reactions: Dabndug and SteveCS
Going back a few years (decades!) FORTRAN; COBOL, PASCAL, BASIC. Not exactly software in the way we think of it now.
I have never touched COBOL. But my first three high-level languages were BASIC, FORTRAN, Pascal in that order. Except at some point there was a brief daliance with Modula-2 but I can't remember if that was before or after Pascal. There have been a few more since then... FORTRAN is somewhat nicer to use than it was, although that's possibly a low bar :). It's like being poked in the stomach with a stick is better than being poked in the eye with one :).
 
I have never touched COBOL. But my first three high-level languages were BASIC, FORTRAN, Pascal in that order. Except at some point there was a brief daliance with Modula-2 but I can't remember if that was before or after Pascal. There have been a few more since then... FORTRAN is somewhat nicer to use than it was, although that's possibly a low bar :). It's like being poked in the stomach with a stick is better than being poked in the eye with one :).
Bur FORTRAN is stable. It's line by line, the commands and the context of them are all the same. I grant you, that in the modern world of programs built upon programs built upon programs built upon programs and no one shall know how it all works, soemthing like FORTRAN is stone-axe simple.
 
Bur FORTRAN is stable. It's line by line, the commands and the context of them are all the same. I grant you, that in the modern world of programs built upon programs built upon programs built upon programs and no one shall know how it all works, soemthing like FORTRAN is stone-axe simple.
It's gained object orientation of a sort and nicer syntactical options of the years, though, and you aren't restricted to 72 columns now. You could write it like F77, I guess... Less feature churn than C++ and more backward compatibility than Rust, for sure.
 
Most of it isn't the computer, it’s poorly written software.

As a retired EE who worked for both Intel and AMD as well as a few networking companies, I’m appalled at how bad a lot of software is. I had to write lots of code myself over the years and I have no patience for this at all.
In my first programming course (C on unix) I learned how careful one needs to be with pointers and things like memory leaks.
Later when I began using windows, I first saw the blue screen of death. I think I know what happened. I thought, didn't these guys
take programming 101?
 
Well, for sure it's the software that's the problem. But since the computer is essentially worthless without the software, the two are an inseparable assembly in practice.

My theory is that there is only a fairly constant fraction of people who are cut out by nature to design things. Attention to detail, ability to foresee unplanned consequences, ability to focus on the actual requirements for a product, patience with the inevitable test-fail-fix-retest cycle, and many other personal characteristics are typical of people who are good at designing things. Whether the "things" be cross-country power transmission lines, automobile transmissions, jet airliners, or computer software, the basic principles of how to design things, and the requirements of their designers are similar.

Now if we go back to 1950, there were all kinds of things that had to be designed - printing presses, locomotives, highway bridges, bicycle tires, etc. My theory is that in those days, pretty much everyone who was capable to design things, was employed, designing things.

Once the 1970s and 1980s hit, a whole new category of things that needed to be designed opened up: computer software. Of course software comes in several flavors - consumer-grade, professional use, and embedded software for critical systems, with high reliability required. BUT THE NUMBER OF GOOD DESIGNERS IN THE POPULATION DID NOT MAGICALLY INCREASE. So today, with far more "things" requiring designing (the locomotives, highway bridges, airliners, medical devices, etc., are still out there needing to be designed), a large number of people who just AREN'T VERY GOOD AT DESIGNING THINGS are now designing things.

Well, a design fault in an airliner, or a highway bridge, or a medical device, causes people to die. The companies that make those things (as well as mission- and safety-critical software) work hard to make sure their designers come from the people who are really good at designing things. And what that means is that the consumer grade software companies have to select their designers from the knuckleheads that are left over.

Very many of the exasperating mis-designed characteristics of modern consumer grade software bear, to the experienced eye, all the hallmarks of being designed by people who JUST AREN'T VERY GOOD AT THEIR JOBS. Constant changes in UI; the fact that every single update introduces new bugs into functions that worked fine before; constant churn in features; constantly increasing complexity in the keystrokes and actions to accomplish simple tasks; these all look very much like product designs coming from people who have little perspective on how to design things, how to guard against unforeseen problems, and how to resist the "oooh shiny new" executive plan-du-jour syndrome.
"Well, a design fault in an airliner, or a highway bridge, or a medical device, causes people to die. The companies that make those things (as well as mission- and safety-critical software) work hard to make sure their designers come from the people who are really good at designing things. And what that means is that the consumer grade software companies have to select their designers from the knuckleheads that are left over."

Airplanes that nose down when you REALLY REALLY needed to nose up.
 
I mean, look at the UI of a violin. It hasn't changed in something like 500 years. That of a flute, 180 years. Even the electric bass, the fundamental UI has been pretty constant since the early 1950s (four (or five, or rarely six) strings, horizontally held, plucked near one end, fretted on the other, pickups under the strings, knobs mounted on the body). Compare that to any consumer grade software, where the inevitable lament of every user with each "upgrade" is "Where the hell did they put XXX?" or "Why do I now have to use five mouse clicks to do what I used to do in one?"
Ha! your bass reboots ("please wait") in the middle of a song. To update to enhance your user experience.
 
JIRA is fine as long as you are using it correctly. Although I do find it... frustrating at times. It doesn't want you to have many levels of hierarchy without third party tools. I did 'customise' it but it broke too much. Love hate for sure,

We worked with the safety critical design department when I did software development at a university. They knew what they were doing. They were doing mostly design for airborne too, formal design and verification, etc., and items as the rest of your paragraph.

I just got a new phone which is just one model up from the last one but I am damned if I can configure the GUI to be the same and you can slip and accidentally delete the universe... Grrr.

I was an 'AI' (it was machine learning in my day) developer...
Just a LISP search.
 
Upgrades are at times done due to user demand, surveys, and feature requests. If there was demand or requests to change the violin or flute UI, it would have happened. People like them the way they are, so no changes.
Almost every time Microsoft updates Teams I find a new feature or UI adjustment that I am not fond of. Shortly after, one of my co-workers will be telling me how much they like the new Teams design, at that moment I remember it's a give and take.
However, take for example the computer mouse. You can still buy a mouse that looks and functions almost exactly the same as the mouse you used on Windows 95. It works the way it was designed from day one and so you can still buy one, and then there are all kinds of other options for those who want something else.

-Mike
It used to be you'd enter a Teams meeting unmuted. Then six weeks ago it changed to muted and a lot of people had to repeat themselves. Then last week it changed back and I am sure some people have had to apologise for saying things... None of this seemingly under user control.

Sometimes it uses audio via my docking station, sometimes not. So even if unmuted I might be inaudible. Ditto cameras. I don't use the one built into the laptop as I don't want to have the laptop in front of my big monitor. Apparently, I should, though.

We first started using video links about thirty years ago and it's only slightly better than then. The main improvements are the ability to look like a cat and have AI summarise the meeting minus the two major decisions made during it plus inventing an extra participant called Susan. So, then, everything is better now