Posted by: jsonmez | January 4, 2011

Introducing PaceMaker for Android

I’ve been working on a secret side project.

ic_launcher_pacemaker72x72

You can find it on your android market by searching for “PaceMaker” or using this AppBrain link.

Or if you are reading this on your phone, try this link.

qr

If you have seen a few of my posts on Android development, you might have guessed it is an Android application.

If you have seen my post on fitness, you might have guessed it is a fitness app.

Why another running app?

You probably are already familiar with the running applications that are out there, and several of them are really good.

So the question remains, why would I create another running application?

Let me tell you about my own experience trying to get back into shape and when I starting running and see if that answers the question.

Early last year, I decided to start running to get back into shape.  I used a running program called Couch to 5k to get up to being able to run 5k.

I was able to use several of the running applications available for my phone at the time to chart my runs and even post them online.  This was great, but one of the big things I was struggling with was knowing if I was running at the right pace.

On a treadmill this is easy, you can set the MPH you would like to run or the pace and the treadmill will hum along at that pace.  If you want to be running at a 10:00 minute / mile pace, you can easily do it.

When you are outside running, you can’t just run at 10:00 minutes per mile.  You can guess that you are running about that fast, but it is very hard to know.

It’s pretty important to be able to run at a desired pace, for two main reasons:

  1. Making it the whole distance (you don’t want to run too fast or you will die out)
  2. Improving your running (you need to start running at a faster pace gradually in order to get faster)

So as I was running I found that I needed to know what pace I was running, so that I could speed up or slow down if I was running too far above or below that pace.

Once I could run 5k, this became really important, because I wanted to improve my time, but I didn’t want to increase my distance.  (Most experts say running more than about 5k tends to lead to muscle loss, I don’t want to lose muscle, just fat!)

I tried using a Garmin watch to monitor my pace, but that didn’t work out well for a few reasons:

  • It’s clunky and you have to keep trying to look at your wrist while running which causes you to slow down.
  • It’s hard to read small numbers on your bobbing wrist, especially in bright light.
  • The GPS on it took forever to get a lock.
  • The batteries were always dead when I wanted to run.

I set out to make a running application that was mainly geared around tracking your pace.  What I wanted was audio notifications or vibrations which indicated when I was over or under my desired pace by a certain amount.  I couldn’t find any application that would do this, so I created one.

PaceMaker is designed to solve a very specific problem, running at a desired pace outside.  Sure, it tracks your run and will show it on a map, but the primary focus of this application is to help you run at your desired pace.

How does it work?

Once you download the application, it is very simple to use.

The main screen shows your current pace, your target pace, how long you have been running, the distance you have run so far and how many seconds below or above the current pace you are.

Main

Notice the pace is in nice large numbers, so you can read it easily while running.  If you tap the overall pace, it will show your current pace and vice versa.

Overall pace is the pace you have run since you started running while current pace is the approximate current pace in the last 30 seconds or so.

Pressing the start button will start your run, and pressing it again will stop your run, saving your run to a GPX file on your SD Card.

While you are running, if you are over or under your target pace by the amount you set, you will get a nice audio notification saying “Speed up!” or “Slow down!”

You can configure all of these settings in the settings screens.

settings

From this screen you can set the target pace in minutes and seconds, and the distance in miles or kilometers.  You can also set up the alerts.

alerts

From the alerts screen, you can set the alert to fire if you are running too fast or too slow by 15, 30, 45 or 60 seconds, or choose to not alert you.

You can also choose which sound to play if you are running too fast or slow.  A default is provided, but you can select any ringtone on your phone.

Setting the vibrate function will vibrate the phone in a pattern to notify you if you are too fast or slow.

history

All the runs on your SD card can be viewed from the history screen.  Selecting an individual run will display that run and the details on a map.

history_detail

Comments or suggestions

This is my first Android app, so it was quite a learning experience.  I would appreciate any feedback if you end up buying the application, and 5 star ratings are always appreciated.

I intend to fix any bugs or solve any problems that any users report as well as implement many suggestions, so if you have any please let me know.

If you wouldn’t mind sharing this link with anyone you know who is a runner and has an Android phone, I would be appreciative.

As always, you can subscribe to this RSS feed to follow my posts on Making the Complex Simple.  Feel free to check out ElegantCode.com where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter here.

Responses

  1. […] you are reading this on your phone, try this link. If you have seen a few of my posts on Android… [full post] jsonmez Making the Complex Simple uncategorized 0 0 0 0 […]

  2. Sounds like a very cool app. Might want to consider getting a screenshot with real numbers as main.png though 🙂

    • It’s a shame you have to enter a comment if you want to use “Notify me of follow-up comments via email.” even if you already submitted a comment, or you have nothing to say :/

    • Hmm, good point. I’ll have to figure out a way to get some accurate data. I think I can upload a GPX file to the emulator to take a screen shot. Will have to go for a run and do that.

      • If you install the debugging driver you can just take the screenshot from your phone directly.

  3. […] recently released a Java based Android application called PaceMaker.  When I had started out building this application, I set out with the high and mighty goal of […]

  4. I just purchased the app. I am excited to try it out tomorrow morning. I’ve been looking for an app that has this precise feature. The only dislike so far (without actually trying out the app out doors) is that background. I’m just not too crazy about it.

    I’ve been using runkeeper pro. If the coaching option from rkp can be somehow integrated to this app… it’d be awesome.

    • Awesome, let me know if you have any feedback. Working to improve it as much as possible.

  5. Good Morning Mr. Sonmez,

    You have posted on a forum that I frequent belonging to Boiserunwalk. I was wondering if you might be interested in working with Runnerslog.com and have your droid app be able to post in our members pages. We are working on an app ourselves, so there would not be any exclusivity, but I would have no problem with allowing your users to update on runnerslog. Perhaps there is a cross promotion we could do. Our app is specifically for Runnerslog’s QuickLog function.

    This can be mutually beneficial in that you would get more users and we would increase our memberships. Since membership on Runnerslog.com is free, there would be no expense for the clients that you have on your app.

    If this is something that you are interested in looking at, please contact me at my email address listed.

    Thank you for your time, I hope to hear back from you.

  6. Is it possible to listen to music through my phone at the same time as using this, or do I need it to run on it’s own to hear the commands to speed up etc???

    • Yes, you can. You might get slightly different results depending on if you are using a bluetooth headset or not, because of the way the Android OS handles the audio.

  7. […] I thought I had a pretty good understanding of the Android fundamentals, having published a fairly complex application, PaceMaker. […]

  8. Hi
    I just bought the app and tried it out for the first time today. It works great! However I have a suggestion. I would like to be able to control at what rate it checks my speed. Now if I am going up-hill it immediately notice my decline. Also now if I slower than my target-speed it tells me every 10 seconds which is annoying when I listen to audiobooks while running. Small details to an otherwise great app. Thanks, Freddie

    • I Freddie,

      Sorry for the delay. Been at the hospital, just had our first baby!

      I am currently looking at that issue, will try to get a fix out as soon as I can that either lets you adjust it or sets it to a more reasonable time. I think it may have stopped working properly, because I had it set so it only told you every 15 seconds. Will check though.

  9. […] PaceMaker for iPhone Released Earlier this year I announced the release of an app I had been working on for Android called PaceMaker. […]

  10. Hi,

    Just purchased Pacemaker for android. Are you still working on it? I’d like to see that the margin can be set to less than 15 seconds. A different background would be nice too!
    After more testruns i will post my feedback.

    • I haven’t updated it in a while, but I can probably get some changes in based on feedback. Was thinking about allowing for different background. I would suggest against a margin of less than 15 seconds. I lock it down, because anything less is VERY frustrating. As you use it, you will see that your actual pace fluctuates quite a bit over a couple of seconds. I actually use +/- 30 seconds and I think that is optimal. You end up speeding up and slowing down till you revert to mean, which is usually right around your target.

      So basically if you set a 9 minute mile pace and +/- 30 seconds, you usually will end up within about 5 seconds of that pace, if you follow the warnings pretty closely.
      If you set a 9 minute mile pace and +/- 15 seconds, you will probably end up +/- 1 second of that pace, but it will alert you much more often.

  11. Hello,

    I just purchased this, and I need some corrections for my phone: xperia active
    1. Display lock to keep display illuminated
    2. Application lock, to avoid un-intended presses
    3. Clear Exit button, now when it exites, it vibrates the phone, so something is wrong


Leave a reply to Elly Cancel reply

Categories