Some thoughts on designing UI's for multi-touch
I see a lot more people starting to talk about multi-touch (MT) now but still the conversations are centred around the devices, the hardware and not so much about the design of the software that runs on the devices.
HP has released some new units (http://h30440.www3.hp.com/campaigns/touchsmart/IQ500_NA/Model.html) that have a touch screen feature, but these appear to be single touch so realistically it's a different scenario, and because of the form factor (being a screen propped upright) there is a clearly defined rule set when considering developing for these units.
The challenges are apparent when you consider a desk or table form factor MT device. You don't know which side of the desk is considered to be the bottom, top or specific side because a user can sit at either side, so understanding transformations is a key but as you have probably just realised, panel based controls need to also be able to cope with this.
Another careful consideration that you must give to your UI and UE is implicit element clicking. Because the end users are just using fingers or fiducials (physical objects on top of a MT device), the concept of clicking is non apparent in gestures. You have pressure detection, sliding and directional rotation. You may be thinking "but what about a quick double tap"? This is a possibility, but why start down that road again (the road of un-natural gesturing) - in the real world you handle and move items, such as moving a piece of paper from one side of your desk to the other.
You need to consider natural and implicit element selection. An example would be where traditionally (in software) we select items in a menu structure; in an MT environment the dragging of an element from within its menu construct to another area on the screen could be understood to be the selection made.
There are many such scenarios that present themselves when using an MT device, but the secret to creating successful software for MT is to think about these scenarios when designing your software, before writing it and not during or after it.