One of the things that worried me about touchscreen phones (before I got one) was typing with an onscreen keyboard. Therefore, the first touchscreen phone I got was the T-mobile G1, a phone with a hardware keyboard. Since then I had an opportunity to get a Nexus One which I couldn’t ignore. And I generally dislike the onscreen keyboard as much as I expected. That has just changed however.
I just downloaded the beta of Swype for my Nexus One and the improvement is tremendous. Instead of tapping letters, you press and hold the first letter and then drag over the other letters. With a combination of seeing when you pause and a dictionary lookup, it picks up the word you wanted to type (it works a lot better than you’d expect). There are a few issues, specifically it has difficulty with very short words (mainly because there are generally more possibilities) and there is the pathological case of pit/pot/put being difficult to differentiate. But on the whole, it’s definitely an improvement.