How exactly does runrev for ipad/iphone work?
Richard Gaskin
ambassador at fourthworld.com
Thu May 6 14:19:16 EDT 2010
Randall Reetz wrote:
> Is there a resource online or a white paper that describes in basic
> language how runrev for mobile (specifically for apple products)
> works? Does it use apple's blessed dev environment at any step in
> the process? In what form are the final builds? Does it require a
> player app to be installed on each devise? In short, how does runrev
> for mobile differ architecturally from the fully blessed apple
> environment and app format?
The last build RunRev shared with its early adopters worked in a way
that was compliant with the license terms in force at the time they
started that investment, but which has since become redefined by Apple
as verboten:
You wrote in RevTalk, which the engine then compiled down to a form of
object code that would run well on the iPhone with no player and no
interpreted code.
But under the rules in effect as of 11:19AM this morning (which may
change again by this afternoon), one of the unprecedented elements of
the license is that Apple limits not only the state of the deliverable
object code, but also the provenance of the source code:
3.3.1 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).
For more on this provenance aspect see Hank Williams' post:
<http://whydoeseverythingsuck.com/2010/04/jobs-bans-non-c-libraries-insane.html>
The "must be originally written in" clause is the killer here. Even
translating RevTalk to generate C/C++/Objective-C code which was fully
compliant with all technical aspects and in all ways indistinguishable
from human-written code would be punishable under criminal law.
Whether using psuedocode during design, as is a common practice, also
violates this clause has yet to be tested.
> What are the current plans and how have they changed runrev's
> previous plans for the revmobile product's base architecture
> and release protocols?
Currently unknown.
Kevin has noted here that he is in negotiations with Apple to determine
the best course of action in light of their sweeping and unexpected
change, and will report back here as soon as the outcome is known.
As currently written, Apple's current iPhone license agreement seems to
leave only four options available to developers:
1. Developing using Apple APIs in only C/C++/Objective-C; because
of the unusual provenance clause this option does not appear
to be available to RunRev at this time.
2. Develop using JavaScript and WebKit; possible for RunRev, but
while some of us do a bit of that in very limited ways it would
no doubt be very costly to generate JS from the whole of RevTalk
(though Toolbook kinda did that in a useful way).
3. Develop for the rest of the world and wait for Apple to change.
4. Develop for the rest of the world, and for iPhone OS deploy only
for "in-house" use under the special provisioning rules that
allow it, bypassing the AppStore.
I've seen nothing in the license or discussion of it which suggest there
is a fifth option; at least any fifth option that doesn't leave
developers even more exposed to risk than they already are.
I'm confident Kevin will choose from the limited options Apple has
provided its developers the one that's in the best interest of this
customers.
--
Richard Gaskin
Fourth World
Rev training and consulting: http://www.fourthworld.com
Webzine for Rev developers: http://www.revjournal.com
revJournal blog: http://revjournal.com/blog.irv
More information about the use-livecode
mailing list