Recently I’ve been working on the iPhone / iPod touch and my first title is nearly complete. I’ll announce it here soon and give some implementation details as well once it is finished.
Speaking generally about the platform, Apple has done an excellent job on the hardware as well as the API. It is easy to work with and the exceedingly low barrier to entry is why we’ve already seen countless applications released for the platform. Below is my list of the pros and cons of working with the device.
Pros:
- API is powerful, full featured, and well documented.
- The Instruments tool is very well done. Looking for performance bottlenecks, memory leaks, and analyzing general application behavior is a snap.
- Easy to test software in the iPhone simulator or directly on the device itself.
- Popularity has spawned some great open source work. I’m using cocos2d-iphone heavily in particular and have made a code contribution or two to that framework already.
- It is easy to get a product to market via direct distribution in the App Store.
Cons:
- Because of the pros listed above, especially #5, competition on the platform is insanely high. Getting an application noticed, regardless of quality, is a challenge. A lot of focus needs to be placed on getting your application noticed once it is released and everyone is fighting for that attention.
- Price competition has driven the average application price to $0.99. For most applications there is a very low glass ceiling on how much money it makes sense to invest in development. Selling 10,000 copies of an application you build yourself from scratch sounds great – and it is some nice exposure – but lets look at the numbers in a very rough way. At $1 a pop, Apple takes 30% (currently) leaving you with $7,000. Taxes, depending on your income and location, take perhaps another 20% of that. Now we’re at $5,600. For a professional developer working full time in the US with the skills to build an app themself, that’s around a months salary. Spending more than a month on the application then doesn’t make financial sense. But here’s the rub – most apps don’t sell anywhere near 10,000 copies. This severely limits the type of applications most developers can spend their time on.
- The X-Code IDE is decent but is nowhere near as nice as Microsoft’s Developer Studio. Especially when it comes to debugging.
Based on all of this my opinion on approaching the platform as an independent is the following: start small. Really small. Tiny ideas with focused, well implemented applications that target a specific niche without being too exclusive. Build up expertise and your own code library to start building applications faster and more efficiently.
Release these applications with boot-strapped marketing and PR. Put in the work to get the application’s name out there as much as you can. Track downloads and usage using tools like Pinch Media’s analytics platform. See what sticks. Once one of these small apps gains some traction, build on it. Understand why it is working well and give users more of what they want. Once you have a little cash flow and an understanding of what is working for you in the marketplace take the time to invest in and build something larger.
Finally, don’t rely on the iPhone completely for revenue. If your application is a game, ideally design it to take advantage of the platforms strengths but also work in other contexts. For example, a title that can both work in a browser under Flash as well as the iPhone gives you multiple revenue streams and more exposure. Unfortunately Flash and the iPhone do not share a common API or programming language, so it is a larger development investment, but the additional revenue and exposure opportunities for a small title are worth it in my opinion.
Thanks for the tips. Thoughful and quality comment.