Two huge reasons keeping developers on the iPhone -
(1) Ease of development - cocoa + objc isn't very hard, and often is quite fun. Its roots in smalltalk help in the appeal to ruby/rails people, and, let's face it, cocoa apps are just plain sexy
(2) Non-Apple / Android handsets have a terrible distribution system. Carriers are in the stone age and have no intention of budging one bit. I've gotten back evaluation reports from carriers with complaints like how their bottom-end, 25-character wide phone screen couldn't read text, thus they wouldn't ship on any phone. It's attitudes like this that scare the crap out of developers.
The only people I've met who have either of those devices are "business people" for lack of a better word. A market very different from the iPhone crowd - the hype certainly isn't about bussiness applications. Maybe the demographic is different elsewhere.
Macs vs PCs all over again? Cheap and customizable won over expensive, designed and usable.
But Apple has cracked a mass-market since then (iPods), so either they've learned how to dominate or (more likely) found the market that suits them in the form of "special-purpose consumer electronics".
This latter hypothesis predicts that if the iPhone category become a general computing device, Apple will lose.
Looks like we are still waiting for the "IBM Compatible" of smart phones.
I also wonder what effect customization of hardware will have. With OS 3.0, hardware add-ons for the iPhone just got a whole lot easier. Arguably the iPhone is already highly customizable, selling a billion apps which don't require a fixed keyboard.
Yes, "IBM Compatible" is it exactly: modular vs. integrated.
Integrated components (hardware and software) enables them to work very together, in terms of efficiency as well as usability. To make something as tiny and as fast as the iPhone means you have to squeeze every last bit of performance out of your components. Apple have done such a brilliant job, it is not at all apparent that the iPhone processor is on the slow side (about 600MHz [1]).
Modular design becomes possible when the components become faster, because you don't need to integrate to get adequate performance. You can slap things together, even mix and match. Anyone can do it. It get customizable, but the most significant result of fast-enough components is that it gets cheaper.
Faster components are inevitable. When they're fast enough, the iPhone acquires comparable competitors. How fast is "fast-enough" for a smart phone? I don't know, but according to Moore's Law, smart phone processors will hit netbook speeds (1.6GHz) in a bit over 2 years: 27 June 2011
Nothing is static. Apple dumped firewire. Each generation of iPod has wildly different input methods. Even the default meanings of the function keys on Apple keyboards and laptops have moved around. Nokia's phone product lines have been around a lot longer and sell to a lot more people. Give it time, I'm sure Apple will release an iPhone that has something new or isn't directly compatible with a previous version in some way.
FireWire and scroll wheels are hardware implementation details, abstracted in software, while the function key locations only matter in the physical world (i.e. they aren't sending different keycodes to the OS).
Of course. iPhones are a fun platform well suited for a single programmer to spend evenings writing apps for. Nokias are a "serious" platform designed for "real companies" to devote teams of "software engineers" to develop software for.
A year ago, I looked into writing a simple application and getting it published on Nokia etc platforms. It was slow and expensive to get anything certified. And you seemed to have to redo it all for version upgrades and even bug fixes.
Apple's app store is the best thing that ever happened to Symbian (Nokia, etc) developers AND users, since the App store is soon copied by everyone.
On consideration, to be fair, I should add that I quite liked the Symbian Java APIs (without being a fan of Java; boring). The APIs had lots of interesting functionality, but it was just not realistic to get applications signed so you could do a serious install on mobiles. The painful App store method looks like a dream, in comparison.
I think the headline is misleading. It's not that devs are being blinded by the iPhone, it's just that it significantly raises expectations for what the "Develop and Sell a Mobile Application" experience should be like.
As an SV and US outsider I can definitely see a dismissive-ness towards other platforms. However rather than blindness I see it more as a group phenomena like a 'collective subconscious' that can often drive a meme towards a self perpetuating dominance. The group senses that if they all push together they can create a new dominant platform and benefit from being early adopters. For a time this can lead to the kind of sustained dominance that SV is experiencing but of course nothing lasts forever - just look at the US automotive industry.
(1) Ease of development - cocoa + objc isn't very hard, and often is quite fun. Its roots in smalltalk help in the appeal to ruby/rails people, and, let's face it, cocoa apps are just plain sexy
(2) Non-Apple / Android handsets have a terrible distribution system. Carriers are in the stone age and have no intention of budging one bit. I've gotten back evaluation reports from carriers with complaints like how their bottom-end, 25-character wide phone screen couldn't read text, thus they wouldn't ship on any phone. It's attitudes like this that scare the crap out of developers.