(I’ve been rather caught up lately, and this is a slightly late post!)
Update 11/11/08: Correction, when I wrote below that a certain Apple product did not have a camera, I was referring to the iPod Touch, not the iPhone 2G! Tks CaArRrRny.
About 2.5 weeks ago, I took a day off from work and drove 2 hours up to LA to attend a mini iPhone developer conference. It was a free event, but seating was limited and reservation was a must. I was lucky to get a spot, a few of my developer buddies from the San Diego area were not able to secure one (the event “sold out” almost immediately!)
Apple also announced that they have just launched a developer forum site just the night before. This forum is late in the game, also because it was only recently that Apple decided to lift the developer-community-killing NON DISCLOSURE (duh) agreement.
I got to meet some interesting dev guys, and learned a bit more about this new mobile platform (below are some pictures). Some of my thoughts:
The iPhone App Store really does provide value
As much as some folks criticise this “centralized” distribution method, it provides value like Digg.com, Reddit.com, and Slashdot.org does – in discovery. Does Digg create its own content? No. Digg’s largest value prop: The most interesting news at that point in time on the ‘net, when you visit the site (great for ADD news addicts). It’s a great discovery service. So if you’re an iPhone app developer, the App Store is a great way for people to discover your app. You are exposed to an audience world-wide. Or at least, the 50-60 some countries that iPhone is officially distributed in.
To contrast, in absence of the App Store, you can distribute your app on your own personal web site. Uhh, and how are you going to get discovered? Are you going to spend $ on a marketing SEO force? Look at Windows Mobile and Symbian. If you developed an app on these said platforms, you are free to give/sell it exclusively from on your own web site. There’s not an equivalent “App Store” for Windows Mobile and Symbian OS. (And how are apps doing on those platform again? Right..)
Apple’s seemingly arbitrary process of approving apps sucks
Yeah it sucks. Apple provided lunch at the Grand Wilshire hotel, so we didn’t have to go out and spend money. Nice move, because developers can discuss and get to know each other over a meal (aligned with AAPL’s motive of cultivating a developer community – and oh, I like free food too). One thing that appears to be the consensus is Apple’s no-guidance on what apps they will approve or not approve to be on the App Store.
For an app developer, after you have done building your app, you then have to wait for Apple’s final thumbs up/down on whether your app will be accepted for distribution. While some checks and balances are necessary for various reasons (quality assurance, no malware apps, etc.) – this current process is one big black box and the trouble is that if you were a real corporation who had to justify engineering resources to allocate, complete with revenue projection plans, you have this one step where it looks like it’s a dealbreaker: the review process.
The trouble is, you don’t know before hand if Apple would say “hell no” to distributing your app after you have already spent the time/money/effort toiling away learning the platform, and then painstakingly building an app. Your resources spent would be effectively be written off as a sunk lost, if they just rejected the app. This is arbitrary outcome is hard to accept, if you’re the I-allocate-my-engineering-resources-wisely-with-planning kind. If you’re a {one, two, three}-man “side project” startup guy app developer, then whatever .. because you’ll just likely chalk it up to fun. But if you’re doing this solely to put food on the table, this process sucks.
One developer over lunch mentioned how his app was submitted, and Apple did not deliver a decision within the time they said they would (IIRC, 90 days), and told him to resubmit (essentially beginning the whole submission process from beginning again). He did call once in a while to check the status, and he said the operator’s sole job was to basically just remind callers that the 90 days have not been reached, and they should just wait by the mailbox for an answer.
Fragmentation is veeeery minimal in the iPhone
Minimal, yes, not zero. Why? Because the older iPhone iPod Touch does not have a camera. So if you’re developing an app using a camera, you had to include in your code an “if no camera, do this, else do that” statement. Think about the Android. It’s made to run on a bazillion type of different hardware from different manufacturers. If you were developing an app using the a camera, you have to do a “if no camera, break, if else, camera supports X resolution, do this, else if, camera has this special feature, do this, else … ” nesting an unnecessarily long if/else conditional (or a conditional equivalent type check).
The art of symbiotic co-creation
Back “in the day”, one has to negotiate with carriers and stuff (no one man dev shop is going to do that) – clearly the barrier-to-entry has been lowered significantly for mobile app developers. Also, Apple takes care of billing, local taxation stuff (recall that the iPhone is distributed globally in 50-60 some countries), and the hosting of your app. I think the 30% cut is reasonable, as they are creating real value for mobile developers.
It’s really nice how Apple has removed a lot of friction in developing a mobile app. The success of the iPhone hinges just as much on the app developers as do the success of the mobile developers, on the success of the iPhone. The more attractive applications exist out there, the more that would drive iPhone sales globally, further strengthening the buyer-seller network-effect (like eBay, they are un-toppable at this point). As an app developer, you’d want to develop for the platform with the widest audience possible.
Anyone can engineer an app for any niche they choose, so even obscure verticals may have their needs met. Apple knows there’s no way it can possibly meet *everyones* app tastes, so it’s smart to just farm out that piece to the free capitalistic market.
On the flip side, not providing an open market for developers would mean not being able to feasibly meet a certain need by a certain category of consumers (some will be left out, by definition!), and those folks would be ripe for poaching by iPhone-competitors. Thus, AAPL is really covering themselves from a potential attack from the low-end of the market there (which if were to occur, would force Apple to keep moving higher in the market – classic b-school case study stuff). This reminds me of an article on innovation by McKinsey Quarterly that I had just previous blogged about (good read about innovation, do check it out. Warning: soul-sucking registration required).
…
In all, this was a nice event to get to know other iPhone devs around the Socal area (one guy actually flew in from Phoenix!). I learned a lot of best practices type stuff, e.g. excessive and unnecessary polling of the GPS quickly drains the battery life, and most apps don’t need that kind of geo-location precision (so don’t be a hog!)
Hooking up an iPhone to a Macbook for real-time live debugging:
Real-time performance benchmark stats:
Hey, does that spell an “A” for .. Aquaduct?