So I finally dipped my toe into some ‘real’ output in the last few days. If the virtual can be considered real. I picked up my first Android phone earlier this year: a Sony Ericsson X10. Certainly not the speediest unit around, but it was going cheap, and with a student budget that is putting the Fear of Jeebus into me on a daily basis, it was a better choice than it’s daddy’s-trust-fund-cousin, the iPhone.
It turned out to be a fortunate choice, as Processing have recently set loose a (beta) version of their IDE, which outputs Android ‘applications’, directly into the device. For anyone who – like me – has just enough knowledge to break things, but not quite enough to fix them again, be prepared to get a little bit frustrated. These Android versions of Processing aren’t ready for the real world yet, and although there’s a growing world of information out there to help you get started, you’ll probably run into some snags that don’t yet have a walkthrough to get you back out again.
For me, it was probably half a day worth of scratching my head, before I somehow managed to get it working. So here are a few of the problems I had, for anyone else struggling…
- Unlike some tutorials out there, installing all the packages in the Android SDK seemed to confuse Processing. Only installing the version 7 packages was the way forward for me.
- If you get weird errors from Processing, relating to Android SDK packages… yep, try turning the computer off and on again.
- The vast majority of Processing libraries don’t currently work in Android. For those that do, you’ll probably need to add them to the Processing sketch, as you would for other assets, like an image.
By the time I’ve published this post, all that I’ve just written will probably be redundant anyway, so take it with a grain of salt. There seems to be many people working on getting Android Processing up and running as quickly as possible, so changes will probably happen quickly. Definitely check out the forum.
My starting point, was an excellent tutorial by Jer Thorp. For me, it didn’t go quite as smoothly as the instructions would suggest, but it was very helpful to at least get the ball rolling.
So, how does this all relate to my Honours project this year…? For the sensory devices I create for the children participating in the project, I would like to allow the parents/carers to maintain some level of control, mostly in case of over-stimulation. Instead of needing to physically remove the device from the child, potentially upsetting them, a simple Android application could slowly power the unit down, or set to time-out after a specific period – all remotely. I have also thrown around the idea of logging data via an Android application, but that may happen later in the year.
A networking library that seems to already be friendly on Android Processing is oscP5. I’ve used this one previously, so I know it’s fairly rock-solid and has the added bonus of being able to create proper English naming conventions. No crazy number lists for me! Probably.
This post from the Android Processing forum kicked things off, before using the HScrollbar example to make a dead simple remote control device. Unfortunately, it manages to crash after about 20-30 seconds. As yet, I’ve got no idea how to debug Android Processing code once it’s on a device.
(Yes, spiritual jazz makes me code better.) Although temperamental at the moment, I’m happy with this as a proof of concept. And in spite of my pointing out that you’re likely to run into a bunch of problems with Android Processing in these beta stages, it really is a whole lot easier than learning to program for iPhone from scratch (unless of course, if you’re a gun C-programmer, in which case, you shouldn’t be reading my blog).