Great writeup. I'm currently on step 8.
Even though the process looks dense and problematic, it's still leagues ahead of the process required to get apps up on Verizon, TMobile, or other AT&T devices...
Sorry, but if you went through all the steps required to actually build and ship a real application on a normal platform (Mac/Win), it'd probably seem a lot more complex, but just not in a bureaucratic way.
(He said, having just gone through all this pain himself. Our app is still in review, but if you're interested, there's a pre-release website for it: http://grafly.com. It's a 2d/3d equation graph explorer with some pretty interesting technology hidden inside. (I didn't write that part. ;-))
There's some nonsense here, yes, but it's just part of the ecosystem.
It might actually consume 2-3 days of your life; if you're serious about making apps for the iPhone, that's really not a barrier.
Yes, the 2d/3d isosurface incremental exploration machinery was all written (exceedingly tight C++) by my whiz-kid development partner.
The challenge is to take an arbitrary equation in a given viewport (2d or 3d cube), find all the satisfying points, and build a displayable mesh (output as OpenGL triangles).
Then, as the user zooms in and out, pans around, etc., the challenge is to rebuild the new mesh intelligently, re-using what you computed so far, including garbage-collecting all the old mesh values, all the while increasing or reducing the mesh density for the given zoom level.
It's a really hard problem he solved extremely well.
This write-up is spot on the money. The only addition I would have, based on my own experience, is that you need to fill out your banking/tax info AS SOON AS YOU ARE ACCEPTED. It's a 4-week wait for approval on that part right now.
PS - Some of you may find my app, Warehouse, interesting. It's a native UI for Crunchbase.
I still can't believe you have to have a mac to develop for iPhones. Why would apple want to shut out so many potential developers, and app revenue for that matter?
Because they don't think it's worth it to port their whole Xcode development environment to Windows? It's a heavy user of Cocoa and much Mac OS-specific technology.
Because they want to (as a side effect, which can only help computer hardware sales) expose developers to a much more pleasant OS environment?
Because the cost of a Mac ($2K for a very capable 24" iMac) is nothing compared to the earning potential of a serious iPhone app?
Just to nitpick, you can actually go on all you want, and most, if not all, of your reasons, remain speculative. A windows-based dev environment would seem like, at least at face value, a shrewd strategy (of course I am disregarding all maintenance costs for spreading apple's competency across multiple platforms).
But when they switched to intel, everyone knew it was a good decision. If they didn't switch, Apple would still be alive today, and you can give another list of reasons for not switching. Can't tell for sure without a time machine.
The fantasy is tantalizing though, and very much so. That alone is disappointing.
Yes, they could port most of Cocoa to Windows just so they could run Xcode, but do you think that would be cost-effective for them (dozens and dozens of man-years they don't really have)? The lack of a Windows development environment doesn't seem to be costing them any serious developers for now, at least.
So that reason doesn't seem very speculative to me.
Personally, I think it's one of their core strengths that they stay focussed on what they do well (development under Mac OS X), and not try to spread out too thinly when they don't have to (clearly, they had to for iTunes; Safari's a longer shot). It might look like arrogance to you, but it might just be good sense given limited manpower.
And I don't think it's speculation to say that $2K invested in a blazing fast development machine like a 24" iMac (you could also do it for less than $1K with a Mac Mini, which works just fine) is easily recouped, if you're serious about shipping an app. Even a decent $5 app that's not a flashlight should be able to sell more than 400 copies in a market of 10MM right now, moving quickly to 25MM and up.
Maybe you're missing the point, however. What about the people who want to crank out some simplistic, but nifty apps which could drive further use of the iPhone, but they can't build them, because they (for some reason) can't afford a Mac. (But they have lots of available time. I'm thinking unemployed geeks, college students, etcetera)
You know. Looking at this, and for a second ignoring I probably need to buy a Mac as well to develop for the iPhone, I'm pretty sure I will never ever hack together a small app for shits and giggles. Not on a platform like this.
For instance a phone client for my online Yahtzee game is something I should be able to hack together on Windows Mobile in no time. Build, debug, deploy. Repeat a few times. Done. You know, the way things usually work.
It might just be me, but trying to work with this platform seems to severely break that whole flow thing real programmers have when they get working on something.
Nah, it doesn't break your flow. These steps are everything before and after your flow. Flow, to me, is when you're in deep actually developing.
Once you have it up and rolling and have done it more than once, it's pretty easy. Setting up new projects is easy (1-3 steps rather than 20). It's just figuring it out the first time that is difficult.
Agreed. All this nonsense is entirely outside daily flow. I found while developing a rather deep app over the past 4-5 months (in review now) that the whole workflow was actually quite good, with little to slow one down.
You can test things out quickly on the simulator for most functionality (including OpenGL, which is at the heart of our app), and only go to the phone when you need to test real performance or accelerometer-based input, etc.