Click here to show or hide the menubar.
Thread started by Dave Winer on Tuesday, February 26, 2013.

Good software design is ageless

A comment from Michael Markman: "I'm an older dog than Dave Winer -- by about a decade. And I've managed to learn this new trick: move one finger, the pointer moves. Use two fingers and the window scrolls."

Necessary recital: I'm 57 and have been developing software since I was 18.

He's wrong. I would have been just as upset about the feature-removal at 25 as I am today. It has nothing to do with age. And as a software designer, something that I've been doing for a long time and know quite well, I can tell you why it's bad to remove features. I learned it the hard way, by doing it.

I once shipped a product for the Apple II and IBM PC. When we made the Mac version we started a new codebase, largely because of the new way of doing UI. We wanted to ship before we had all the features ported and debugged, so we did. The users saw this as taking features out of the product, even though technically that isn't what we did. They were angry about the removal. I bet a lot of them were my age at the time (28), that is, younger than Michael and myself. And they were right to be upset. We called both products ThinkTank. They expected when they opened the box (software shipped in boxes back then) they would get the same thing, but translated to the Macintosh. They didn't. So they concluded that we had removed features.

Key lesson: Users don't see things from the same perspective as we do.

And users build up processes that designers know nothing about. They work around the limits of our software by using other features to emulate the ones they wish were there. When we play with the mix of features, we break them. Why would you want to do that to someone who was smart enough to buy your product, and might buy an upgrade someday. Don't you want your users to be successful? Isn't that why you're making software. All these are reasons why anyone, not just Apple, should strive for continutity for users. I suppose there are times when you have to break users. But to break them for aesthetic reasons, when it's totally optional, that's a sign of bad things to come. A company that has decided willfully not to value their users.

I'm reminded of this many times every day, as I work around the missing scroll-arrows feature. I remember it used to be there. A sin that's hard to forgive. And it's an important one to observe, because more and more the designers at big tech companies are, for some reason impossible for me to understand, sabotaging their own products by removing features that users depend on. It's becoming more commonplace. And it's a trend that will make users seek out stability as a desired feature.

People do switch for stability, btw. I switched from Windows to Mac, at considerable expense, because at the time Windows was infected with malware and the platform vendor wasn't fixing the product. I could switch again, if the Mac becomes too unstable and another platform appears to be rocking less.

XML