Weents Blog Support Center

Contact Us

An update on OpenPlug and Apple’s new iPhone Developer Program License Agreement

What has happened ?

Since Apple changed the terms of its iPhone Developer License Agreement on April 8th, our users have wondered how these changes affect their ability to create native iPhone apps with ELIPS Studio and more generally have expressed concerns about Apple’s motivations.

 

Why is Apple doing this ?

We at OpenPlug believe that Apple’s rationale is to preserve the uniqueness of the user experience with iPhone applications and the competitive advantage that comes with it versus other platforms. Speaking personally as a happy iPhone 3GS user, I think the iPhone and its apps ecosystem deliver the best mobile user experience on Earth today and I hope Apple and iPhone developers will continue to push the envelope to preserve that.

 

ELIPS Studio fits in Apple’s vision

ELIPS Studio fits perfectly with this vision. Indeed, a number of technical innovations in our product ensure that developers get the best from the iPhone and not a watered-down experience:

ELIPS Apps run with the best performance that the iPhone hardware + OS can give because they are made of C++ compiled with the iPhone SDK compiler
ELIPS Apps can make use of the native UI components of the iPhone so that they don’t look the same as apps built for other platforms
ELIPS Developers can code in Objective-C, C or C++ for specific features of their Apps
ELIPS Studio allows developers to leverage the specificities of each platform in a productive way. This is very different from other cross-platform mobile development solutions that provide the same capabilities whatever the underlying device platform is, going for the lowest-common-denominator in the process. Our vision is that development tools must expose the strengths and unique features that make each mobile device different instead of coaxing developers into a one-size-fits-all development environment.

ELIPS Studio helps developers succeed

On the other hand, we also believe that it is our mission to help developers be more successful by allowing them to leverage their unique skills, reuse code assets in which they have invested man-years of labor and reach the widest market potential for their apps.

ELIPS Studio is a powerful tool to reach these goals thanks to unique features like the ability to code parts of their application in ActionScript using common Flex framework components and design patterns, importing libraries of code to access popular web services or mission-critical entreprise backends, and building their apps natively for multiple mobile device platforms from the same code base.

Corona, Covid-19, Covid, Corona App, App, Program

I would like to highlight that last point: by “same code base” we by no means intend “exact same code”. Rather, ELIPS Studio allows a “Write Once, Tweak for Any, Build for All” approach.

So what’s the problem ?

Having stressed the fact that ELIPS Studio fits with Apple’s vision, let’s now go through the new agreement terms in detail. Clause 3.3.1 states that :

“Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).”

Let’s break this down chunk by chunk and see how it applies to ELIPS Studio.

a) “Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs”: ELIPS Studio only makes use of Apple’s documented APIs, check more https://jatapp.com/services/mobile-app-development/. Period. Legality aside, making use of private APIs does not make sense for us since maintaining compatibility with new iPhone OS releases would then become a nightmare.

b) “Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine”: Depending on how the term “originally” is interpreted, ELIPS Studio may or may not fall under this clause. ELIPS Studio compiles the parts of the developer’s code that are in Actionscript into C++ before the application is built with the gcc compiler and packaged in the .ipa format.

c) “only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs”: ELIPS Studio applications include an execution library that we have developed in these languages.

d) “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited”: the C++ code created with ELIPS Studio is linked with the execution library mentioned in c) above, which may be considered to be a “compatibility layer” or may be considered to be just like any other C++ library that the developer wants to use.

What we can conclude

We believe that ELIPS Studio is definitely aligned with Apple’s vision and interests. ELIPS Studio preserves the capability for iPhone developers to rely on the unique features provided by Apple’s platform.

Even if the terms employed in the new iPhone Developer License Agreement leave room for interpretation, we think that they do not prevent from developing applications for Apple’s devices with ELIPS Studio.

We have no indication that Apple is going to reject applications created with ELIPS Studio. Experience has shown that Apple tends to have strict language in its agreements but that their enforcement is more loose (see for example the recent approval and availability of the Opera Mini web browser on the App Store).

We will continue investigating further the potential impact of this new Apple policy and will keep our users and partners posted should we revise our understanding.

Stay assured that we are keeping our course of development and improvements with the forthcoming ELIPS Studio beta 5 version this month and commercial release in May.

Want to chat ?

If you as an ELIPS Studio user encounter any issue with Apple when submitting your apps for approval, please let us know either through the Forum or by email at elips3@openplug.com .

Feel free to contact me directly if you want to discuss further this matter.