Mobile Processing

I just got myself a new phone. It’s a Motorola V360. So far I’m very impressed with it. It takes photos, video (3GP format, which quicktime pro reads and writes) and syncs with iCal via bluetooth as if Motorola and Apple had designed the systems to work with each other. But the thing I’m finding most interesting is that the phone is Java capable. So, now I’m keen to think about what I can write for the phone in Java. Mitchell reminded me of a little gem called Processing Mobile. It’s Processing, but it can be used to create MIDlets – java applets that run on your phone.

So, there’s some limitations to MIDlet programming. No floating points is one of the big ones.  That means everything has to be in integer maths.  It’s a lot like going back to the old Amiga 68K demo days.  That’s fine, but the real problem is speed – or lack of it.  The average mobile has only a few megahertz to run applications, and with the overhead from Java the actual framerates you’re likely to get are pretty poor.  Turns out that most mobile manufacturers release customs SDKs for their phones, and game makers produce different Java jars for each brand they want to run.  Wow.  So much for the wonders of Java as a cross platform, write-once, run anywhere language.

Gravity in processing

I was mucking about with processing a little while ago and made a little gravity simulator. The basic particle interactions can be seen here. Most people using processing don’t seem to use it to produce animations like this, but instead use various techniques (mainly alpha-blending) to construct procedural images. My colleague Mitchell Whitelaw has some examples of basic explosion modelling on his web site.

My example depicts particle mass as size, and velocity as colour. If you render the particles with a low alpha and don’t clear the screen between updates, you get this.

Software as text

It’s not a new idea, but it’s one that I think has more legs than I’m seeing evidence of in the academic press. Cultural studies developed the idea of a text in the 1980s to include all kinds of things — from photos, soap opera and film, to consumer objects like cars and the Sony Walkman.

A text is something that is imbued with meaning through a process of production and consumption. So, a classical text (a poem, say) is produced by a writer, who intends the poem to have some meaning. For cultural studies, the reader then is free to interpret the text in a way that might be different to the author’s original intent.

So, what does all this have to do with software? Software can be treated as a text, too. It’s written by people who have a clear idea of its use. In many cases, software will be used as expected, but sometimes people use software for unexpected things. Software also has meaning – meaning that is written into it by the software’s makers, and meaning that is ‘read’ from it by software users.

It’s an interesting concept that provides one way of looking at software as a politically-bounded cultural object, rather than as a technological object that is somehow curiously neutral.