Sometimes I ask myself the question: why do I develop for iOS? I could also do Haskell development, do cool HTML5 stuff, or build compilers. As an indie developer, these are some important reasons for me.
- High-end platform
The iPhone and iPad are the high-end of the smartphones and tablets. This means that the people who use it are willing to pay more money for a better experience. As a side effect, they are also willing to pay for apps, and willing to pay for in-app purchases. For an indie developer, this is great. The more willing your customers are to spend, the better it is for us. Ultimately, it comes down to the developer making something that is worth the money, but it’s a lot easier to sell to high-end customers.
- Closed environment
There are a lot of disadvantages to having a closed environment, which is beyond the scope of this post. However, for customers it is mostly a big advantage: they can trust the applications. Because every single application has been reviewed by Apple, they know they can trust it. Because in-app purchases are built into the iOS Platform, they know they can trust the payments, which again makes it easier for developers to charge for something.
- Lots of possibilities for innovation
Innovation can definitely be everywhere, but I have the feeling we’re still only seeing the tip of the iceberg when it comes to innovation on mobile devices. There is so much more we can still do with the location sensors, the fact that we always carry our phones, always have an internet connection, et cetera. With the web or on the desktop there is still a lot of room for innovation too, but it is a lot harder to come up with new ideas.
- More difficult than web development
It is more difficult to get started with iOS programming than with web development. You need to do memory management, need to work with design patterns, learn a new language, and more. In web development, you can gradually ease in to it by first modifying HTML, then building your own HTML site, adding PHP, and so on. This makes the barrier to entry harder, which means it is easier to get noticed as an iOS developer.
- Great libraries
Apple provides awesome libraries. Even though I don’t like Objective-C so much, the frameworks they provide are really great. For example, animation is super-easy, and everything is very well thought out. This makes it a pleasure to work with.
- Culture of quality
On Mac and iOS, there has always been a culture of quality. Applications are very polished, and you can see that developers really put effort into building their products. This is a lot of fun and very inspiring for a developer. It pushes you to raise the bar and have higher standards. The defaults provided by Apple are very high quality too, which means it’s easy to build something that works and looks good.
- iOS Developers earn more than Android Developers
As per Distimos Annual Report for 2011, iOS Developers made more money than Android Developers (source http://bit.ly/z3Bj0E). As per the report Apple App Store for iPhone generates about four times the revenue that is generated in the Google Android Market. That's a good reason to choose iOS over Android.
- Easy to test your apps thoroughly
There are only a handful of iOS Devices that you will need to test your apps. Thus, you can be sure that when you release your app it is going to run smoothly on each and every iOS Device. Also, all these devices are very popular, that's why it's easy to find someone using an iphone/ipod to test your app.
Again match that with the diversity of android devices which make it impossible to check your app on each and every device available in market. Even if the device features are same, yet the hardware inside the phone may belong to different manufacturers. Some hardware may not support the functionality that your app requires, as smoothly as other manufacturers hardware. Thus, the same app may not run similarly on two devices even with same technical specifications.
- Less Resources for Development
If you are going to develop for iOS platform you have to consider only two possible screen sizes (320x480 and 640x960) unless you are also developing for iPad. Also, even if you support just one screen size (320x480) it would run perfectly on higher resolution iPhone/iPod.
Compare that to the thousands of Android Devices available with so many of them having specific resolutions. Though you can shrink/stretch an image to fit a particular resolution, but that requires extra work on your part. iOS just reduces your work by maintaining screen size across different versions.
- Using Your App will Always be a Great Experience
The touch response of all the iOS Devices is great and you will be very satisfied when you use your app on them. Apple products are always built using the best quality display and hardware components. Thus, you can be sure that your app will look great and respond quickly.
You will also find some excellent mobile phones running Android. But there are also a lot of android based handsets that are built using cheap components and use very poor quality display material. So even though you make a terrific app, but using your apps on such low quality handsets will deeply disappoint you.
It’s like “Being with the winner make you the winner”.
- Think Different
Ever since the apple started it has always followed this very inspiring thought Think Different. Here’s a sample video narrated by lated Steve Jobs.