Dear programmers of the world: take your pet "philosophies" and shove them where the sun don't shine. You're building an app that you want to SELL and your "philosophy" prevents you from implementing a major feature that many users want? You can rot.
You want a philosophy? How about this: build great apps that people actually want to us and that solve real problems for people.
For instance, Twitter clients. I love Twitter. I hate Twitter client developers (except TweetDeck). Why? Because they don't bloody listen to users. TweetDeck has how many users? Despite the mega-suck AIR UI? Why? Because it solves a major problem (grouping Twitter users), and solves it well. Is it perfect? No. Is is 100,000 times better than every other Twitter client because it makes a decent attempt? Yes.
Would I buy TweetDeck? I might. Would I buy a fantastic Cocoa app that had a similar implementation of groups along with a nice UI, low memory footprint, etc.? Absolutely. I would pay $40 for a high-quality Cocoa Twitter client. Is there one? Nope. Not even one.
Tweetie looks fantastic, but it is DOA without groups. I love everything else about it, and it pains me to shut it off and start TweetDeck, but that's what I gotta do, because a beautiful interface to an un-grouped Twitter feed is like the most perfect baseball bat ever made when I need to chop down a tree. Sorry, it doesn't work. It's dead.
If you want to implement what people need and then make it perfect by beating Twitter into implementing groups and transition from your local implementation to an API-based implementation, fine. Just do it. What a waste of an opportunity.