

Hello, Lua. (Apple opens door to interpreters on iOS devices) - bbb
http://www.appleoutsider.com/2010/06/10/hello-lua/

======
fictorial
The title and blurb is misleading.

You need permission from Apple on an application by application basis.
Interpreted code is to be used in a "minor way" for "minor features". Thus,
writing an entire iOS app in an interpreted language (such as Lua) does not
seem likely to be allowed.

I'm not a lawyer though. Of course, Apple is fickle and contradicts itself
often. Indeed, I would not be surprised to find Titanium gets free reign and
Corona does not, or vice versa.

~~~
flatline
Why go to all the work to embed an interpreter when it only has "minor" uses?
I can't see any reason to embed something as large as Lua in a mobile app if
you aren't going to make good use of it - I would think this would include
only something like parsing/interpreting algebraic expressions, e.g. for a
calculator. I guess since it's on a case by case basis though, it could mean
anything, and they could decide it means something different than it
originally did at a later date.

~~~
raganwald
Well, consider a "Core Wars" game. The players program their entities using an
interpreted language but the game overall is in Javascript, Objective C, or
C++. That's the kind of thing they're talking about. It's minor in the sense
of interactions with the API, but it may seem major in another sense that
programming entities is the purpose of the game.

------
avar
I have altered the deal. Pray I don't alter it any further.

~~~
glhaynes
If we don't like parts of the deal as it stands and they altered one of those
parts for the better, do we really want to pray that they don't alter it
further? Witty quote and all, but it seems out of place here.

~~~
raganwald
Perhaps you think the parent post is abusing HN guidelines unfairly? It would
be a shame if I had to leave in a garrison of redditors here.

~~~
glhaynes
What? I didn't mean "out of place" as in it shouldn't be allowed to be posted
here. Just that it didn't seem applicable to the situation.

~~~
avar
Something like "you should explain a joke, it's like dissecting a frog. It's
messy and the frog doesn't survive the process" went a quote whose original
source or exact wording I can't find now.

For what it's worth I meant it in the sense that euccastro pointed out. Not
that this particular change made things worse, but that entering into a deal
which one of the parties can arbitrarily change doesn't make for the stablest
of work environments.

------
evo_9
Interesting. I'm surprised this change hasn't been covered at all by the tech
press.

So does this 100% clear the way to use tools like Unity or Appcelerator? I'm
particularly interested in Appcelerator (starting a droid/iPhone app in a few
weeks) and there isn't a clear statement on their website about this change.

Update: I've emailed appcelarator about this change and requested
clarification; I'll update again when I hear back.

Update 2: still no word from Appcelerator. I've spent some time digging
through their forums and I think they just don't know what's going on either.
It seems like they are just waiting to see what happens today when people
start to submit iOS 4 Apps. I guess we'll know the answer becaus of this
either way, hopefully soon.

~~~
cmelbye
No, absolutely not. It says in the article that this is not for platforms that
completely "take over" the app. This change is for Objective-C applications
that want/need to use Lua or other include languages for minor features, like
how Tap Tap Revenge uses Lua for its immersive themes.

~~~
dman
Apple will fight a losing battle if they specify mode of execution to limit
frameworks. Sure it will slow others down, but what happens when someone
creates a foo to objective-c compiler - for eg flash to objective-c or mono to
objective-c.

~~~
masklinn
> but what happens when someone creates a foo to objective-c compiler - for eg
> flash to objective-c or mono to objective-c.

They already exist and are specifically forbidden by the license (or were last
time I checked): the previous update added the requirements that applications
be originally written in a supported language, forbidding the usage of a
cross-compiler.

Now I'm guessing if it's your own for your own stuff (think GOAL) it's going
to fly unnoticed, but the minute a cross compiler gets enough traction, you
can bet its binaries are going to be fingerprinted and banned on sight.

~~~
dman
Stuff like this makes me very unhappy. Everyone programming in the same
language and using the same frameworks. Sounds right out of a pink floyd video
or an apple commercial from the 80s. To repeat a popular meme - the more I
grow up, the more I realise that maybe the Sith were upto something ...

------
moxiemk1
It's nice to see that Apple is starting to warm up to the idea of giving
"express written consent" to apps doing things that _might_ be considered to
run afoul.

If that got implemented on a larger scale, the concerns of developers who say
"I don't want to develop an app, then get it rejected with no warning" could
be alleviated.

A step in a more moderate direction benefits everyone.

------
st3fan
This might sound like big news but nothing has changed really. Apple has
always accepted for example games that use Python or Lua invisbly as part of
their engine.

------
dtf
Will Unity be allowed to include mono's .NET runtime as their scripting host
then? There's little practical difference between that and a game scripted
with Lua.

------
doki_pen
IMHO this doesn't help at all. The core issue is that I can't make an app that
runs on multiple platforms. I know that cross platform is against Apple's best
interest, but I just don't care. I won't be writing Apple applications.

~~~
benreesman
I'd go so far as to argue that platform lock-in is only in a vendor's best
interest in a narrow and relatively short-term way. In the long run, platform
lock-in actually undermines the incentive to innovate and compete on merit.
Eventually they became ripe targets for disruption and the cycle begins again.
I think a rational actor with a 10-year investment horizon would want open
competition to keep themselves honest.

Either way I applaud your decision.

------
snissn
So nowhere explicitly is lua enumerated in the quote from apple. Is there any
particular reason why the posted write up references lua as opposed to i dont
know perl or erlang? Are there historical reasons for its preference, as the
wiki on lua lists in its use in games?

~~~
Qz
You just answered your own question.

------
pmjordan
Hmm, so Gambit/Chicken Scheme are now fine again if you use them as
interpreters, but beware of compiling the Scheme code down to C. This is
bizzarro land - the interpreter will use more CPU time and therefore more
battery power, one of the reasons Flash isn't included.

------
benbeltran
Correct me if I'm wrong. But this refers only to unsupported interpreted code
right? Ruby for example, is OK according to this section?

------
Aaronontheweb
Does this mean that I can finally fulfill my dream of porting my WOW add-ons
to the iPhone?

------
itistoday
Question: How do you go about getting "written permission from Apple"? What's
the standard way of doing this (is there one)?

~~~
ryoshu
Email sjobs@mac.com.

~~~
masklinn
That one didn't work for me, but I got an answer on sjobs@apple.com, for what
it's worth.

~~~
izaidi
What'd he say?

~~~
masklinn
Well it was about the announcement of WebM, his reply was basically the one
he'd given about Theora (<http://hugoroy.eu/jobs-os.php>) but shorter and less
involved: that WebM is likely subject to existing patents, just like h.264,
and that the talk about free-as-in-beer (on top of free-as-in-freedom) is
likely a wish. I asked a followup question (on whether Apple would consider
the idea, and if Apple's existing patent protection re h.264 wouldn't cover
most of the threat landscape in WebOS) but didn't get any further reply.

YMMV

------
sswam
This is crap, the changed condition is still unacceptable. These conditions
are a deal-breaker for me. I would have considered buying an iPhone and
developing on it, but because of this stupid other-language-prohibition, I
will never buy an Apple product. I bought a Nokia N900 (Maemo / Debian / GNU /
Linux phone). I'm very happy being able to run anything on it without having
to jail-break or break license terms. Also it runs at up to 1.15Ghz, which is
faster than the iPad and newest iPhone.

~~~
dewski
You will hurt their market share incredibly doing so. They will also care.

~~~
probablycorey
I wish I had enough karma points to downvote you.

~~~
benreesman
I have enough, I'll do it for you. Just because you can't fight the man and
win all by yourself doesn't mean you shouldn't fight him.

------
torpor
Well, RJDJ/Trippy is an app that I've had on my iPhone for years (2?) now, and
it includes the Puredata language interpreter, so I don't see how this is new
news .. surely there have been exceptions to the Interpreter rule, just that
people may not have noticed them ..

