I hate running. In fact, as a sport I despise it and always have. Recently, however, I was challenged by a family member to run a 10k, and given that my dislike of running is outweighed by my desire to show this person up as often as I can, I’ve been forced to take the vile exercise up.

Thus began my search for a way to make running palatable. Things have improved a lot over the years. I have access to all of my music, and a number of mobile apps have evolved that at least make things interesting. Endomondo tops the list on Android.

That’s actually not saying a whole lot. The app is good, but not great. I often find myself frustrated with using it. Most of the time I find myself almost loving it but getting caught between features intended for the individual and features targeted at a social group.

As an overview, Endomondo does all of the basics that you would expect. You can track your exercise sessions using GPS, and the app allows you to indicate the type of exercise for rough estimation of calorie burn. The auto-upload to endomondo.com is really cool, allowing me to track my history either in the app or on the web site. Graphing and mapping are what you would expect, and I actually find the lap indicators very helpful.

Goal setting is also pretty complete, allowing me to set distance, time, or calorie goal, in addition to some more exotic features such as “Beat a Friend” and “Compete on Route” among others.

The UI for Endomondo is very clean and easy to use. There are a few things that drive me absolutely nuts though. First and foremost, is the lack of a way to keep the screen on when exercising. When I’m staggering down the trail wondering how much further I have to go, the last thing that I want to do is fumble with my phone trying to unlock it to see my distance. Screebl seems to handle this for me for the most part, so it’s not a show-stopper, but it seems like an easy and obvious thing to add.

I also wish that there was a very basic interface to my music from within Endomondo. For example, 80% of the time what I want to do with regard to music is skip to the next song in my playlist. For some reason, hearing She Bangs when I’m running just makes me want to kill someone, even though I’m supposed to like it. Big buttons for the next/previous song right on the status screen would be great, rather than having to click five times.

Finally with regard to the UI, the history graphs that indicate distance, speed, and elevation on a map are very cool, but seem to be quite inaccurate. For example, samples within a mile that took 9:15 to run are all over the place, but all of them are significantly above a 9:15/mile pace. Something’s off on the math, and that makes what could be a very useful report just plain frustrating. Interestingly enough, the web site version of this graph seems to be accurate. As a general rule, the stats and graphs on the web site are way more useful than the ones on the app.

My last minor annoyance is centered around the TTS audio coaching that is included. This is a very cool feature, but there is almost no control over it. For example, I would like to have the app notify me every time I’ve completed a quarter mile, and notify me of my time, but there’s no way to adjust this.

A perusal of the comments on the market indicate that some users have had issues with the GPS dropping signal, but I’ve not experienced that on any of the devices that I use.

Overall, I’m happy with Endomondo. I’ve found it to be the best balance between polish, ease of use, and functionality that’s available on the Android Market to date.