back

by alexandercrohde·10y ago·view on hn ↗
Being frustrated is also normal. It's a natural part of the learning process.

I think the author's point is software that isn't frustrating beats software that is frustrating. He provides multiple good examples of bad error messages in actual software and how to improve them.

I'll admit coffee machine metaphor isn't a great metaphor, because his blog post is actually advocating configurability, but with a UI optimized for beginners and intelligent defaults (like a microwave with a popcorn button). I wouldn't get distracted by the metaphor.

1 comments
But the popcorn button is notorious for making shitty popcorn. If the user were to rtfm, he would know to wait 3 seconds between pops and stop it. Or read a cookbook and make superior and far healthier popcorn on the stove.

Point being, one touch instructionless operation results in shitty outcomes.

I think the point is that it's the developer's job to make their one touch instructionless operation not result in shitty outcomes. The fact that my best option for Babel is to not update it because it already works and updating it will guarantee that it won't work is a fault of the author. Just like the fact that the popcorn button doesn't make popcorn well is GE's fault. That doesn't mean good software shouldn't work that way, it just means the current software is made poorly.
Extending the popcorn button thought, the popcorn function doesn't suck because the engineer is an idiot it sucks because its legitimately unreasonably hard to make a popcorn function that actually works and if it were feasible at all would add ridiculously to the cost and complexity of the microwave.

Since its unreasonable to make a reasonably optimal popcorn button it would actually be simpler and better to give the user more controls so they can make popcorn manually by setting the power level and time and starting and stopping it manually.