Ask Slashdot: How Do You Explain 'Don't Improve My Software Syndrome' Or DIMSS?
dryriver writes: I am someone who likes to post improvement suggestions for different software tools I use on the internet. If I see a function in a software that doesn't work well for me or could work better for everyone else, I immediately post suggestions as to how that function could be improved and made to work better for everybody. A striking phenomenon I have come across in posting such suggestions is the sheer number of "why would you want that at all" or "nobody needs that" or "the software is fine as it is" type responses from software users. What is particularly puzzling is that its not the developers of the software rejecting the suggestions -- its users of the software that often react sourly to improvement suggestions that could, if implemented well, benefit a lot of people using the software in question. I have observed this happening online for years even for really good software feature/function improvement ideas that actually wound up being implemented. My question is -- what causes this behavior of software users on the internet? Why would a software user see a suggestion that would very likely benefit many other users of the software and object loudly to that suggestion, or even pretend that "the suggestion is a bad one?"
You are just offering suggestions. Back it up with some actual fucking code. Otherwise you are simply one of the moaning masses wanting shit (usually for free).
if you don't code yourself, then you probably don't have any idea how much time and effort is required to implement your 'improvements', and/or perhaps your suggestions really aren't very good to start with, therefore annoying the dev, who spend perhaps months or years creating his end product, only to have some random guy from the Internets post 'suggestions' that come off as criticism.
Every single one of you dumb mother fuckers just break shit when you "improve" things.
Sometimes what is an improvement to you is worsening for someone else. E.g. the australis redesign of firefox, was very highly disliked by many people. Some people are happy with the status quo and don't need a new "modern" re-do of their GUI or whatever.
Many people are very tired of their software constantly changing and shifting for no good reason. Oblig car analogy: suppose that every night when you get home, park your car and go inside there was a good chance some random mechanic would come along and start tinkering - moving the controls around, swapping out the seats, adding go-fast stripes (then removing them), maybe switching the engine or making it an automatic. It would get old really, really quickly.
That's what it feels like sometimes with software. See for example Firefox over the last few years: features coming and going for no apparent reasoning, random changes, just generally irritating. It's enough to give you a case of PSSWIS.
Users like their software to work. Most software only barely does, and every upgrade risks catastrophic regressions sold as "improvement".
As a current example, any website you use regularly might see an "upgrade"* causing it to no longer work with your browser, so you get to upgrade. Then you find your browser is no longer supported on your operating system, forcing you to apply lots of patches, or outright upgrade. Or both. Perhaps you now must use a 64bit version and since your hardware wasn't 64bit yet, you need to up grade the hardware. So simply trying to use a website that used to work peachy fine can easily cause you a week's work or more, and that's when you're tech savvy enough to do it all yourself.
Yes, you and plenty readers here will likely run cutting-edge systems. Random users, a much larger pool, probably will not. We tend to blame them for running "insecure" software, but really, the blame for the insecurity of the software squarely lies with the developers. Who choose to chase new features instead.
Honestly, it's the latter group, the people that prefer all that fancy tech to "just work", that is currently sorely underserved. Even by the big software vendors, perhaps especially by the big software vendors, that have "no training needed" and "it will just work" as the core of their marketeering.
* Perhaps not even in the website itself, but one of the many javascript libraries from elsewhere it depends upon! But likewise we saw several rounds of this with the "upgrade" to "HTML5", where even sites offering content no more fancy than text and some pictures suddenly stop working in older browsers for no other reason than that they like to chase what they imagine counts for modernity.
People hate useless change. People hate change that makes their lives harder. People hate "here's a new UI, take time off from the work you need to get done in order to learn it".
I think it's simpler.
Users invested time figuring out how the software works and how to fit a workflow around it. That time wasn't free and they are concerned your changes will require changes to their workflow and possibly re-learning parts of the software which now "just works" for them.
And your changes are not necessarily good. They are probably change for the sake of change just because you don't like an extra button click here, or your workflow is different to someone else's.
But its true, so I'm going to lay it on you.
Most people do not use software for the sake of using software.
I Know. I can hear you cry and see your tears. Get over it.
Strange as it seems, they use software to get stuff done. Its a tool. They learn the tool to get stuff done. They setup up processes that incorporate the use of those tools to get even more stuff done. And then *poof*... iPhones! Woo!
If you're constantly changing the tool, you're constantly changing the way people have to get their stuff done and constantly upsetting the process and increasing the cost of getting stuff done.
Try this for a mantra:
What do we Want?
Gradual Change!
When do we want it?
IN DUE COURSE!
Change is good, I'm on board. But take care how you fuck things up in the name of progress. Understand that yes, in some peoples view your wonderful improvement is fucking things up, and they are not in error . That doesn't mean your idea isn't great, it just means you probably haven't thought it through well enough. That said...
Usually people tossing out these ideas have little idea what they're talking about, with respect to what it would take to achieve.
OK, this is turning into recreational bitching (turning into?).
I have two shorter answers to this question, one polite, one less so
When I was a younger programmer, I thought, "Features are great! Always add a feature, if it could help someone!" I overestimated the value of the feature, and didn't think at all about the costs of the feature. "I mean, how long does it take to implement this? 10 minutes? A couple days? What's that matter, vs. the utility that this would provide?"
What I didn't realize at the time was that every feature basically adds an exponential cost, and has an impact on everything else going on in the codebase. Features introduce new possibilities, and new possibilities create new state combinations, and new state combinations create new bugs and new need-to-test circumstances. New features usually have a user interface impact, several new features have a dramatic user interface impact. New features need to be supported by new or future-self programmers, who have to understand and navigate around the code. If the product is ported, the feature needs to be ported as well. New features also require additional documentation, and if the product is localized the new documentation requires new localizations.
I've heard that "the skilled Go player is reluctant to make a move." I think it's similar for the application developer, and for much the same reason.
Everyone (Many people) are suffering from some kind of version fatigue. It's as simple as that. Owning any software run device these days is like having someone come and and re-arrange all the furniture in your house every week. The novelty might seem nice at first, but after a while, any change that you don't specifically want becomes irritating.
The answer why so many negative comments are posted is that MOST people want to put everyone down. It is their way of feeling important Since they don't have the intellect to understand the issue they can only attack the postings. Those who do have insight will comment either positively or with specific reasons of why the idea should or should not be done.
This is the sickness that the world faces with anonymous posting. Even this posting will have someone pooh pooh it thinking that they are so 'funny', but they are just confirming their ignorance.
It was like a collection of subject-specific message boards.
So it was like Usenet.
> maybe his suggestions are crap
Maybe his ideas are crap. There is no way to tell since he didn't give / link even one specfic example.
Maybe the way he presents his ideas is a problem. A very common problem os suggesting WHAT might be done, without mentioning WHY. You always need the why, and should lead with it. Think commercials "do you have this problem ... Our product will fix that problem for you. You'll benefit in three ways, X Y and Z." Often people suggest "let's do this" without clearly stating the problem it'll solve or the benefits of their suggestion. There is no way to tell if tje submitter does this since he didn't give / link even one specfic example.
What we DO know is something about the submitter's writing style. We know he *assumes* that his ideas should be implemented, and further assumes that we'll agree - without even telling us what any of his ideas are. Likely, he does the same thing in his suggestions - assumes that they should be done, assumes that everyone will agree that they should be done, and fails to provide even one example of what he's talking about.
I wish it were just that. I've been writing and deploying enterprise systems for years and it is still basically people just don't like change even if the change is vastly superior to what they had before. I've literally had people for the first month tell me how much this new system is terrible and was a waste of money and then I talk to them 3 months later after they actually have USED it and complete reversal with nothing but praise for the new system... Most people don't like learning is the bottom line. They want to show up, do the same thing they have for years, clock out and collect a pay check. Same thing for most users outside enterprise stuff too, they don't want the application to change because they hate to learn new stuff.
...and they usually add up to a giant, steaming pile of crap.
I worked on a project once that did its best to implement all user requests in its product. By the time I started working on it, there were at least seven different ways to do any basic function, because different users thought it would be great if they each had their own way of doing the same damn thing.
The result? The software was bloated, and damned near impossible to adequately test. The permutations possible to do the exact same task were staggering. This resulted in a lot of weird bugs that weren't found during testing. It made the software brittle, and in the end the same users that wanted all these different ways of doing the same task (multiplied by a few dozen different tasks I might add) weren't happy with the resulting complexity. All that stuff that users thought would be simple and a good idea, in combination, sucked.
Sometimes it's a developers job to say no. It can be very difficult to decide when that time is, but projects that never say no are doomed to failure. Sometimes an over-arching vision as to how the product should work needs to win out over every single good idea some random user has.
I sometimes work with physical tools. And there are times when I'm using a wrench, but need to put it down and start using a hammer. I don't think it's unreasonable of the tool manufacturer to reject it when I suggest to them it would be great if they welded a hammer to all of their wrenches so I didn't have to put one tool down to use the other.
Yaz
One of two very very scenarios arises in my mind:
1) The person(s) does not want the software to change at all because they are comfortable with how it works. This is seen all the time when companies are pushing upgrades to a new version of Windows or Office or *insert a different product*
2) Your suggestions are really not all that useful and are rightfully be lambasted
I much more commonly see:
3) Your suggestion sounds like an attack, and fans will automatically defend what they like.