It may not be a zero sum game but it is definitely a major issue. Real life has constraints and unless you're one of the very few creative designers who understand beauty and UI very well, you have to decide how much time to spend on making something prettier vs. making something more useful. For most people, these two are not the one and the same thing.
I would argue for somebody to be a good designer they do need to understand both. If they only understand one they are mediocre at best. The best UI experiences depends a lot on aesthetics and elegance. A good aesthetic can do many wonderful things including making your app appear faster and smoother than it actually is.
Just because a web page looks good on black cardboard, does not mean it is a beautiful web page. The piece of paper on the black card is what is beautiful. The former is a representation of the latter. It may lose some important aspects. A picture of a dancer may be beautiful, while the dance is not.
Beauty or aesthetics or not easily defined concepts. But I don't think you can have a beautiful web page that doesn't perform its role. The two are not just intertwined, one is a part of the other.
They can be useful (capable of doing useful things), but very poor at communicating their abilities (poorly designed interfaces). Part of the gut feeling that a design is beautiful comes from it communicating well, not sending a cluttered or confusing impression. What does the feeling that a design is ugly tell you?
A lot of programmers spend so much time dealing with problems in the "plumbing" (functional) level that they neglect interface, so in effect, using the program is like plugging together wires and hoses in a box full of moving gears and grease. Unix pipes are great for getting stuff done, but a lot of people don't want to deal with things at that level.
I don't think it's programmers per se. Companies just don't think of design as part of the solution package. I've worked at many companies where you have new web projects and applications and we spend so much time architecting the solution and implementing it. When it comes to the design, - oh just slap on a nice stylesheet or have a visual/graphic designer polish it up.
Good design is more than just pretty graphics, but companies don't see it that way. And more often than not, programmers, who have no visual or usability training are put in a position where they must come up with a good interface and interaction design themselves.
Yes, it's definitely not just programmers, but I'm expecting there are more programmers reading here than (say) architects or urban planners, who have their own design dilemmas.
> And more often than not, programmers, who have no visual or usability training...
It's not just that; the elements that affect usability during development, debugging, etc. are often completely unrelated to elements affecting usability for end users, so you get interfaces like this: http://www.ok-cancel.com/comic/4.html That's a great interface for ... figuring out if endian-ness is affecting a music player. Or something. Certainly not for using it to play music.
A thought I had today is that programming is a perpetual battle between "if it ain't broke don't fix it" and "computers are here to make our lives easier." Doing one impedes the other.
I believe the point of the article is that usefulness extends beyond the merely functional. Beautiful isn't cognitive eye candy, but rather a necessary component of empathy.
I found correlations in this to the process of moving (kicking and screaming) from a technical to business development role. No user cares (and no user should care) about the deep underlying "how" something works. They care about what it does for them, and like the article said good aesthetic design is more than just beautiful.