Apple's vision of the development ecosystem for its iOS-based products, including the iPhone and the iPad, has always been clear and uncompromising: Apps must written in one of Apple's approved languages, built with Apple's approved development tools, and approved by Apple's mysterious team of App Store guardians.
It was meant to give Apple maximum control over the experience on the company's devices. If developers didn't like it -- and many didn't -- then they would just have to forgo the opportunity to strike it rich on the industry's hottest platform. But today, the company eased some existing restrictions and offered a look into its app approval process, in what almost looks like a developer charm offensive.
[ Also on InfoWorld: One developer relates his tale of iPhone App Store rejection. Read the story and learn from his experience. | Stay ahead of advances in mobile technology with InfoWorld's Mobile Edge blog and Mobilize newsletter. ]
iPhone OS (as it was then called) had never allowed runtimes or virtual machines, which had excluded Flash and Java programs. This was the cause of much grumbling, but most accepted that Apple's stated motives -- keeping crash-prone layers of execution that it couldn't debug or control off of its well-tuned gadgets -- were sincere. But when Apple released the iPad in April, it also forbade the use of tools that translated Flash, Java, or C# code into one of Apple's approved languages, which struck many as simply a gratuitous show of control freak tendencies.
Even when the apps were built with approved tools, they were often rejected from the App Store in a process that was notoriously opaque. And the apps that made it were forbidden from using ad platforms that compete with Apple's own iAd. This high-handed attitude essentially said that developers needed iOS more than iOS needed them.