[quote=captcha]I used to subscribe to the philosophy of meeting the needs of every single user. I made serious adjustment to my style after reading Joel’s “User Interface Design for Programmers” few years ago. The users seem to respond better to this approach.[/quote]
It really depends on what your product is. For an OS, your user is not only the end user, but also the developers that help you build your ecosystem. In the PC world, Microsoft had it right and Apple had it wrong, hence the market share. Microsoft didn’t try to meet the needs of every single user either. They tried and meet the needs of the majority of the user. Like Apple, Microsoft have their own look and feel. They didn’t try to satisfy Apple or Linux/Unix users. However, they don’t walled in the developers either. The other important thing they had right was they made it easy for developers to do what they want and create rich 3rd party apps easily.
Google is doing the exact same thing and they’re already kicking Apple’s butt and it has only been ~3 years. While Apple might make it easy for your average Joe, their walled garden is making developers’ life harder to create UI that stray even a little from your typical iOS UI (something as trivial as strike through text is a nightmare to do in iOS and it’s a 1 line code in Android). Up until recent, developers have to deal with it because they’re the biggest game in town and you want your app to be seen and bought by the largest market, they have to put up with it. That’s no longer the case. Android has surpassed iOS in both the US market AND the global market. While iOS market share stagnate, Android continue to grow dramatically. As a developer now, when you want your app to be seen & bought by the most amount of users, you’d go to Android. Not only will it be easier to do what you want to do, it’ll be in the 2nd largest eco-system in the world and the largest in the US. Market shares will drive more apps, which will then drive even more market share.
Beyond the eco-system, there’s also the fundamental of the programming language as well. Personally, I think Java kick the snot out of Objective-C. I don’t think I’m alone on this either, hence a lot of Universities for the last 5-8 years teach Java as the main language and if you want to learn another language, you’d have to take an elective to do so. With that amount of developers coming out of University knowing only Java or are most well versed in Java, it can only help Android.