3 ms·
The central problem is lack of incentives, or misaligned incentives. It has relatively little to do with the character of the developers. Developers are general
by mechanical_fish 16y ago
The central problem is lack of incentives, or misaligned incentives. It has relatively little to do with the character of the developers. Developers are generally not stupid. Many of them could learn to be better designers, and they could certainly learn to consult with better designers. But why should they?
If software is sold based on a checklist of features then it is more important to build ten ugly features than one beautiful one. If software is sold based on beautiful demos then it pays to make the demo awesome but skimp on the corner cases. If software is sold based on gorgeous screenshots and icons then the median icon or screenshot will be gorgeous, even if the app itself is missing or broken. (Even the broken iOS apps have beautiful, beautiful icons.)
If your company has so many layers of management that the feedback from end users never makes it back to your desk, you'll generate designs that please your management.
If you're at a bootstrapped startup, searching for product-market fit, it pays to design incrementally. Even if incremental design is the wrong approach for the problem, it still pays to design incrementally, because a better-designed app with no market is a disaster. That means that there are many theoretically possible designs that are difficult or impossible to achieve in practice.
The trick to improving the design of software is to figure out how to make it pay. A major enemy is the rate at which the landscape changes. Computing still changes so quickly that there's a premium on disposablility. The jury-rigged contraption built of metaphorical duct tape may be barely usable, but it's cheap and quick to build, and in a year nobody will care: They'll have traded it in for the next model, or the platform will be obsolete and everyone will have to move, or you will switch jobs (perhaps by selling the product to Cisco) and you won't care anymore.