Developing ARGOS—Pitfalls—Michael Lutz
Remember when I said the initial idea was for mobile development? Well, Processing had an updated version, of version 1.5 (we were using 1.2) which allegedly made porting to Android phones as easy as possible. Thus, we continued developing for the computer, rather than a phone(s). This turned out to be backwards. But to back up a bit, after completing a mostly finished version on the computer, we tried to export, and some components refused to work. Wayne and I researched why and considered ways to fix the problem. We decided to use a different component, so I modified the program and got it working—in theory. It turned out this component needed QuickTime, so it wasn’t working as it had a QuickTime dependency. So I installed QuickTime and then it would have worked. Except that it failed with the same issue. More discussions followed with much confusion. So after trying to solve it, I gave up for the day—maybe something would occur to me tomorrow. Then, I turned my computer on and it mysteriously worked. I had forgotten what’s sometimes the default solution to Windows problems—restart. So after fixing this problem then we exported again and it actually worked. At this point our sights were realigned on Android, so Wayne and I looked into the new Processing version with Android in mind. It had an Android Mode and came with its own Google Android Emulator to play the Processing programs on. As a test I tried installing a sample program onto the emulator and it failed. Did some research on the issue and the Android Developer Tools and Kit needed to be strategically outdated in order to work with Processing. After that I discovered Google’s emulator didn’t include a camera, just a placeholder object that let you know a “camera” existed. Wayne and I looked into programs that used the camera on Android and experimented with that but they were slow. The one using Processing was prohibitively slow for our purposes, making real-time play dangerous if not impossible. Still pursuing a mobile device of some kind, Wayne considered Ubuntu Linux, as it could potentially run on another portable hardware. The short version of the story is that development is ongoing, and it may use Linux or Android. Linux may be more adaptable from the current program version as it can already install on the target device—just not sure if the program can run, but it is closer than potentially starting from scratch. We managed to have different versions for Windows and Linux. The Linux version uses new components, but fortunately the program change is insignificant once the components are installed. The logic change was only around two or three lines, so it was easy to fix between them. Unfortunately I was not able to install the components (yet) on my laptop’s version of Linux, so it only works for Wayne. The Mac version is an easier Windows version as it has fewer dependencies due to QuickTime already existing. The hacked together portable version involves a backpack and my laptop using an external camera and Windows XP. The cords and wires are a mess and are prone to disconnect occasionally, so future versions for recent new tests need some harness mechanism.