Apple's App Store approval process has always been a bit controversial because of the level of control the company holds over what types of applications are allowed in. Initially, there were concerns that Apple rejected apps because they duplicated functionality the company already offered or was planning to build into the iPhone OS -- not because the submitted apps wouldn't run according to the company's specifications.
After this winter's purge of apps that could be construed as adult in nature, the controversy ballooned as both developers and consumers objected to Apple imposing its morality on them and limiting free speech. Although Apple argues that the move is to protect children and teens perusing the App Store (a laudable goal), many felt that such protection could be enforced with better parental controls or by creating an 18+ (or even 21+) section of the App Store.
The controversy over Apple's iron-clad control ratcheted up again after the company announced and previewed parts of the iPhone OS 4, which was unveiled in April and will be front and center at this year's Worldwide Developers Conference. In addition to the many new features in the next-generation iPhone OS 4 -- and the opening of many new APIs to developers -- the company also amended its developer agreement to block the use of any software development tools other than Apple's own Xcode. That's what really added fuel to the company's feud with Adobe over Flash.
The decision seemed mainly aimed at Adobe's Flash Packager for iPhone, which allowed applications created in Flash to be converted to native Objective-C code matching the parameters for inclusion in the App Store. However, the ban on cross-compiled apps went beyond Adobe and Flash. RunRev, which had been planning to offer a HyperCard-like development environment for quick and easy app creation, was also left out in the cold.
The end result: Anyone thinking about offering an iPhone app has to decide whether to create a Web-based app or use Apple's development tools, which only run on a Mac, require membership in Apple's iPhone developer program and must adhere to its App Store policies -- policies that sometimes change with little warning.
What's an app developer to do? Read on.
The difference between Web and native apps
Web apps were a stop-gap measure between the original closed iPhone OS and its first major upgrade in 2008, which allowed developers to create third-party apps and introduced the App Store for them to show off their wares. At first, third-party apps were somewhat limited. But with succeeding OS updates, Apple offered more capabilities, and today third-party apps can even access part of the iPhone's core features, such as using the GPS capabilities of the iPhone 3G and 3GS to acquire location information.