TouchOSC is a modular user interface for OSC and MIDI control for iPhone, iPod Touch and iPad. It's been my favourite app/MIDI controller in the last years because it is so versatile.*

*Full disclosure: I recently got Lemur for the iPad, but haven't yet time yet to dig in so that might change things.

TouchOSC supports sending and receiving Open Sound Control messages and both CoreMIDI, and the Line 6 MIDI Mobilizer interfaces for sending and receiving MIDI messages.

It can be fully customized with the free TouchOSC editor for OS X, Windows and Linux. It can thus theoretically control any kind of programme. The TouchOSC Bridge allows you to send MIDI messages from TouchOSC to any MIDI capable application on your computer, e.g. Ableton Live, and vice versa.

If you prefer custom controllers, this one's for you to get geeky. If you want to have everything preconfigured working out of the box, then try the free LiveControl template.

More info can be found on Hexler's website.

Do you already use TouchOSC? What for? Or do you prefer another app?