This is a great article. I agree completely with Joel (usually do). I think this completely sums up the difference between programmers, developers, software engineers (geeks) and designers. A designer would have an off button, and we as developers tend to completely over engineer things and have every possible option we can think of.
I have being recently working with designers building websites. They think differently. It's a fact. And it's a good thing I think. Designers don't understand the short comings of CSS and HTML, and really that doesn't matter. We as programmers should find ways to implement their design where absolutely possible.
This should definitely apply to Software Applications too. UI should be fun and importantly, easy to use. It hardly ever is though. Why? Because most software UI is designed by the guy who writes it and never uses it. I hear users complain the software they use being useless. Usually it's not, but the UI and ease of use suck, so the user equates that to the software as a whole.
The other thing we need to do is to stop developing applications with the expert in mind. Most of the applications I use show all the options available to all users. Most users don't care about 80% of the stuff you can do in Word for example, when all they want to do is write a letter, so why should they see it. The ribbon bar is going some way I guess but we are a long way off building the perfect beast.
I think plugin schemes should be used more. Software shouldn't be all things to all people out of the box. I use Excel a lot but only for doing basic number crunching. Why can't I get Excel Basic, and if the day ever arose when I needed Graphs, I could purchase the Excel Charting plugin. You could charge $99 for Excel base and then say $50 for plugins. Not only could it potentially lower the bloat of modern software, but it could stop Piracy as users would have no reason not to pay.
Sometimes simpler is better....