Saw this in an article on Plan 9 and it pretty much applies to the Zune.
There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough.
Except the iPod and iTunes are more than 'just good enough' they're really good for most people
Always wondered why MS doesn't just come to slashdot for help. We could save them a lot of wasted time and money
Real Programs don't use shared text. Otherwise, how can they use functions for scratch space after they are finished calling them?