Saturday, April 25, 2009

Back to Mobiles

I spent a good chunk of time, early in my career, working on mobile handset programs. They were J2ME programs, and there were a tremendous amount of limitations. In order to get back into the waters of mobile development, I recently bought an iPod Touch.

Boy, times have changed.

The iPhone OS provides quite a suite of libraries: sound, animation, data, OpenGL, and a rich UI library. You also get a whopping 8 GB of space on the base models of either the phone or touch. On the earlier Motorola J2ME handsets, we had to keep our app under 150K - a real challenge with a java app as feature rich as that one.

Of course, the major difference in device development for me is that my previous experience was in business applications. Most of my ideas for getting my feet wet on the iPhone OS are small games.

Frankly, I don't know a whole lot about this sort of thing. But it's only a matter of learning some new API's and remembering how to do some simple math transforms.

I think one of the reasons I'm drawn to this platform (as well as the Wii - one at a time, people) is that it has some potentially novel input methods. The first is the multi-touch screen, while not a new idea, widens the types of interactions one can have with the device. One can build games with innovative gesture controls which may become more intuitive then using the mouse and keyboard is now.

Second (and far more interesting), the tri-axis accelerometer provides a new level of gesture-based interaction. The device itself may be used as a steering wheel, it may be shaken to clear the screen, or it may be used to perform some other intuitive physical action.

I have a lot of ideas on paper, so now it's just a matter of getting those ideas in code.