Outstanding post over at TechCrunch with a great roundup of comments on the state of the mobile developer ecosystem.
The original premise was that mobile developers were blowing it by focusing exclusively on the iPhone (which seems plausible) and not on developing for Nokia (which seems far-fetched, at least for North American developers).
It’s amazing how many of these comments (particularly the negative ones pertaining to Nokia and Palm) correlate directly to elements of the platform manifesto I wrote after leaving Yahoo in 2006. Bad support and indifferent community management, charging usurious fees for access to the platform, favoring big established companies (also known as “picking winners”), providing half-baked tools and libraries, and an inconsistent technology story on the part of incumbent mobile platform providers created a cavernous opening for Apple and they are exploiting it masterfully. And Apple succeeded in establishing iPhone as a developer platform even though 1) the iPhone still doesn’t have a whole bunch of consumer features that were considered to be must-haves (like a physical keyboard, removable storage, the ability to shoot video and send/receive MMS messages, etc.) and 2) the developer learning curve for iPhone is psychotic if you’re not already building OS X software using Objective-C (the cul-de-sac of modern programming languages).
When I ran developer programs at eBay and Yahoo (and elsewhere) I got a reputation for being a pain in the ass because I wouldn’t shut up about getting the details right. I’m like this because when I approach platform products and developer outreach, I focus on the one resource developers have that they can’t make more of (which is time). I imagine that there are a million developers using and relying upon what I’m about to release, and I think hard about what it means when a large percentage of those developers can’t figure out what I’m trying to provide for them for whatever reason. I mentally multiply the amount of time that might be lost by the number of developers in my audience, then subtracted an estimate of what the issue would cost to fix. Ninety-nine percent of the time, I’d do whatever it took to polish down the rough edges.
Related posts:

I’ve felt that beyond Windows vs. Mac os people just don’t realize that every electronic gadget they touch and interact with is running on an operative system of some sort. I just read you manifesto. Your definition of ‘platform’ is interesting in that it could mean an API, a framework, an operating system or an access system (xml-rpc, soap).
It is really too bad that in computer science school they don’t talk about apis. Sure there are the standard things and now people are teaching java, but the power and limitations are just passed by. The profs assume they will get it immediately out of school whether it is .net or symbian os or some limited embedded system.
I’m sure you’ve read the mythical man month. If you haven’t you should not work so much.
You have it — the word platform is intended to be broad. It applies to any technology (not just electronic or software technology) that you can build upon.