Dig Deep Fitness And Unique Application Usability Testing

Posted March 3, 2008 at 3:06 PM

Tags: ColdFusion

Over the last couple of days, I have taken Dig Deep Fitness, my iPhone fitness software application, and actually tried using it during real workouts. This was a very interesting experience - it's probably the first time that I have ever truly field-tested an application. In the past, I have tried to mimic what I thought an "end user" would do and I have given demos of software and web applications and I have tried to create highly usable web interfaces. But the truth is, unless you try and use a product as a real consumer, you can never really get a good feeling as to how it will be used. There are just too many contextual issues that can only be felt and experienced by a true user in a true using environment.

For a contextual example, using the Dig Deep Fitness iPhone fitness software in the gym is not just about "using" the application. In fact, a lot about the context has absolutely nothing to do with the application at all - it's about what clothing I'm wearing, it's about how fast I am going through my sets, it's about how sweaty I get, it's about what kind of machines I am using (and do they have shelf-like areas), it's about the level of conversation that I need to keep up, it's about how many smokin hot girls are in the gym (making it hard to concentrate), it's about what exercises I am performing (and is my phone in danger of being damaged), it's about how winded I get (and how much I need to catch my breath between sets).

In short, 50% of the application's usability has nothing at all to do with the application. Never before, as a web developer, have I ever even thought about approaching usability from this standpoint. And, I am not saying that it is even always an option; right now, I just happen to be in the highly unique situation where I am both the developer and the target audience. I'd say this is extremely rare and therefore is not something that can be achieved elsewhere. Sure, you can do usability testing with real test subjects, but even that is in a test environment that maybe nothing like a user's real environment.

That interesting perspective aside, there are a few things about the actual iPhone fitness application that do actually involve the web application itself. The biggest points of friction that I encountered are:

  1. The keyboard. Typing on it is a pain in the butt! Most of the time, I need the numeric keyboard and it defaults to the alpha keyboard. This requires an additional key press every time I want to enter weight or rep data. And, with every set containing both weight and rep values, this is a lot of extra typing on a keyboard interface that already suffers from usability issues.
  2. The select box. When selecting your next exercise to perform, you have the option to select an existing exercise from a drop down box. This box is very small, is not usable for long lists, and make reading long-named exercises very hard (if not impossible).

I see that I have to replace that drop down box with a list of exercise links that can allow for full screen "flicking". This will take care of that point of friction (I believe). The keyboard issue is a bit more complex. After some Googling, I am not seeing any way to default to different flavors of the keyboard. I might end up having to change the way weights and reps are being entered - maybe some sort of HTML keyboard or convenience links (ex. +5 lbs, +10 lbs).

This was definitely an eye-opening experience; it makes me wonder about what other things that I've built that I thought were good but, unbeknownst to me, ended up causing much more friction that I could have imagined. It just goes to show me how hugely inadequate we, as developers, are as "test subjects" for the software that we build.

Post Comment  |  Ask Ben  |  Print Page





Reader Comments

There are no comments posted for this web log entry.


Post Comment  |  Ask Ben

Recent Blog Comments
Mar 22, 2010 at 7:43 AM
Terms Of Service / Privacy Policy Document Generator
Thankyou for this very helpful form. You've made my life much easier today. I'll have a look around your site... I'm sure there's some more good stuff here..Thanks Dave ... read »
Mar 22, 2010 at 7:21 AM
Encountered "(. Incorrect Select Statement, Expecting a 'FROM', But Encountered '(' Instead, A Select Statement Should Have a 'FROM' Construct.
I got this exception now. In case you're using var-es local struct, CF gives you couple of "new" exceptions: Encountered "local. and Encountered "id. Incorrect Select List, Incorrect select colum ... read »
Mar 22, 2010 at 3:08 AM
Ask Ben: Selecting XML Attributes Given Other XML Attributes
Thanks for the response. I finally discovered that I was getting this error because I had cfsetting enablecfoutputonly="yes" in Application.cfc, and was neither setting it to false elsewhere nor brac ... read »
Mar 21, 2010 at 8:57 PM
The Bourne Ultimatum Starring Matt Damon And Julia Stiles
late to the party, but my observation is this: rewatch carefully for the platonic nature of the relationship between nicki and jason. she never flirts with him. he never comes on to her. they alway ... read »
Mar 21, 2010 at 7:40 PM
Is Simulating User-Input Events With jQuery Ever A Good Idea?
A couple of things. One you embed the initial state of of more-info in the CSS. IMHO, that behavior should be in jQuery: moreInfo.hide(); It shows that the behavior your toggling and closing is mor ... read »
Mar 21, 2010 at 3:59 PM
Exploring ColdFusion Component Runtime Class Properties And Serialization
@Elliott, according to Ben's experiment, serializeJSON() doesn't access the private data by default - it doesn't even access the getHair() method - so trying to clone a Girl.cfc via serializeJSON/des ... read »
Mar 21, 2010 at 3:49 PM
Ask Ben: Javascript String Replace Method
I'm confused a bit by what you are asking, but if had this sentence: The color, red, is in the style statement; style: red;. and wanted to remove all or change all of the commas, colons, and semi-c ... read »
Mar 21, 2010 at 3:13 PM
Ask Ben: Javascript String Replace Method
I am trying to make a java program to count the number of times that these punctuation marks occur in a body of text: , : ; . ! - ' " ? / \ I am using this piece to ferret out the commas: numcommas ... read »