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.