If you haven't tried Swype yet and have an Android phone with an HVGA (480h x 320w), WVGA (800h x 480w) or WVGA854(854h x 480w) screen hurry over to beta.swype.com and signup. Swype will be accepting new Beta testers for "...a few days" at most.
I was able to get into the first Swype Beta and have been using Swype for several months on an HTC Evo and an HTC MyTouch 3G (Sapphire) and thoroughly recommend it.
Swype is a alternate keyboard for touchscreen phones. It looks like a normal keyboard and you can use it as one if you want. The magic of Swype is that it enables another input mode that you use by quickly tracing your fingers over the the letters of a word. You can be fast and sloppy and Swype will do a great job of figuring out what you are trying to type. It's from the creators of the T9 predictive text system used on most 12 key phones and like T9 it uses a dictionary (English, Spanish and Italian are supported) and some sophisticated heuristics to figure out what you Swyped. If there is any ambiguity, your are presented with a list of words to choose from. Swype learns from it's mistakes and automatically adds any words that you type in the old fashion way to its dictionary which can also be edited manually.
Before Swype I disliked on-screen keyboards. The iPhone's is the best of the lot but still seems to be slower and more error prone than a good physical QWERTY like the BlackBerry Curve's or the Nokia E71's. Without Swype I make a lot of mistakes using all the touch keyboards I've tried, especially on smaller screen phones like the MyTouch. Swype opened my eyes to the possibilities of touch for data entry. I can Swype on the MyTouch at least as fast as I can type on an E71. Definitely amazing, give it a try now while it's available and free. Don't worry about the Beta label either, I've found Swype extremely stable on both my phones, I don't think I've had it force close ever and it doesn't seem to have any impact on memory usage or overall phone stability either.