I have an iPhone app called cyclemeter, it a fantastic tool. Does everything as above but you can also buy a heart rate monitor for it ( wireless ) as also stated it kills the battery after 2-3 hours cycling. I use it as a good excuse to stop at a pub and get a beer while I cheekily ask to charge my phone