Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Apple notified us of violations (re downloadable code)

edited December 2011 in General Posts: 120

We received a call from Apple about violations regarding downloadable executable code (namely, the .codea packages).

Edit: We have worked with Apple and have resolved the issue. The app will be available to download/purchase in the future, but we have removed the sharing feature in the next update. We will attempt to convince Apple that the feature is benign and that we should be able to keep it using their official channels.



  • Posts: 1,557

    In the current release???

  • Posts: 120

    We put in an update, which was delayed, and now this. I guess they found it in the update, but no doubt they will/have looked for it in the currently released version as well.

  • WHAT? No! Its such a great app, it introduced me lua and programming itself! No :/ no updates anymore, no please not!!

  • I was afraid this was all too good to be true. I will hope for the best...

  • Me too!

  • Posts: 1,557

    I can only think of two things it could be - the loadstring() stuff, or the ability to click on and load a .codea file. If it's loadstring() - I still kinda don't know how that's downloadable code, as it's got to be stuff on the ipad now. If it's .codea files - that'll be really annoying, cut and paste is a really bad user experience.

    It's a pity that the first rule in the app store's user guidelines isn't "user experience should trump all other rules".

  • Posts: 120

    He mentioned it was the .codea thing (emailing code specifically).

  • Posts: 1,557

    ah - wait, just read the top message in full, not in a fit of panic/rage.

    I'd push back on this. The .codea packages do nothing we can't do with cut and paste. Indeed they do nothing javascript can't do, already.

  • But that was a Great featute! With posterous in combinaton...

    Then this Website Must invent its own filesharing - somehow - ipadfriendly.

  • Posts: 120

    He is calling Simeon, who will no doubt make our case as best he can. We will see what happens then.

  • Good luck Simeon!

  • edited December 2011 Posts: 120

    @Maxiking16: Even if we implemented filesharing in some way, we would still be violating their terms (according to them, ie, downloading executable code onto the ipad, that isn't javascript meant for use in their javascript engine).

  • Posts: 1,557

    FWIW - was spelunking in app store, "luaconsole" app has at the top of it's "features":

    • Removed clipboard.pastetofile() function per request to conform with AppStore Guidelines for iOS apps
  • Crap - that means every Way of filesharing is violating their terms?

  • edited December 2011 Posts: 120

    @Bortels Looks like they are cracking down on executable code downloads in general.

    @Maxiking16 yeah pretty much (aside from copy/paste I guess)

  • Yeah but thats exactly the same - the only difference is that copy/paste is much more work -.-

  • Posts: 1,557

    They have a prohibition against downloadable code.

    It's a remnant of their war against Flash. It was originally a prohibition against interpreted code, but they slowly realized that most professional big-game devs use some sort of interpreter internally to make things easier - indeed, many use Lua. The UI in world of warcraft is largely written in Lua. So - they changed it to "no downloadable code", but I (at least) was hoping that with Flash on mobile officially dead, they'd relax that prohibition - and indeed, for a while, they seem to have had.

  • Posts: 1,557

    In the olden days - I typed in programs out of magazines. Line by Line. Took days in some cases. I had hoped those days were past. :-\

  • Posts: 1,557

    I note that Lua Coder still allows export to email.

  • Hah - had hoped, yes.

  • edited December 2011 Posts: 120

    @Maxiking16 Yeah, but that is the point I guess, they don't want it to be automated. I think its mostly for security issues. Someone could find an exploit in Codea and iOS which allowed them to write a Codea program which did something malicious on your device (or did a jailbreak perhaps). If its very easy to just run arbitrary code then it makes that leap of getting the person to run it much easier.

    Ideally they don't want apps like Codea on the store at all, but they can't ban it without banning the likes of Unity or other game engines with scripting support (well they could I guess, but they haven't).

  • Oh okay so this keeps beeing allowed - so filesharing is no problem anymore ;) just getting it on the iPad is one....

  • @Dylan - oh yes they are very narrow-minded in this ..

  • Posts: 1,557

    But - that security issue still makes no sense. You have to manually import a .codea file, and you have to start Codea and run it, and before it runs the code is right there for inspection. And even then it's sandboxed.

    You could make exactly the same observation about JavaScript.

  • Posts: 120

    Yeah I agree, but I'm just trying to work out their reasoning. I'm sure they have some. Flash seems moot at this point, so security seems the only other alternative (and they probably internally audit their javascript interpreter, so its probably pretty safe.)

  • Posts: 1,557

    Mmm... Good point, they can fire their own devs if they mess up.

    I suspect at this point it's blind adherence to rules. Which doesn't help us.

    I wonder if it's worth pointing out to them there are multiple third-party programs that could bypass this, not to mention jail breaking...

  • Posts: 3,760

    We'll sort this out.

    It might mean no more easy project importing until Apple changes their stance, sorry everyone.

  • NatNat
    Posts: 143

    "Ideally they don't want apps like Codea on the store at all, but they can't ban it without banning the likes of Unity or other game engines with scripting support (well they could I guess, but they haven't)."

    For a short while they did, and it was only because so many big name games were written in Unity or with scripting languages that they changed the rules from "only ObjC" to "no downloading code".

    But it's such a shame... Codea is such a fun programming environment and has already such a vibrant community. I hope you find some compromise with Apple.

  • Posts: 1,557

    FWIW - if they do crack down on "no importing .codea" - but we can still export codea - I'll have a perl script that, assuming you can mount the ipad as a directory (ie. jailbroken or using libmobilewhatever) will crack open the .codea file and put it onto the ipad in the right place. I already have all the parts - just need to put them together.

    And if they forbid export - I'll just do it both ways. Again, you'll need to be able to mount your ipad, but that's how it was when Codea first came out...

  • edited December 2011 Posts: 273

    I'm very sorry to hear this guys but I confess that it doesn't surprise me. I don't think that arguing with Apple will help* (nor I fear will ranting against Apple or discussing alternative work-arounds here on this forum).

    *Especially after hearing what happened to MIT's Scratch.

  • Posts: 1,557

    But - it feels SO GOOD. :-)

  • Posts: 273

    Mr. Bortels you are a gentleman and a scholar sir.

  • Posts: 1,557

    I live to serve.

    Read about Scratch - pity. But - I am hoping the environment is different between now and 2010, especially re. Flash. Sigh.

  • Posts: 383

    Sorry to hear that guys. Now that our projects are more complicated, it will be extra work to copy and paste if we want to share.

  • edited December 2011 Posts: 446

    That's too bad. Did Apple not notice this feature before or they did and are changing their minds about it now?

    Only thought that comforts me is that companies that put up barriers to innovation eventually get replaced, and that cycle is specially fast for big tech companies.

  • Posts: 120

    Simeon just got off the phone with the reviewer. We get up to 2 weeks to submit an update which removes the functionality.

  • Posts: 1,557

    Is it just import, or is it export as well?

  • edited December 2011 Posts: 622

    Is it believed that this alternative would be acceptable?:

    I leaned of iArchiveLite from this forum before .codea files.

    I have downloaded the entire source code into it which is technically downloading code but it's really only a archive reader and editor.

    If Codea could download .codea files in a non-active state it would be the same. If there was functionality to copy the files to active projects it is no different than cut and paste that was done before .codea files. This is in line with the "copy this file into my project" feature that has been discussed.

    Apple may only want a speedbump. Considering the app is not banned shows some wiggle room between Apple policy and this prototyping environment.

    Now this speedbump makes it more difficult for novice users. However, to make code easy to install for novice users it would have to be made into a real app with the future open source engine. Having easily downloadable code go though the regular app process is more in line with Apple's philosophy.

    Yes, I'd like things to stay as they are but if a few more clicks is all that is needed, it's a small price to pay for couch coding.

  • My company has run square into this. The war with Flash is one reason. But the other key reason is that they don't want other companies setting up independent app stores that could subvert their ability to collect their app tax and manage things like carrier bandwidth usage restrictions. Your code email and download is a first step in that direction whether you intend to complete the journey or not.

    The best way to get past the limits is simply to submit to their app store policies and use the in-app purchase feature to get downloadable code and modules. Apple gets their cut of any revenues and you play by the rules and get more or less the features

  • Posts: 3,760

    I discussed this with the app reviewer and he claimed that even typing the code, line-by-line, into the editor from the web could constitute "downloadable code." However he seemed hesitant to commit to whether that was guaranteed to be against the rules.

    He did say that anything that can change the experience after download from the App Store, through executable code (IAP or not), is against the rules. Anything that can export (he used the word "extract") code from the app is also against the rules.

    Yet many times he gave me the example of a scientific calculator, which can be programmed to an extent, as an example of what would be allowed on the store. So this seems like it is a gray area and we will submit a number of proposals to the App Review Board regarding ways to include this feature.

    We will make the argument that the app itself does not download code, the user initiates the action, i.e., pushes the .codea file into the app from the web.

    We will also suggest making sharing "opt-in" by default, presenting a strongly worded disclaimer, and resorting to various copy and paste solutions.

    For now we'll be submitting the next update as 1.2.7, as it includes more new features (setContext), but will remove the .codea document type.

  • Posts: 1,557

    I hate to even bring it up - sockets? My trepidation should be obvious...

  • In case Apple is wacthing, your actions here helped lead me find SL4A and consider an alternative to buying the Ipad3 as was planned.

  • Posts: 1,557

    Apple doesn't care, and you won't be happy with it.

    it's like linux, about 5 years ago. it was usable - not pretty. And not a real alternative for windows, unless you were a particular kind of fanatic (like I was, and am). Today - ubuntu is pretty darn usable.

    I'd consider an ipad competitor - if such a thing existed. Today, it doesn't - take all the good of the ipad, and all the bad apple does, and it still stands head and shoulders above the competition. I wish that wasn't the case - but it is. Fortunately - it won't be that way forever. I'm not suggesting Apple will disappear tomorrow - Microsoft is still around - but, alas, I suspect the loss of Steve is the beginning of the end - they'll coast along for a few more years on momentum, and Ives helps... but 10 years from now, they won't be on top anymore. It's not going to take forever for the competition to catch on, even google, thick as they are, aren't that thick. (I love/hate google - they do awesome tech stuff, and don't have the common sense to recognize what they're bad at and bring in good people to do it...)

  • Posts: 3,760

    I think Apple wants to allow these sorts of apps, they are just overly cautious regarding security and user experience (perhaps unnecessarily so).

    It's a gray area where one reviewer may interpret things one way, and another in a different way. The system hasn't been tested enough. Hopefully we can continue discussions with Apple and improve the way this rule is applied.

    (I probably would never have been attracted to the iPad if it wasn't for Apple's strong control over the end-user experience, so I can't complain too much about this situation.)

  • Posts: 446

    I second the suggestion of sockets. Oh and give me more I/O capability within /Codify/Library. Neight of those seem necessarily offensive to the rules. Not trying to be sneaky about it but if code sharing can't be part of the app then maybe it's ok if the app becomes powerful enough for users to do their own sharing schemes on top of it.

  • Is there anything we can do to help? I could send an email pointing out the educative benefits of being able to share Codea projects - it may be that they're looking at it as a way of sharing games and haven't thought about a lecturer wanting theor students to explore something via a little simulation.

  • Posts: 1,557

    I keep wracking my brain for a workaround - I mean, I can do it tethered (mount ipad, copy back and forth), but it's the untethered "ooh, that's nice, let's see how they did that" that's fun.

    Maybe a pragma so that a bunch of tabs can be cut and pasted in a single go? Something like a line that had "-- #TAB: Tabname", where Codea would see that and make a new tab, then move that code into the tab. You'd still have to cut and paste - but only once. There were things I wanted to look at in the pre-.codea days where I didn't, simply because I didn't want to cut and paste 12 tabs.

    That would get us down to a single operation at least. Assuming they don't blow away the ability to paste into the app.

    Is there any data sharing available between safari and the rest of iOS, other than "open with"? I'm thinking javascript that could do the select-and-cut operation with a single click. I'll have to research; if it was "click this link in javascript" (which they can't do anything about), then run Codea, make a new project, and paste...

    I also have this idea involving a RS-232 cable, suction cups, some old medical equipment, and one of those drinking birds, but I think that one needs more work.

  • beebee
    edited December 2011 Posts: 359

    Oh... great! The day we have been afraid of is here now! :(

    I think Apple is starting to be cautios about Codea's code sharing feature more because Codea is getting more attention and popularity. It has been featured on Staff Favorite in App Store for a while. C'mon... everyone will admit that Codea is the best on-iPad coding app. Every techie blogs I know is praising and talking about it.

    I think Apple isn't fair. Many other coding apps have email code sharing feature for ages, even before Codea existed. And they still got the feature now. There's no sign they got the same notification as Codea. I suspect Apple don't care about them simply because they're not as popular as Codea.

    Can't TwoLivesLeft argue with Apple using that fact? Why other app is allowed to have the exact same feature but Codea isn't? And, as asked by Andrew, is there anything we can do to help? Send email to Apple, made a petition, or something?

  • Posts: 1,557

    Can you name a coding app on the ipad or iphone that allows email import/export? I looked at the lua apps today, and none of them seemed to have it - indeed, one had removed their import at apple's insistence. Part of me says the same thing - find examples of others doing it - and part of me says that it will just bring apple down on them as well.

  • Posts: 3,760

    Apple told me that those other apps have also "slipped through" the process and should not have those features.

    Our plan is to submit 1.2.7 with sharing disabled. Then we will submit 1.2.8 with sharing re-enabled through an opt-in process with a warning. We will also notify Apple of its inclusion. If rejected, we will appeal the decision in an attempt to initiate further discussion.

Sign In or Register to comment.