I was checking some options to track my performance (kms/hr, distance, altitude, etc...), I do MTB and city biking. The first choice is a nokia based tracker (http://www.sports-tracker.com/), I love nokia phones.

I've had mine since March, and I've recently coupled it with a Powertap PRO+ power meter. The combination is a bit pricey though, but there are two great things that you get from this combo:

1) Once you've figured out your power levels, you can ride right at the edge without blowing up. This is especially important on hills where your initial effort at the bottom winds up being way too much for the conditions.

2) It's great for measuring your progress over time, especially if you test yourself on the same course over a year.

The Garmin connect software is OK. What is cool is you can look at other people's numbers to see how you stack up. For example, you can check out Ryder Hesjedal's "easy mountain day" on Stage 14 in this year's Tour de France. Newbie here - I can't add the link, but you can find it by searching for "ryder hesjedal stage 14 garmin connect".

I've used SportyPal also. Works pretty good. You also might want to check out MapMyRide. They have a Blackberry and iPhone app to track your route. Personally I find the only problems with using my cell phone as a GPS device is that the battery drains really fast, and also that the reception isn't that great.

SportyPal and MapMyRide both support GPX imports, which can be exported from a wide range of GPS devices.

I love strava.com to track my performance, my GPS collects the data, upload to strava and see where I rank for different segments of road. I can see that my friend was two seconds faster up that hill and then work harder to go faster the next time.

If you don't mind wearing something on your wrist, the Garmin Forerunners are great. You can keep all of your workouts online at Garmin Connect. They are a little pricy. There are a few models and can run you anywhere from $150 - $400. I actually have the one pictured here. I use it for running and it's the cheapest model (also the oldest). I have to admit that this is really big on my wrist. If you could afford it, get one of the newer/trimmer models.

The interface is pretty nice. If you're a programmer, you can even use their API to create your own apps to chart and track your performance! :)

I like SportyPal myself. Several platforms are supported (iPhone, BlackBerry, Android, etc) and there is a free version that does the necessities. It also does a good job of displaying your results online. This is a great choice if you don't want to buy a separate GPS/Bike computer, but you might find it lacking if you want the features from a dedicated device.

I'm currently developing GPSLog Labs to do just that. I'm a keen cyclist and built the site to track my rides and training that I record on a simple GPS logger. You can also use your Nokia or any of the many Android and iPhone apps that let you export GPX files.

It's got zillions of features and stats and does smart processing of the resulting logs to help you compare rides as accurately as possible. Give it a try and I'd love to hear what you think.

@mojo The site's under active development (though I've been a bit slack monitoring this SE), so please let know where you were having difficulties and I'll try my best to make it better.
–
TomOct 14 '10 at 11:07

I use a RunKeeper app for my phone (available for both iPhone & Android devices). It's really good and their site is pretty neat too. It does full GPS tracking (for free) and you can manually create routes and enter activities (despite the name it isn't just for running, in fact I even use it for open water swimming).

I log all my rides with a Garmin Oregon 450. After riding I download the data to my Mac and archive them using Ascent. The software lets you compare activities and gives you a lot of different metrics. You can also export your data in gpx, tcx etc. formats to use various online tools.