Let's face it; touch screen typing can be frustrating, time-consuming and less than accurate. Unfortunately, it's pretty unlikely that there will ever be an iPhone with a keyboard; but that doesn't mean that people who prefer them are out of luck.
With this device, you can turn your iPhone into a texting machine by providing a physical, tactile keyboard and free yourself from the pains of having to use an on-screen keyboard! Just slide out the full-featured keyboard, type your text message or email and move on.
The Sliding Keyboard Case has a smart and portable size and connects by Bluetooth which leaves your iDevice port open with no cables to get in your way.

The keyboard is very easy to figure out how to use, works with any app where the onscreen keyboard would appear and can be hidden when not in use. Its ultra-thin slide-out design adds 0.75 inches to the thickness of the iPhone, which isn't terrible, and allows easy access to all of iPhone 4's controls, features, camera, and ports.
If you haven’t gotten an iPhone because it doesn’t have a slide-out keyboard, now you have no excuse!
$24.99
from Thinkgeek.com

The Sliding Keyboard Case has a smart and portable size and connects by Bluetooth which leaves your iDevice port open with no cables to get in your way.

The keyboard is very easy to figure out how to use, works with any app where the onscreen keyboard would appear and can be hidden when not in use. Its ultra-thin slide-out design adds 0.75 inches to the thickness of the iPhone, which isn't terrible, and allows easy access to all of iPhone 4's controls, features, camera, and ports.
If you haven’t gotten an iPhone because it doesn’t have a slide-out keyboard, now you have no excuse!
$24.99
from Thinkgeek.com