Developers of PCalc, Nomi run afoul of Apple's evolving iOS 8 App Store policies
Apple's platform policies for iOS, OS X and their respective App Stores have occasionally irked developers or even wildly disrupted their businesses. The latest collision involves a retroactive ban on widget calculators and tightened WiFi privacy rules for iOS, as Apple issues new rules for apps using Apple Pay and TestFlight.
No calculator widgets for iOS
Earlier today, James Thomson tweeted out (below) a change in Apple's policy affecting the PCalc iOS calculator. While Apple previously approved the app's new Today Extension widget for iOS 8, it has since asked the developer to remove the widget from the PCalc app.
Apple has told me that Notification Center widgets on iOS cannot perform any calculations, and the current PCalc widget must be removed.— James Thomson (@jamesthomson) October 29, 2014
Apple introduced the App Extension architecture in iOS 8 and OS X Yosemite to enable developers to extend the functionality of a variety of system software functions, from Share Sheets to Photo Editing to Custom Keyboards and Widgets.
Specific to Widgets, Apple's documentation describes App Extensions as "providing quick updates or enabling brief tasks — for example, posting updates on package deliveries, the latest surf reports, or breaking news stories."
Apple states that "Some extensions may have lower memory limits than others: For example, widgets must be especially efficient because users are likely to have several widgets open at the same time.
"Your app extension doesn't own the main run loop, so it's crucial that you follow the established rules for good behavior in main run loops. For example, if your extension blocks the main run loop, it can create a bad user experience in another extension or app."
While the documentation on App Extension widgets doesn't appear to specifically forbid iOS calculators (and Apple's desktop OS X includes a calculator widget), it does outline that widgets should perform lightweight tasks.
"App extensions do not get top priority for shared resources," Apple states. "For example, a Today widget that runs a graphics-intensive game might give users a bad experience. The system is likely to terminate such an extension because of memory pressure. Functionality that makes heavy use of system resources is appropriate for an app, not an app extension."
PCalc is an app, but the developer added a slimmed-down widget version that users can optionally install, and Apple initially approved the app and its widget extension. However, Apple is now saying no to widgets designed to do computational app-like tasks within the Notification Center panel.
It's not clear if this is a policy designed to prevent developers from overloading the Notification Center with slightly modified versions of their full blown apps, or if the change is in response to diagnostic reports that uncovered problems related to the calculator, or if it's just an arbitrary and capricious new rule created for no reason.
Apple has yet to publicly comment on why it asked PCalc to stop distributing the app with a separate widget. Launching the full PCalc app from its Home icon, Spotlight search or via Siri is about as easy as pulling down Notification Center and scrolling to the PCalc widget.
No WiFi snooping on iOS
Another developer hit by Apple's evolving platform policies is Nomi, a New York startup that targeted "using Wi-Fi signals from phones to help retail stores track and analyze their customers."
Nomi saw the writing on the wall in August, when Re/Code reported layoffs at the company after Apple announced that iOS 8 would enhance user's privacy by blocking third parties from tracking user's location using the WiFi signals that mobile devices send out as they browse for available networks.
"Nomi sold a service to retail stores that allows them to track how many shoppers visit their stores, where they spend time inside the stores and how frequently they return," the report by Jason Del Rey noted.
"Some of this tracking is done by installing video cameras in stores to count foot traffic. But repeat visitor information was mainly gathered by keeping track of an iPhone's MAC address— the 12-character identifier that is broadcast when a phone is searching for nearby Wi-Fi networks."
Rather than letting retailers spy on users' devices without their awareness, Apple introduced plans last year based on Bluetooth LE iBeacons, which allow users who want to participate in retail loyalty or product information programs to explicitly opt into them, using a retailer's app to allow access to the store's iBeacons. Apple offers this in its own retail stores (below).
The report noted that iBeacon "installations don't require as much time and resources as Wi-Fi installations did," and quoted Nomi's chief executive Marc Ferrentino as saying "We're excited about this. It takes the privacy conversation off the table and puts it in the end users' control."
Fortune reported today that Nomi has sold itself to Brickstream, another retail analytics firm, after its "blow from Apple."
No on a lot of things for iOS
Apple's App Store policies have been castigated as "draconian" by a number of critics, but Apple has outlined the guiding principles behind its evolving app review guidelines to help developers from unnecessarily running afoul of them.
The document states, "We view Apps different than books or songs, which we do not curate. If you want to criticize a religion, write a book. If you want to describe sex, write a book or a song, or create a medical App. It can get complicated, but we have decided to not allow certain kinds of content in the App Store." The guidelines include "broader themes" including the bullet points:
- We have lots of kids downloading lots of Apps. Parental controls work great to protect kids, but you have to do your part too. So know that we're keeping an eye out for the kids.
- We have over a million Apps in the App Store. If your App doesn't do something useful, unique or provide some form of lasting entertainment, or if your app is plain creepy, it may not be accepted.
- If your App looks like it was cobbled together in a few days, or you're trying to get your first practice App into the store to impress your friends, please brace yourself for rejection. We have lots of serious developers who don't want their quality Apps to be surrounded by amateur hour
- If you attempt to cheat the system (for example, by trying to trick the review process, steal data from users, copy another developer's work, or manipulate the ratings) your Apps will be removed from the store and you will be expelled from the developer program.
- If your App is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps.
New app guidelines covering iOS 8 App Extensions
Apple added notes in its app guidelines related to App Extensions, but currently does not mention calculators.
- Apps hosting extensions must provide some functionality (help screens, additional settings) or they will be rejected.
- Apps hosting extensions that include marketing, advertising, or in-app purchases in their extension view will be rejected.
- Keyboard extensions must provide a method for progressing to the next keyboard.
- Keyboard extensions must remain functional with no network access or they will be rejected.
- Keyboard extensions must provide Number and Decimal keyboard types as described in the App Extension Programming Guide or they will be rejected.
- Apps offering Keyboard extensions may only collect user activity to enhance the functionality of their keyboard extension on the iOS device or they may be rejected.
New app guidelines covering iOS 8 HomeKit
Apple has added the following policies related to its HomeKit home automation framework.
- Apps using the HomeKit framework must have a primary purpose of providing home automation services.
- Apps must not use data gathered from the HomeKit APIs for advertising or other use-based data mining.
- Apps using data gathered from the HomeKit API for purposes other than improving the user experience or hardware/software performance in providing home automation functionality will be rejected.
New app guidelines covering iOS 8 HealthKit
Apple has added policies related to its new HealthKit fitness and health framework.
- Apps using the HealthKit framework must comply with applicable law for each Territory in which the App is made available
- Apps that write false or inaccurate data into HealthKit will be rejected.
- Apps using the HealthKit framework that store users' health information in iCloud will be rejected.
- Apps may not use user data gathered from the HealthKit API for advertising or other use-based data mining purposes other than improving health, medical, and fitness management, or for the purpose of medical research.
- Apps that share user data acquired via the HealthKit API with third parties without user consent will be rejected.
- Apps using the HealthKit framework must indicate integration with the Health app in their marketing text and must clearly identify the HealthKit functionality in the app's user interface.
- Apps that provide diagnoses, treatment advice, or control hardware designed to diagnose or treat medical conditions that do not provide written regulatory approval upon request will be rejected.
New app guidelines covering iOS 8 TestFlightApple has also added policies related to its new TestFlight app beta program.
- Apps may only use TestFlight to beta test apps intended for public distribution and must comply with the full App Review Guidelines.
- Apps using TestFlight must be submitted for review whenever a build contains material changes to content or functionality.
- Apps using TestFlight may not be distributed to testers in exchange for compensation of any kind.
New app guidelines covering iOS 8 Apple Pay
Apple has also added policies related to apps making use of Apple Pay.
- Apps using Apple Pay must provide all material purchase information to the user prior to sale of any good or service or they will be rejected.
- Apps using Apple Pay must use Apple Pay branding and user interface elements correctly and as described in the Apple Pay Identity Guidelines or they will be rejected.
- Apps using Apple Pay as a purchasing mechanism may not offer goods or services that violate the law of any territory in which the good or service will be delivered and may not be used for any illegal purpose.
- Apps using Apple Pay may only share user data acquired via Apple Pay with third parties when provided to facilitate or improve delivery of goods and services or to comply with legal requirements.
Apple has occasionally reviewed and changed its policies in response to user and developer feedback. Despite sometimes very vocal complaints, App Store policies has created a superior market for mobile apps that have attracted exclusive development (including games) and the best demographic of consumers. Apple's App Store sales are now far larger than iTunes' sales of other media.