Dig Deep Fitness iPhone Fitness Application Beta

Posted February 29, 2008 at 9:10 AM by Ben Nadel

Tags: ColdFusion

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


 
 
 

 
Dig Deep Fitness - iPhone Fitness Software Application Beta  
 
 
 

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.


 
 
 

 
Dig Deep Fitness - Sexy Software, Sexy Phone, Sexy Girl In Panties  
 
 
 



Reader Comments

Feb 29, 2008 at 10:41 AM // reply »
25 Comments

Cool stuff Ben. Now all I need is an iPhone. :|

Why no Deadlifts or Cleans in the system??! :)


Feb 29, 2008 at 4:20 PM // reply »
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?


Mar 6, 2008 at 8:49 AM // reply »
11,238 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.


kay
Mar 8, 2008 at 5:32 AM // reply »
1 Comments

Thanks for this new great application for iPhone


Joe
Mar 24, 2008 at 4:02 PM // reply »
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.


Mar 26, 2008 at 9:07 AM // reply »
11,238 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.


May 2, 2008 at 9:43 AM // reply »
1 Comments

Thank you, great application.
Another reason to love my iPhone.


May 13, 2008 at 4:25 AM // reply »
1 Comments

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


May 13, 2008 at 7:24 AM // reply »
11,238 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.


Cat
Jan 13, 2009 at 1:18 PM // reply »
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?


Jan 13, 2009 at 1:22 PM // reply »
11,238 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: http://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.


JR
Jan 2, 2010 at 8:01 PM // reply »
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.


Sep 28, 2010 at 6:15 AM // reply »
1 Comments

An application to track workouts? Brilliant! Just what I need.



Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 20, 2013 at 11:45 AM
Using jQuery's Animate() Step Callback Function To Create Custom Animations
This is really useful. I found out that you don't actually have to use a dummy css property (surprisingly). To animate a property in a linear-gradient for instance I did this this.css('someLinearGra ... read »
May 20, 2013 at 10:51 AM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Josh, Oh snap! You're totally right! I'm not sure I've ever tried that. I did know that you can call a number of other array-methods on ColdFusion query columns: http://www.bennadel.com/blog/167 ... read »
May 20, 2013 at 10:45 AM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Ben - I believe you can achieve the same functionality with ColdFusion's built in ArrayToList() function. ArrayToList( users[ "id" ] ); ... read »
May 20, 2013 at 10:21 AM
My Experience With AngularJS - The Super-heroic JavaScript MVW Framework
Is there any error logging and handling framework in angularjs, if not then in what way I can do this. ... read »
May 19, 2013 at 2:31 PM
My Experience With AngularJS - The Super-heroic JavaScript MVW Framework
It's funny really just how well that image describes the way I would imagine most people that go with angular for some project is. I have had a similar roller-coaster ride with it as well, but not qu ... read »
May 17, 2013 at 7:42 PM
HashKeyCopier - An AngularJS Utility Class For Merging Cached And Live Data
Ben - thanks so much for posting these Angular articles and findings, they've been a huge help towards learning one of the more 'complex' JavaScript frameworks out there (IMO). I have been using Angu ... read »
May 16, 2013 at 5:01 PM
UPDATE: Parsing CSV Data Files In ColdFusion With csvToArray()
Your code was the closest thing I've found to obtaining some direction for converting ISO fields to values that CF can translate properly. Thank you for posting! ... read »
May 15, 2013 at 6:07 PM
Making SOAP Web Service Requests With ColdFusion And CFHTTP
Ben, you once again saved my bacon at work. Thank you, thank you, thank you! ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools