iPhone support?

It appears that David just checked in some initial iphone stuff, w.i.p.:

Apr 17 20:11:43 <CIA-54>	drwr * dtool/ (15 files in 3 dirs): initial iphone stuff, w.i.p.
Apr 17 20:12:26 <CIA-54>	drwr * panda/src/ (38 files in 6 dirs): initial iphone stuff, w.i.p.

Wow, if this isn’t an extended April Fool’s joke, David, you’re awesome. :smiley:

I gotta get myself an iPhone / iPod touch :slight_smile:

This would be so amazing! I was already thinking I’d need to get comfy with Unity or some other engine to play with iPhone development eventually, this would spare me the bother.

a-ha! here’s why his presence here in the forums is decreased noticeably lately. It would be an outstanding addition indeed!

Hah, you caught me. Yep, that’s what I’ve been working on; making progress, but still got more to go.


:open_mouth: Panda rocks!

Is the plan for the iPhone support for the programming to still be done mainly in python or is it going to be some sort of objective-c interface?

Python. Basically the IPhone is like a little Mac, and we don’t require Objective-C when writing Panda apps on the Mac.

Objective-C is necessary only for calls into Cocoa and similar interface libraries. Since Panda normally handles all these low-level calls anyway, there’s no reason to burden the application programmer with Objective-C (unless he chooses that language, of course).


hm… so panda will run on ARM stuff too? iphone aside this should include the soon-to-appear ultracheap netbook, right?

That sounds great! I asked cause I think read somewhere while researching on python for the iPhone that something in the apple developers agreement restricted the use of python on the iPhone.

Wow nice. Will it be able to enter iPhone’s core, to for exp. overclock/underclock the iPhone to make sure it will always make 31 FPS?

No reason Panda can’t be compiled for ARM, just like any other C++ program. We already compile for i386 and ppc, and we used to compile for SGI’s MIPSPro chipset as well.

I think the line you’re thinking of is from paragraph 3.3.2:

At first blush, this appears to preclude the use of all interpreted languages. But the key word there is “downloaded.” The point is not to exclude the use of an interpreted language within an application, but to exclude the production of an application that can be used to download and run new code that was not part of the original application. That is, Apple doesn’t allow applications that run other applications, presumably because that interferes with Apple’s ability to charge fees on a per-application basis.

I don’t think there’s anything in that sentence that precludes a self-contained application from running an interpreter on itself. (And indeed, it would be difficult to define such a behavior precisely anyway.)


You’re right. And here I was thinking, “How can it get any better…”

Some tangible progress:


You sir, are the win.

drops his jaw… has it been a week or so???
this is insanely cool.
till now i never wanted to buy an iphone… right now i have this… sudden urge… aarggh :smiley:

really nice job david… really nice. how about accessing the webcam and the acc-sensors via python?


The good old rusty triangle! Wow, that’s awesome indeed, David!

I’m wondering if we also should have an iPhone download on the download page, later, when the port is finished.

Haha, I think getting Python integration and the touchpad working first is slightly more important :slight_smile:
About the webcam: it appears OpenCV works for iPhone, so that would be just a matter of compiling with OpenCV, I guess.

Hmmm, the iPhone has multi-touch right? So to get it working panda will need a multitouch interface… and this makes me wonder if its possible to get such an interface working under Linux or Windows at well? I’ld be rather curious to see what kinds of interface could be created by plugging two mice into a computer, one per hand. Or even just good old fashioned split screen multi-player.

Oh, and this iPhone support, especially how quickly its coming together, is sweet:-)

Sounds to me like either the mouse interface would have to be extended to support multiple clicks at the same time, but maybe it would be easier if a new sort of device was created that just throws an event for every click, or so, or supports polling for multiple clicks.
I’d indeed be very interested to see what can be done with it. I’d be almost tempted to buy an iPhone myself.

suddenly imagines artoolkit on an iphone, gets dizzy