Not a developer myself but this input method looks interesting and is kind of mezmerizing to use. It would be great if someone here could port it to the Treo and maybe use the D-pad. Check it out
http://www.inference.phy.cam.ac.uk/dasher/