April 16, 2010
Enterprises using Apple mobile devices and third-party application development platforms should be aware of, but probably needn't fear, a pair of
controversial aspects in the upcoming iPhone OS 4
At issue are an expanded licensing clause about acceptable development tools and a vague reference to new mobile device management features. The former was revealed in John Gruber's well-known Daring Fireball blog
and the latter announced directly by Apple CEO Steve Jobs in his operating system announcement, both on April 8.
Both items are now being widely debated in blogs and forums, but so far only limited light has been shed on the real meaning.
For the software builder clause, Apple's iPhone Developer Program License Agreement, in section 3.3.1, previously stated: "Applications may only
use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs." Now, for IPhone OS 4, it continues:
directly link against the Documented APIs," with additional explanation that "Applications that link to Documented APIs through an intermediary
translation or compatibility layer or tool are prohibited."
This presents several questions. What does "originally written" mean if a program is not hand-coded, and as long as a development tool's resulting
"It's a critical point of confusion," explains the CEO of a prominent enterprise mobile software vendor who declined to speak on-the-record.
Three of the four largest mobile enterprise application platform vendors say their code is already compliant or will soon be compliant:
- Sybase's Senthil Krishnapillai, director of product management: "The quick answer is no, it does not really cover us. We already generate the
Objective-C using Xcode."
- Syclo's Joe Granda, executive vice president, marketing: "We have waited to do it right." Syclo's current 5.1 platform does not support iPhone but it
will beginning with the 5.3 upgrade being announced soon, he says.
- Spring Wireless's Cristiano Oliveira, CTO: "There is no practical impact... once our deployment approach is based on configuration and not coding.
Our mSeries client for iPhone is a 100% native Cocoa Touch app, which interprets parameters sent to / stored on the device in order to build app
screens, flow and rules."
- The fourth major vendor in this space, Antenna Software, did not respond. But the company already makes iPhone administration tools for AT&T,
which is Apple's exclusive U.S. wireless carrier, so it's a safe bet their development system will comply.
Life is likely more complicated for open-source platforms. The largest one, Novell's Mono, makes Microsoft's C# and .Net tools work for
non-Microsoft environments. Novell posted a statement about its MonoTouch implementation for the iPhone: "We are reaching out to Apple for
clarification on their intention, and believe there is plenty of room for course-correction prior to the final release of the 4.0 SDK... If Apple's motives
are technical, or are intended to ensure the use of the Apple tool chain, MonoTouch should have little difficulty staying compliant with the terms of the
SDK. MonoTouch runs only on Mac OS X, and integrates tightly with Xcode and the iPhone SDK. Applications built with MonoTouch are native
applications indistinguishable from native applications, only expose Apple's documented APIs and uses a rigorous test suite to ensure that we
conform to the iPhone OS ABIs and APIs.... Support for iPhone OS 4.0 on MonoTouch will be arriving soon."
A technical executive at another open-source iPhone development shop, who requested anonymity because he is unauthorized to comment, points
out that even if a development environment outputs exquisite Apple code, there are still ways of spotting its original source. "[Apple] can look for
fingerprints," such as the Low-Level Virtual Machine, which is an Apple-preferred compiler. With outside translation layers, "We're almost 100%
certain that most people are using it because it's good," he laments.
"Apple's put me in an interesing predicatment. We have this huge demand for applications," explains the IT manager of a large law firm that deploys iPhones and also requested anonymity. "It's just not a practical realtiy for most companies. They're really cutting themselves off at the feet with that policy. Tthey could have this massive developer base," he says. "I love Apple, I love Apple products, but the geek in me is saying, 'Jobs, are you nuts?'"
The news is better on the mobile device management front. "New Mobile Device Management APIs can be integrated with third-party solutions to
wirelessly configure and update settings, monitor compliance with corporate policies, and even wipe or lock managed iPhone devices," Apple states
on its web site. That means anybody who registers and downloads the iPhone OS 4 SDK can, in theory, make their own device management tools --
it's the exact opposite approach Apple is taking to software development.
"Leading MDM vendors have already started work on incorporating the MDM APIs into their products. More specific information about what can be managed will be made available when iPhone OS 4 is available this summer," Apple spokeswoman Trudy Muller adds.
Sybase's Krishnapillai, whose company also makes device management systems, declined to comment. But overall, "So far we are very, very happy with what the new features expose... From a development standpoint with 4.0 I would say they are on par with the other platforms."