It turns out that someone with far more credibility than I feels the same way. Wozniak is an OS X user, but he's also a legendary engineer (emphases mine, broader implications below):
The Cardinal Inquirer - Talking with The WozThe Woz and I are about the same age (except he's a gazillionaire), maybe some of our reaction is generational. I think the young-uns have grown up in a world where things don't work reliably -- they're accustomed to routing around defects. Aged want things to work the first time and every time.
Do you think that is at all similar to the computer industry, where engineers develop a product and someone else sets the price?
It's very much like that, but sometimes the engineers are - yeah, no, I think it's very similar, very similar. Sometimes the engineers are true artists and really care what they're doing, doing a really great job. Although, I don't know how much I can even say that because the big companies, Microsoft, Apple and AOL, they tend to turn out the crappiest products, you know, software-wise. The ones that have the most bugs, the most items that are supposedly in there but don't work. The most things that are left out because they aren't finished. The most things that are inconsistent with the way they did their last program. I get the worst, worst software almost always from Apple.
You think so?
Oh yeah. I get third-party stuff and it's almost always just better, cleaner and more understandable. It works better and does what you'd expect instead of, you know, buggy things or not what you expect.
Is OS X is problematic in that way?
I don't even call it a problem; it's just something you learn to work around. It's like, there was such a cleaner, good approach to it and they did this stupid thing. But remember, the people who wrote the OS X weren't the people who developed the Lisa and Macintosh. Those guys are gone.
Do you see this problem getting worse or better over time?
Worse. And part of it is because the software gets huge and complex and we're always moving to the new things rather than fix old things. I think a lot of it is because people just get complacent with what they have.
The one ray of hope is the small software companies. Maybe it's because there's often one person who's architect, analyst, engineer and QA. Maybe it's because these firms live or die by their reputations. I agree with Woz; it's the small shops that produce products that work.
Aside from the complacency of those who've grown up with unreliable and unstable systems, the complexity factor is hard to overstate. Despite enormous efforts, we don't have a handle on building reliable complex systems; the cost of reliability still seems to rise exponentially with complexity. An airplane is reliable, but the cost of that reliability is very high.
Beyond complexity, we have crummy software for the same reason we have a singularly crummy American government. In both cases, the aspects that sell aren't the things the customer really needs on an ongoing basis. We won't get better software until we get smarter consumers. I think that may eventually happen.
It's probably also true that we need to move from buying software to renting it, but that step requires very reliable data interchange. The combination of software rental and proprietary data formats is far worse than unreliable software.