Monday, August 22, 2011

LiftTracker 1.4.7 - now goes to public beta


I am happy to announce that after 3 months of extensive testing, I am going to be opening LiftTracker up to a more open beta. You no longer have to request access via email. 


Just go over to LiftTracker.appspot.com and sign up. 


For those of you who have been giving feedback and guidance I really appreciate it. There is still a lot in the hopper right now. 


A few things have changed for those of you who have been using it: 


1) The lifters that are visible to everyone are those who belong to your gym (you pick this when you sign up), and the lifters at Tampa Barbell who have been contributing over the past 3 months. The reason for this is that the lists were getting unwieldy and now that the beta is opening up, there will be 100s of names, creating a lot of confusion. 


So, if you and some buddies want to sign up and use it together, just be sure to register with the same gym name. 


I will be adding a 'buddy finder' feature shortly where you can search out lifters by their location, lifts, etc, but the main feedback I got was to focus on the usability for the individual user, so that is what I have done. 


2) Raw lifting is now tracked against separate numbers from your equipped lifts. This leads to more accurate calculations. 


3) The calculations have been revamped and are certainly still a work in progress. Another special thanks to Dave Bates for his help. Soon, all the calc numbers will be available via graphs as it is a lot easier to see this stuff visually. This is my number one priority. For now, if you want to see what the calcs will look like when done over time, choose one of the Tampa Barbell lifters as your favorites, go into Show Training, Weekly Log, and select him in your lifter drop down. You will see the statistics for each week's training. 


4) one cool feature I decided to add this weekend was the ability to 'remember' a particular note or Log Entry. Have you ever had an epiphany when training or gone home to plan something out and then forgot exactly what it was 2 weeks later? Happens to me all the time. Now, when creating a log entry, if you click the Remember button, this particular item will be remembered and searchable. When viewing your training, you can choose to filter down to remembered items. This will allow you to see all those observations you made during the training cycle. 




Finally, the app should work on all recent mobile devices. The 'Show Training' feature is certainly best viewed on a tablet or desktop browser. Chrome, Firefox, IE (8+), Safari are all supported. 


I realize I probably need to produce a bit of documentation but I am hoping that the features are just sort of intuitive. If you have questions, just email me. 









-Tommy 

Sunday, August 14, 2011

1.4.x - The state of the LiftTracker

I want to start by explaining the lack of blog posting.   I have spent an inordinate amount of time refining and experimenting with LiftTracker.  So, instead of posting about everything, I just worked on it.

In addition, I took a new job at a new company.  Lastly, a death in the family derailed my free time and energy for innovation for a bit.  I have since returned full force with a lot of new ideas and desire to make the app better.

At its inception, the goal was to learn mobile app development and play around with new cloud technologies,  specifically Google's App Engine and No-SQL datastore.    By day,  I am a .Net developer who works heavily with Sql Server.   I have always said to myself:  "There has to be a better way".  Well,  I am happy to report, I think there is.  Not that No-SQL databases come without their challenges,  but they are definitely more natural to work with.

Since I run a barbell club in my spare time,  I have actually used the program to help me track everyone's progress over time.    We are about 16 weeks into where everyone has been using the program consistently and tweaking their training based on it.   In 4 weeks,  we have a meet test.    It will be very interesting to see the correlation between all the statistics gathered and how they translate to real numbers.

In addition, I solicited many users for their feedback and suggestions.

Here is what has been added since the last blog post:
Support for the iPad
Support for HTML5 compliant browsers and large screens for viewing more information
Enhanced Calculations
A new way to group, sort, pivot and query your log for information.

In addition,  I have taken the application through several versions of the underlying frameworks:
Google App Engine and JqueryMobile.

I also experimented with a 'social' feature where you could follow other lifters, etc.   In fact, I spent a HUGE amount of time on this.   However,  a law of app development is emerging that states:  keep it simple.  Focus on doing core features very well.     In a rush to create an app everyone was talking about and sharing information with,  I put on hold things which would make it useful to the individual.     So,  that being said  'Social' is taking a back seat to functionality.   The feedback I have received and prioritized is as follows:


  • allow for custom exercises
  • distinguish between raw and geared lifting when doing calculations
  • add the ability to keep user data private and filter out the noise of other lifters appearing in menus
  • add the ability to expose entries in a typical web journal format so that a person can enter their data here and ANYONE, even those who aren't users of the app can see it.
  • add graphics to the calculations so the sheer amount of data actually means something
  • put native app store wrappers around it so people can find it in the app stores of their various phones (iPhone/iPad will be my first target).
a friend and fellow lifter, Dave Bates,  co-owner of PowerliftingWatch has been very instrumental in helping me out with the calculations.  I continue to be grateful to him for his assistance.

<babbling>

Coincidentally,  an old co-worker,  and one of the best programmers I have ever worked with pinged me and told me he was buying a Mac Air because a lot of people at his workplace were using them and he felt his skills were going to lag behind.   I had been feeling that a lot myself lately.    My feeling in software development is that the various specialty in tiered development is not good enough anymore to be at the top of your profession.     So,  not to be outdone,  I went to the Apple store,  played with the Mac Air and bought one the same day.   In an experiment in coding,  I took this machine with me on my family vacation.   I was able to actually do a lot of programming on LiftTracker while my wife was driving around.  The size to power ratio of the machine is simply amazing and through OS X Lion's user gestures,  the laptop was very usable,  even without a mouse,  and even in airplanes and cars.   I am simply blown away.   Apple is seriously on a role.

</babbling>

So... I will try and keep back on point with blog updates and more frequent releases.



Monday, May 30, 2011

1.2.5 - editing is now working

Someone on the team to me said all their PRs were wrong because they had misinterpreted the chains per side and they didn't want to be bothered to delete and re-add them.   I thought to myself:  the time has finally come to put in the edit button.

I knew it was going to be a pain in the ass because of some of the decisions I made early on to format stuff on the server.   Well,  I was right.  All in all, it probably took 8-10 hrs after testing, re-factoring, etc, but it is in.


I didn't get to work more on the grouping/social features, but that is ok.  Editing actually is something that really needed to be there.

-TF

Friday, May 27, 2011

1.2.4 - bug fix, tweak exercise list display

As I've added more and more exercises to the list of predefined set, I have gotten some feedback that a quick method to filter them should be available while viewing.

So, in the exercise picker,  BY DEFAULT now,  it will only show your favorites if you have them defined.   If you want to see All,  click the button in the top-right.  Clicking it is a toggle which will go between favorites and all of them.   Remember to define favorites, use the main page options screen.  



What's coming up?     I had to take a little break in development to deal with gym matters.   Tampa Barbell needed a massive update to their web site, etc so I have been working on that.   That is done and I can get back to LiftTracker.

Been busy on social features such as finding and following lifters and getting notifications on their progress.

I have had some pros logging their data so one can immediately come in and choose to follow the 'Pro' group.

I expect to launch this in a week or so.

/TF

Sunday, May 8, 2011

LiftTracker 1.2.2 is out

This little release was mostly about bug fixes and improving the calculations.   I also added in a few things to make finding log entries easier.

For the calculations,  I reduced it down to 4 zones which you can see when you run analyze.   Dynamic work falls into Zone 1,  volume work Zones 2 and 3, and max effort work Zone 4.

Also,  accessory movements are now contributing towards the calculations.   Previously only the main lifts were.   This should vastly change your volume and intensity numbers now.  Please take a look and let me know feedback.

I added the ability to quickly select an exercise or lifter to view while in Show Training options.   I put this in so one could quickly find history of a particular exercise,  or if you train with a group,  you can find it for the group.   Comes in handy when 5 guys are all training and trying to beat a PR that day!

*Note that you can still have permanent favorite lifters and exercises defined.  This is just a quick way to find something while in the Show Training view.

 

I have re-ordered the Modifiers.   The gear is now at the top.  I had noticed people were including their gear in the notes section rather than choosing it as a modifier.   This will defeat the PR calculator because it doesn't know that it was a geared lift vs a raw lift.   If you always train raw,  you can turn off the gear display in the main page options.

 


One thing I am doing is working with some lifters in the 'Pro' category.    I will be building in the ability to search out lifters by weight class,  lift,  and/or total.   Of course,  this will only become useful after we have a bunch of these folks in the system  so I am recruiting.   If you are a PRO lifter but not so computer-savvy,  I will work with you to use the system.   I also recognize that the blogging tool sort of sucks for learning for multiple reasons.   I hope to make a manual that I can post up as well.

I am also working on the 'social' features.   What I am experimenting with now is the ability to link a log entry to a Youtube video.  When new videos are available from lifters in the system,  you will get notification and should be able to view them right from the app.   This is a target for the next release.

NOTE WELL:  making way for the social features will require me to delete a bunch of users who have not logged on and are not participating in the Beta.  The reason is so the people finder doesn't get clogged up with people who are not using the app.   I will also be sending out a warning email before purging the data.

Sunday, May 1, 2011

1.2.1 - analyze preview

The last release introduced the foundational blocks to do a lot of the calculations.   The lifter's meet lifts and/or overridden PRs are the most important.  Additionally,  a mechanism was supplied to calculate band and chain resistance numbers.  Check past blog entries for more information on this.

In this release,  these things are used to take a broad look at the training and see where people are spending a lot of their time.

In order to see this,  it is pretty simple.  Just click 'Analyze'.   The program will go through all of your data and display some summary information.


For this release,  I am also outputting some debug information.  It will show you the values you have chosen for your meet lifts or overridden PR data which drive the intensity calculations.   It will also show you the values that are being used for the bands/chains.   Keep in mind that the program adds these values to bar weight when determining your total volume and what zone you are in.

A brief explanation of the zones:

Each zone represents a percentage of the weight being lifted compared with your 1 rep max for this lift.   So,  a 940 lb squatter who does a 500 lb squat is training at 53% of capacity.  This is Zone 2.    There is quite a bit of data out there used by Russian coaches which suggests that the majority of training should fall within certain zones,  roughly 70-80%, which is zone 4.

Note that any exercise done at less than Zone 1 (40%) is NOT counted for calculations.  If we did not do this,  there would be far too much noise in the data.   Interestingly,  the reason I had to keep 40% in was because of the advanced equipment.  A lot of people do their raw training at 40% of their shirted max.  This is due to the phenomenon of the super-supportive bench shirts.

Right now,  the only exercises involved in these calculations are those defined as part of the Core Lift set (Squat, Box Squat, Bench Press, Deadlift, and Sumo Deadlift).   I will be putting in the accessory lifts as a next step as well as the ability to filter them out.

Also,  the data only becomes useful when there is enough data to drive it.  I recommend faithfully inputting all your core training for a month before you attempt to use these numbers to map your training out.

Eventually, the program will evolve to help you make training decisions for the week,  but for now,  it will just give you an idea of what you are doing.  For example,  my favorite lift, and also the one I happen to still make progress on is the squat.   My data was pretty telling.  I did quite a bit of volume and my average intensity was 66%, pretty much where it should have been.

A lift I hate,  the deadlift had much lower volume and the intensity was way too high.  I have always known this, but having the data right there in front of me staring me in the face was pretty conclusive.

I hope this can help you spot some weak points in your training too!  Good luck!

Special thanks to Dave Bates for helping me with ideas, theories, troubleshooting and calculations.

-Tommy

Saturday, April 23, 2011

LiftTracker 1.1e is out

This was a drawn out release, partially because of my new job and partially because I started down the path of making the ultimate meet tracking system with federations, rankings, etc.   I wound up spending an entire weekend on this but ultimately decided to pull this out.   It added confusion to the program and I feel detracted from the purpose of this which is bettering lifters,  NOT tracking meet results all over the country.  I may revisit this at sometime, but for now I have returned to the goal of analytics and making a good logging program.

So,  for this release the theme was calculations to help you see just how you are training.   When you log in for the first time after getting the new release, the program will ask you for your most recent meet data.   This is so the calculation engine can measure your volume and training percentage against a target.

In addition,  you can override a meet data with your own target numbers.  This may come in handy if you flub a meet lift but don't want to reset your training percentages to just your opener.  To override your meet data you can go into the options screen and pick new numbers.  If you override one,  you must override them all.




The next part of the calculations involve taking into account resistance such as bands or chains.   A big mistake people often make is forgetting to take these numbers into account when doing percentages.  Let's say you are an 800 meet squatter,  you may feel that a 405 is a reasonable number for your dynamic days,  and you would be correct.  However,  add a blue band and the percentage now jumps up to 75% or so.   From our experience at Tampa Barbell,  if you are trying to have a truly dynamic day you need to factor in the resistance.   The program supplies default resistance numbers for the squat and bench.   These numbers were calculated by Michael Lawrence for EliteFTS.    You can also download the excel spreadsheet from the app which has band calculations for all different height lifters in order to help you supply your own values.   Note that the height is the height to the center of the bar NOT the lifter's height.    

Note that you do not have to supply ALL of your own values.   You can choose to override just the ones you want.  If the app detects that you have not supplied an override,  it will fall back to the default for the band type in question.   Also,  note that the resistance is the total resistance given bands or chains on both sides of the bar.     In addition,  when you are selecting a resistance when entering a lift,  it is per-side.   So,  if you wanted blue bands you would click once on the strong bands when selecting a modifier.   



Granted,  the calculation stuff is sort of complicated.   However,  this is where I really want to invest a lot of time in the app in order to help drill down and understand why certain training works.   It has been interesting to apply these metrics to the existing month or so of data  we have gathered.  It was a little surprising to me how little volume we were doing for certain lifts.   Also,  you can see when you are starting to enter into too high a percentage of your max with the resistance.     In order to see these calculations,  go into your Show Training Options screen and choose Core lifts.    The core lifts right now are defined as Bench, Squat, Deadlift, Sumo Deadlift, and Box Squat.      I am interested in feedback about how else you may want to see this data!

  
Finally,  there were quite a few bug fixes based on user feedback.  

One notable bug was that a missed lift (denoted by zero reps) was being tracked as a PR.  This is no longer the case.

The PR mechanism was reworked a little bit,  and you can now filter to only see PRs by choosing PRs in the options above.    I also wanted to rework it so not everything is a PR.    Previously,  PRs were calculated by matching gear,  extra resistance,  and reps.

For example:   225/5  and 275/8 would both be PRs since the reps were different.   Now,  if you do a lift at a higher rep range and with more weight,  it will erase the earlier one from your PR list.  After all,  if I did 275/8,  I would NOT expect 265/6 to be a PR since the previous performance was better.   The app now recognizes this.   When you first login after the update,  the PRs will recalculate according to this.

This was a bit tricky.  If you guys notice any issues with this,  PLEASE email me and I will look into it.   There were a lot of corner cases I had to work through and I may have missed some.

As I said,  this was a pretty big release.  My goal is to release more often based on feedback.
I will be posting up in a day or so what I am working on for upcoming releases.   If you guys let me know stuff or have suggestions,  the Beta is a great time to get these ideas to me.   I can likely work them in.


-TF