So: it seems as though the “default case” of a software company shipping an application would be that it crashes, or goes into an infinite loop—since that’s what happens unless steps are specifically taken to avoid it.
The default case for a lot of shipped application isn’t to do what it was designed to do, i.e. satisfy the target customer’s needs. Even when you ignore the bugs, often the target customer doesn’t understand how it works, or it’s missing a few key features, or it’s interface is clunky, or no-one actually needs it, or it’s made confusing with too many features nobody cares about, etc. - a lot of applications (and websites) suck, or at least, the first released version does.
We don’t always see that extent because the set of software we use is heavily biased towards the “actually usable” subset, for obvious reasons.
For example, see the debatetools that have been discussed here and are never used by anybody for real debate.
The default case for a lot of shipped application isn’t to do what it was designed to do, i.e. satisfy the target customer’s needs. Even when you ignore the bugs, often the target customer doesn’t understand how it works, or it’s missing a few key features, or it’s interface is clunky, or no-one actually needs it, or it’s made confusing with too many features nobody cares about, etc. - a lot of applications (and websites) suck, or at least, the first released version does.
We don’t always see that extent because the set of software we use is heavily biased towards the “actually usable” subset, for obvious reasons.
For example, see the debate tools that have been discussed here and are never used by anybody for real debate.