On Jul 29, 2013, at 9:44 PM, Terje Norderhaug <te...@in-progress.com> wrote:

> On Mon, Jul 29, 2013 at 7:16 PM, Alexander Repenning 
> <alexander.repenn...@colorado.edu> wrote:
> We are still keeping this at low profile but Apple just accepted our fully 
> sandboxed 3D Game and Simulation Design AgentCubes application (built in CCL) 
> into the Apple Mac App store. [...] It was quite a bit of work to get this 
> going with CCL outside of the Apple Xcode empire. 
> 
> Congratulations! Any tips and insights to share on how to get a CCL app into 
> the app store? 
> 

Terje,

too many to quickly share. The main insight would just be patience. It can 
take, and did take, some iterations to address concerns by Apple. The feedback 
provided by Apple is somewhat sparse but useful nonetheless. AgentCubes is an 
authoring application. We expected that sandboxing it would be a real pain 
given that users need to be able to store a lot of stuff in various folders to 
save their projects. In the end, it turned out that using CCL, or most other 
non Xcode-based development tools, required more research  including various 
Stackoverflow queries, to find out how to use certain tools to deal with the 
sandboxing outside of the Xcode ecology. Apple certainly could have done a 
better job to document these tools but then again all of this is somewhat 
understandable. 

We did anticipate a number of issues based on using CCL instead of Xcode but 
that turned out to be not a problem. Most of the hard problems turned out to be 
design, not implementation issues. For instance, sandboxing requires the use of 
a user container (a hidden folder somewhere inside the user space) storing 
project information. Accessing this container information through traditional 
OS X file chooser mechanisms turns out to be quite the conceptual challenge 
which can, perhaps, be best described as a PC/Post PC approach clash. In the 
end we created our own project browser to allow users to quickly browse 
projects and to open them. Check it out and let us know what you think. This 
actually works quite well and possibly even better than the regular file 
chooser based approaches but there always is the need to fall back onto file 
chooser based approaches. It is difficult to blend these two worlds. For 
instance, you may need to locate a project somewhere on a network to be 
imported into your container projects. How do you open/open 
special/import/move/ … these projects into the sandbox container. AFAIK, Apple 
does not provide much inspiration for this. Xcode is not sandboxed, for 
instance. If anybody has some ideas we love to hear about them.

The one technical issue we have left is the proper use of the store kit to 
support In-App-Purchase. When we enabled this CCL became quite unstable. Looked 
as if there were some threading issues. Could be related to our code or some 
strange incompatibility with CCL. Clearly, more research is required.

At any rate, there are some people on this list who are not all that excited 
about the new directions (Mac App store, sandboxing, post PC UX) Apple has been 
taken. I do not want to start a flamewar of any kind. If you don't like that, 
so be it. There is no need to discuss this. However, the proof is in the 
pudding. It is possible to make a CCL based, sandboxed authoring tool for the 
Mac App store. The download and installation experiences are quite nice. The 
Mac App Store is a nice service that has a good chance to make your App more 
accessible. The feedback you get from Apple about your experience can be a bit 
frustrating but also adds usability value. I just wish the CCL, and more 
generally the Lisp community, would be a bit more enthusiastic about modern 
computing platforms. If anything, I think this could be a great opportunity for 
Lisp to create some interesting tools. 

I encourage Lisp developers to make their creations available to a wider 
audience. The Apple Mac Store could be one such path. Give it a try. We'd be 
happy to share our experiences.


ps: most of our code is here: http://code.google.com/p/xmlisp/

best, Alex






Prof. Alexander Repenning

University of Colorado
Computer Science Department
Boulder, CO 80309-430

vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf


Reply via email to