Why do companies keep changing software and web sites? Tinkeritis maybe?

I think this is simply the wrong way to think about things. It’s true that a perfect piece of software would only be sold once, but there is no such thing as a perfect piece of software, and a fairly simple observation of the state of software in the past should demonstrate that.

Can you imagine someone writing a perfect piece of software in 1980? Monochrome screens, anemic memory, limited networking capabilities? Is there any software that could run on machines of that time that wouldn’t be deeply flawed? Is there anyone so brilliant that they could have figured out how to make software that’s good today without the intervening decades of experimentation and discovery?

I don’t think so.

What makes you think that things are different now? We are just as bound by our limited understanding of how to make good software and the hardware we have to work with as they were then.

It’s harder to see the limitations that we deal with every day because we’ve become proficient in a particular way of thinking. If you look at the transition from desktop software to smartphones, you can see very clearly that, while the UI paradigms of the desktop world weren’t bad for their time, they’re incredibly lacking. Hand someone a smartphone and even if they’ve never used one before, they’ll quickly be reasonably adept at using it. Because all you have to do is touch stuff, and we can do that. A mouse and keyboard, on the other hand, require actual training to use.

Lots of people cried foul when Apple hid the filesystem in iOS, but that really is a better UI for the vast majority of people, who *don’t understand how filesystems work.

I’m not saying that a mouse and keyboard and a traditional windowing system are bad. They’re still the best way to do some things. But arguing that we’ve somehow reached the pinnacle of UI and could have just stopped here and achieved perfection is deeply misinformed. The reason things are changing is that we’re trying to make them better. Obviously, we don’t always succeed. But if you look at the progress over the last few decades, it’s clear that there really is progress.

I’ve argued this many times on this board, but I disagree that planned obsolescence explains the shortcomings of products, at least in the ways that most people seem to think, which is that an evil capitalist takes a design that could last for decades and purposefully weakens it so it will wear out and sell more copies. There are tradeoffs when designing things, and one of the tradeoffs you can make is always in longevity. We could make software (or any other thing) that was better, but there are real costs to doing so.

I fully agree that iTunes is a terrible piece of software, with confusing UI. But I think it’s always had pretty bad UI, and having designed some UI myself, I understand that it’s a really hard problem. The iTunes guys have failed, but they’ve failed at a difficult task.

Try buying a permanent version of Photoshop today. It is happening. And EDA software is sold this way frequently, plus there is a heft annual maintenance fee for minor updates.
Now, as to your misconception that software doesn’t wear out. That is true if you isolate your computer from the rest of the world and shoot it off to Pluto or something. But software here on Earth depends on a vast network of other software. When that gets updated (and nothing is perfectly backward compatible) your software breaks. Even in the unlikely event it was perfect in the first place.
Plus, software can be tested under only a subset of usage models. If someone comes up with a way of using your software you didn’t anticipate, it breaks.
None of this involves the issues other people mention about keeping up with what users want. That is valid also.

Better bulletin board software would have caught this and fixed it before I posted it. :wink:

You guys are all forgetting about the one website that still looks exactly like it did on the first day it appeared and will look the same 100 years from now.

The really interesting thing about Swiss StyleFlat Design’ or ‘Metro Style’ for the New Minimalism is not it’s astounding ugliness, although that is there with heavy blocks swimming in a marginless sea of white, but that all the websites, especially the magazine type, look exactly the same. Meaning there is no particular reason to ever differentiate them in your mind.

I still have no idea how Craigslist ever took off with the absolute barest and ugliest user interface imaginable. It still makes me want to slap myself for not throwing the same thing up in an afternoon 20 years ago. I guess less really is more sometimes but I would like to think that they could do a little something to make that thing look like it didn’t get delivered straight from a 1992 Gopher server.

However, it is not the only one. There is another site that I have been using almost daily since 2000. It isn’t completely unchanged but might as well be because the format is still instantly recognizable even if you pull up the 2000 version from the good ole Wayback machine.

Historically in the mainframe days not much changed. COBOL was the primary business and finance language for over thirty years. I was a full time COBOL programmer for 9 years. Then I shifted into SQL reporting and a new dept’s server/pc support. Vax VMS changed little from version to version. Even VMS for their workstations was the same. They added a WYSIWYG with xwindows I think it was called? I loved my Vax workstation. I wanted to cry when VMS was discontinued. Awesome OS and very easy to learn. I’ve never found a more versatile command language than DCL.

Getting IBM experience used to ensure a lifetime’s employment. People that understood ISAM and all the other IBM stuff were paid well. I always wanted that IBM experience on my resume, but never got it.

PC’s and servers changed how we do our business. Constant updating is the norm.

First of all, that’s not really how consulting works. I know everyone likes to bitch and moan when the consultants come into the office, but the fact is, the reason we are there is because the company is trying to solve a business problem they can’t solve themselves. Either they don’t have the resources and staff or they are too close to the problem to be objective.

Secondly, “everything is great, leave it just as it is” is rarely an effective business strategy in the long term. Yes, at the moment or even the past 50 years, things probably have been fine. I bet a lot of taxi owners, video store managers, printed magazine editors, and buggy whip manufacturers said the same thing for a long time before Uber, Netflix, the internet and the automobile came along. Everything is great until it isn’t. The time to think about change is when everything is great and before change is forced upon you.

Phone applications are one area of software where developers apparently cannot leave well enough alone. For example, I’ve had the Scrabble application from Electronic Arts on my iPod for years. It did what it was supposed to do quite well, which is let me play Scrabble against the machine while waiting in line at restaurants and checkouts. But that was apparently not good enough, because people quietly playing Scrabble with themselves don’t use social media or something. Every update that took place, the software got a little bit worse – a few more ads stuck in (onsoftware that I paid for); more prompts to invoke social media (“You got a Bingo. Do you want to let everyone on the planet know that? We’re sure they’ll be fascinated!”)

After I while I stopped updating the app because they were just going to make it worse – I could live with the bugs because they weren’t as annoying as the improvements. Then the app just stopped working. Because apparently it got old enough so that it couldn’t phone home. Now think about this: this is a game that I play against the computer. It does not and should not ever need access to the internet for anything, but it always performs some mysterious kind of update when you log on. And they fucking broke that and the game stopped working. That’s like having to make a phone call every time you pour the monopoly game out of the box.

Whatever. I had to download the latest upgrade.

Apparently they spent the entire two years since I last updated hitting the software with an ugly stick. I think they actually rewrote it from scratch and everything about it is horrible. The cool little animation as the game starts up? Gone. Color palette? Harsh and ugly. Playing board? Ugly. Interface? Ghastly. Undelete-able ads at the bottom for “free” games and super ugly logos for Facebook (“Tap to login. Join your friends!”). A big “Store” icon at the top, just in case I forget that I can give them money anytime I want.

And stupid bugs. Like the popup when you start that says “Did you know you can play against the computer now?”, even though I’m trying to continue a game that I was playing against the computer.

And yes, it still does that mysterious update thing every time you invoke the application.

I want my old application back. The one I paid for. Not the one they broke and desecrated the corpse of.

Bullshit. Craigslist has added features over time, same as everyone else. Off the top of my head, the real estate section today includes a map feature with every listing plotted by location, something Craigslist certainly didn’t provide on day one.

This is actually an example of tinkeritis making things worse. It used to be impossible for a process to steal focus from the active one, and I have always wondered why someone thought it was a good idea to add that capability.

Well, there’s nothing like trying to click on something–why isn’t it letting me click on—why isn’t it----oh, because there was a prompt that came up in the background of all these windows, and I can’t do anything else related to that process until I pick an option out of that prompt. (The reason why you can’t click on anything else related to the prompt is so that you don’t screw with any settings the prompt is dependent on). But there was no way for me to know this prompt popped up otherwise because it doesn’t get its own taskbar item, it just hovers silently behind all these other windows.

Pretty sure that’s why pop-up dialogs started stealing focus.
Not saying it was a good solution, but I can see why they thought that might be the “fix” for the above issue.

Like we say: programming software: work in progress.

And that scrabble app? Basically, you might hate the social media aspects and never use it, but that and the ads are why it needs to connect to the internet, outside of initial authentication. Just because you don’t use social media doesn’t mean everyone else doesn’t, and the program is built for everyone, not just you (you don’t get your own super special version with half the features removed). And because it has to connect with other servers and other APIs and all sorts of other programs, constant updating is necessary. They didn’t break connectivity on the old version on purpose, that’s just the progress of everything else that app talks to.

How far back are you talking about?

Unless you’re using a tiling windowing manager (or no window manager at all), there’s still the problem of a pop-up capturing a mouse click just as you were about to click on something else. Or of any other UI change causing a misclick.

This is a fundamentally difficult problem to solve. Having a responsive and dynamic UI is obviously useful, so it’s not correct to just label the problem as the result of “tinkeritis” and suggest that if we’d just left well enough alone…

I think the ultimate solution is a system that takes human reaction time into account, but that has some very subtle and tricky corner cases as well.

Until Windows 7 came out there was a registry entry that would prevent popups from stealing focus.
Here’s a discussion about it from 2010.
http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/applications-stealing-focus-reg-key-no-longer/4ee5be7d-31ef-493b-b092-f6f6139f99cd

The problem goes back long before Windows 7. That registry key prevented some (relatively well-behaved) windows from stealing focus, but it couldn’t stop all ways of putting a window up in front of another.

The problem isn’t something you can solve with a registry key, anyway. It’s fundamental to dynamic GUIs. If you’re ever going to draw something new on the screen, how can you be sure that you’re not putting it right where someone was about to click.

You can draw everything in the background by default, but then people won’t see it.

You can reserve a part of the screen for things to appear, but what do you do when you need to display something new and the previous one hasn’t been dismissed?

And what if the user is in the other room? There is no notification that is so bloody important that it needs my attention right this exact second no matter what I’m doing. It can flash in the system tray, task bar, or just put it in the background and wait until I’m finished with what I’m doing. Unless my desk chair is on fire it doesn’t need to get right in my face and demand my attention RIGHT NOW!

Never should have been allowed in the first place.

Well, then you play an alert :wink:

Begging your pardon, but there really are. Indications of critical hardware failures or remote-initiated reboots should probably interrupt whatever you’re doing, because they’re going to interrupt whatever you’re doing whether you read them or not, and it’s generally better to know about them.

That doesn’t excuse the overuse of this capability.