I keep hearing complaints that Apple’s restrictions on the App Store are too much – that Apple has not created a truly open marketplace.
As recently as last week, I heard a local iPhone developer here in Denver say, “Their restrictive SDK makes it harder to develop and their approval process requires developers to jump through way too many hoops”
He is right – and so what? Who really suffers in the end? Although Apple does not always get it right, they tend to think about the end user over the developer. A more restrictive platform creates obstacles for a reason. If the platform is totally open, developers will find it much easier to create applications that crash the phone, take up all the resources, forgo security best practices, or simply write software that malicious.
A great example of an open platform that developers love is Andriod. It is very open, and developer centric … and that also means it is easier to do very bad things. Case in point, recently Geek.com published a story on an Android App that was adding adware and destroying the memory on their G1 phone…
…[MemoryUp] destroyed my memory card/system delete. Then my email was spammed. TMobile can’t stop you from downloading this! So don’t!” In fact, many note that their SD cards were wiped totally clean.
The only way consumers of the open platforms can be sure the application is safe is to wait for the community to self police (in other words, wait for someone else to find out there’s an issue with the app and then complain about it) — in contrast, Apple reviews every single application submitted to help weed out the really bad ones (although I’ll admit, holding out for months on “Pull My Finger” was a bad move)
As developers, we may want to take a pause and contemplate if a more restrictive platform is actually better for the people we are developing for – even if we have to design and code with one hand tied behind our back…