The virtual keyboard
Canesta have a keyboard for mobile devices which uses optical scanning to track the users fingers typing on a flat surface - so you don’t actually need to carry a keyboard with you, it projects a picture of a keyboard onto the surface you type on. You don’t get much feedback as to whether a key is pressed or not, but you do get to type on a full size keyboard.
Not sure that I have a suitable flat surface nearby a lot of the times that I’m entering text into my mobile, but it’d be a handy extra text-entry method for when I wanted to enter a lot of text and would therefore go to the trouble of finding a flat surface.
On the website is also a good list of links to usability info for small devices.