Skip to main content
Ben Nadel at the NYC Node.js Meetup (Sep. 2018) with: Brandon Silva
Ben Nadel at the NYC Node.js Meetup (Sep. 2018) with: Brandon Silva

Dig Deep Fitness iPhone Fitness Application Beta

By on
Tags:

I have just released the Beta of Dig Deep Fitness, my iPhone fitness application that allows users to track their workouts over time:

Working with the EDGE network is a little bit slow; but, the pages are small enough that the fitness application works with acceptable speed. Plus, the real meat of the application is the screen where you enter your weights and reps for a given exercise and that page functions using AJAX-style data commits which means that as you are going through the exercise sets and adding the data for each lifter, there is no page lag to deal with. The only page lag is when you have to go and select the next exercise; but, since that is a rest time between exercises anyway, I feel that this will be acceptable.

For now, I just threw in some system exercises to help the testing. I am not sure how I feel about the system exercises. Do people want a list of popular exercises? Or, do they just want to enter the ones as they go? My concern is that if I have a huge list of exercises, they might not make sense to people, especially people who are not too familiar with my naming convention. I fear that it will lead to too much redundancy in the list of exercises, causing the list to become large and unmanageable. I might just end up getting rid of them in the long run.

When selecting the next exercise to perform, the drop down select box that has the list of exercises poses a bit of a problem. The iPhone screen is a bit too narrow to handle the lengths of the option values. To deal with this, I found that if you rotate the iPhone 90 degree counter-clockwise, the landscape view of the screen gives a much better view of drop down options. For now, that seems like common sense, but I might throw in a note on the page itself to help people figure that one out.

So, if anyone wants to try out this fitness software for the iPhone, please feel free to sign up for an account and give it a whirl. All passwords are stored using one-way hashing for maximum security (in the future, passwords can never be retrieved, only reset). And, because it is a pain to type on the iPhone, I have enabled a "remember me" feature that uses a non-expiring cookie to allow automatic login.

I plan to start field testing this iPhone fitness software today (remember, I AM my target audience), so expect that it will start to change slightly over the next few days based on my experience and the feedback of my beta testers. Thanks in advance to anyone who gives me feedback.

On a programming side-note, as you might know, I developed the prototype for this iPhone fitness software before I even built the database. I am trying my best to follow the Interface Driven Design methodology created by Hal Helms and Clark Valberg. As such, I created a fully clickable prototype that mapped out the page flow and look and feel of every page in the application. Then, when it came time to build the ColdFusion driven iPhone fitness application, it was quite literally a matter of copy, paste, and add ColdFusion. I made almost no changes to the interface as I moved from Prototype to Beta. It was such an awesome feeling; I really felt the full benefit of the prototype driven development cycle! I just can't image ever developing applications in any other way again.

Reader Comments

27 Comments

I noticed that the styles are being included in each page. Is this necessary for the iPhone or something that could speed up performance if moved to its own file that could be cached?

15,663 Comments

@Aaron,

I didn't want to scare anybody away :)

@Daniel,

I found that the cost of having the browser do a second (CSS) and third (Javascript) call to the server to have the page render was too much for the EDGE network to work effectively. I found noticeable gains when I moved my linked files inline to the head of the HTML. Plus, I don't have a tremendous amout of CSS or Javascript, so it's not too much of an issue.

Not a "Best practice" of web development by any means, but a tweak that I think I needed for the iPhone.

1 Comments

I like what you have so far. Maybe a list of past workouts or a summary of the current workout would be good. Unless I missed how to do that.

15,663 Comments

@Joe,

Don't worry, you did not miss that anywhere. Those will be future-soon features. To kick it off, I just wanted to get a way to start entering workouts.

I will come up with a site and a better overall experience, thanks.

1 Comments

I use your application since 4 weeks. Thank you very much.
A history of the last workouts would be great.

15,663 Comments

@Ralf,

Thanks man. I am looking for ways to improve it and have some cool ideas. I just haven't quite gotten the time yet.

1 Comments

This is the closest I have found to exactly what I need. I *know* how to do the basic weight training exercises, I just hate not being able to track what I did from day to day on my iPhone. Lugging around a notebook seems so... 1990's...

Are you still updating this app? Will you ever consider creating a standalone app for the Apple store?

15,663 Comments

@Cat,

I am really psyched to hear that you are liking this. I am most definitely still updating the app. I actually recently just added a display Widget (see lower-left corner of main blog page: www.bennadel.com/blog/recent-blog-entries.htm ). I also just added a "notes" field to each exercise last week.

And, YES, I am working on making this a stand-alone iPhone app. In fact, I have a Mac Mini being delivered as we speak! I hope to begin development on the stand-alone version in the next few weeks.

1 Comments

It would be nice to have an iPhone application that allows a user to run on a treadmill while tracking the miles via a visual of landscapes. i.e., trails, hills, mountains etc.

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel