The iPhone Development Story: the 22-step process to shipping an iPhone app
mikeash.com
mikeash.com
(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.
Maybe it keeps out the whiners. ;-)
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.
PS - Some of you may find my app, Warehouse, interesting. It's a native UI for Crunchbase.
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwa...
Keep in mind Step 0 is to buy/own some Macs.
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?
I could go on...
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.
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.
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.
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.
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.
But, I don't own a Mac (As frankly, when it comes to desktops, I prefer PCs and I am a big Build-Your-Own person), so, I can't develop.