On the last Accidental Tech Podcast, Marco Arment identified the growing friction on the iOS platform
I'm proud to say that this is my first post that's regurgitating someone else's content. I made it almost two years without pulling a Bleacher Report.
I listened to the latest Accidental Tech Podcast episode on the way into the office this morning. Prompted by the recent flurry of capricious rejections by Apple's review team that both put out a few developers and left many others scratching their head (see here, here, here, and here), Marco spelled out a host of other reasons why many of the advantages that iOS developers once enjoyed are slowly eroding:
Least importantly, Apple app review team is doing the only thing worse than being paternalistic: Being inscrutably and inconsistently paternalistic. Developers may not fear app review these days, but any developer would be justified in experiencing extra trepidation. How do you commit to spending time on a Today Widget or even the Watch if you can't be sure that your app will be approved?
We may have reached peak iPad in 2014. iPad sales are declining. I've never upgraded since iPad 1, and while I greatly lament being stuck on iOS 5, I mainly use my iPad for video anyway and it does the trick. The roominess of the iPhone 5 and especially the 6 make me even less urgent to upgrade. If you're an iOS developer reading this paragraph, you may not feel so enthused about spending time on iPad development.
Immense competition has brought prices down in the App Store. Rather than charging for your app, you need to both plan and engineer mechanics for in-app purchase or native advertising.
Android slowly gets better. There are massive network effects around the iOS and Objective-C communities that are difficult to overcome — network effects, after all, are what has kept Java so prominent in the face of superior languages — but if Google were somehow able to improve monetization patterns the way they have with design and user experience on Android, then, well, money talks.
Most importantly, iOS development is, gulp, fragmented. Between the 3.7", 4", 4.7" and 5.5" iPhones on the market, two iPad sizes, chips dating back to the A5, Today widgets and soon the Watch and the Car, there's no longer a one-size-for-all that made iOS development in the early going so fluid and explosive. And it's not just engineering. All these screen sizes also require design work — I just came out with an app and I cringe when I see how it looks on iPhone 4's and 6 Plus's — and marketing material — a Universal app in 5 languages would require 150 screenshots for the App Store!
Of course the sky isn't exactly falling. There are more iOS users than ever earning more for developers than ever. With the decline of the Samsung Galaxy line, iPhone and iPad are the only two rock-solid brands in mobile. Swift — still a moving target — might do for iOS development what Rails did for web development. And iOS developers are still in short supply: Being an iOS developer can be a lucrative career (though Android is apparently neck-and-neck).
The latter is an important point, though: The more pain points, fragmentation, uncertainty (especially in the face of a Capricious Paternalist) and ruthless competition there is in the iOS ecosystem, the wiser it might be for iOS developers to federate and share the risk and uncertainty. Or, perhaps, go elsewhere.