I like to use Screebl. It basically uses the built-in sensors to detect when I'm using the phone, and keeps the screen from turning off when I am. This allows me to put the screen timeout setting at an aggressively low duration (15 secs), without making it totally frustrating to try to read a paragraph of text. This is a good compromise for me, since once I'm finished using the phone, the screen times out really quickly (which saves battery), but I'm not constantly touching the screen to keep if from timing out in the middle of a browsing session.