Monday, 21 January 2013

Taking Technology Swimming

Both my son and daughter are competitive swimmers! It’s not football or baseball or hockey. The sport takes place in a nice dry (in the stands at least) warm environment. Being a parent of a swimmer means I have lots of time to think. You see, at a swim meet, unlike a football or hockey game, it goes on and on and on. A typical day at a swim meet consists of about 8-12 hours of waiting intersected with 3-10 minutes of actual splashing around in the water. The rest of the time other people’s kids are swimming and you have time to contemplate “Life,The Universe and Everything”.
Swimming is about statistics at its root (well other than the actual splashing around in a pool bits). Every single swimmer in that pool is trying to achieve a certain performance level measured in different ways at different levels. At the highest level it is measured with Olympic Gold Medals or World Championships but with children it could be just trying to swim fast enough to qualify to enter a swim meet at another pool.
So what does all this have to do with technology? It just so happens that I am a software developer. I also like to keep track of my kids' progress. I used to do this with an iPhone and the Notes App. I would tap in the list of events they would participate in and what their best times for those events were and then wait… After they swam I would type in what time they achieved and compare. I would then have to use the little bitty browser to hunt down the various qualifying times and figure out if they made the next level. Two things about making that next level. First, YAY!!! They are getting faster. Second, swimming just got more expensive and I better find a way to make more money. That was my first use of technology at the pool and I knew there had tobe a better way.

Swim Tracker

I then got a Windows Phone and all of a sudden I had reasonably easy access to making my own apps. The first app I created, purely for personal use, was Swim Tracker. This app basically allowed me to replace the notes app with something I could edit without having to use a keyboard. I would also upload my results to SkyDrive. The key to this one was all entry is being done with selection boxes, time pickers (spinning wheels) or the built in stopwatch (very handy during events at pools with lousy clocks or double ended results with no clock).

Swim Rankings

Well, that got me going. Up here in Canada swimmers track their ranking in Canada or their province using Swimming Canada’s power rankings site. Many other countries use a similar site call Looking up standings on these site is definitely not a mobile friendly experience (unless I guess you are using one of those “phablets”, you know who you are). So next up for my growing suite of Swim Apps was Swim Rankings. This slick little App lets you look-up your favorite swimmer in the rankings for your country or in some cases zone. Tap on a swimmer and you can quickly see every single event they have competed in and their best times. It’s all about best times! This app requires an internet connection because it is making use of Web Services on a server in the cloud to retrieve the information you want, filter it to reduce the bandwidth required and then deliver it to your phone. This allowed me to minimize the amount of data being used by the app. It is surprisingly efficient.

Swim Converter

Swimming is actually done in three different pool sizes. 25 yards or 25 Short Course Yards (SCY), 25meters (SCM) or 50 meters also known as Long Course Meters (LCM). Sometimes your qualifying time for a particular meet is in a different pool and you need to “convert” the time. Well, it’s not a straight math equation, you need to account for the extra turns. Then there is the added complication that not all swim organizations use the same formula to figure out those turns and distances. So I figured, what the heck, I’ll include several different formats and let the user decide. I added the Canadian methods, along with the NCAA and US high school methods. Again, no typing required.  

Swim Team Tracker

Swim Tracker was a great help, I was getting requests to make it work with more than one swimmer. Well, as I had written this for me originally it was good enough for that purpose. I decided to create a companion app, Swim Team Tracker, that would add another entire layer to Swim Tracker allowing for tracking the swims of multiple athletes either by their name or by date. I enhanced the export to SkyDrive to allow for a date range or all and an export time of Excel XML format instead of simple CSV files. Each new App brings new ideas and the interface gets a little be cleaner and smoother. You can see the progression in the next two apps very clearly. I had a chance to make use of the calendar functions built into the Windows Phone API along with the camera (you want a picture of your little swimmer attached to the swimmer profile right?).

Fina Points Calc

Another way of measuring progress is not by times but by Fina Points. Fina is the worldwide governing body for swimming. Something like FIFA for“football”. Fina stands for Federation International de Natation (swimming). Fina points are calculated on a base time that is provided each year based on the previous year’s times. Generally speaking 1000 points tends to be the previous year’s world record and each swimmer is trying to get a Fina points score as close to that ideal as possible. The formula for calculating this number is somewhat complex. I decided to simply create an App that would do it for me. In Canada at least, Fina Points are used when calculating who makes provincial or national teams. Highest Fina Points qualifies. Most of the swim apps don’t really need data connectivity while at the pool. Pools are notorious for poor connectivity, must be all the chemicals or something. The Fina “base times” table is built into the app and I have committed to keeping that current. Look for updates at a minimum once a year as new base times are released by Fina.

Swim Standards

The last App in the Swimming Suite is the one I think my kids find the most useful. In fact, my son, a nationally top 10 ranked swimmer for his age group, helped design the interface and the app tile for which I am very thankful. In the sport of swimming there are many levels of achievement. For example in Canada you go from intra-club level to regional to “A” through “AAA”in each province. Then you move on to Age Group National and Western/Eastern times before finally coming to Senior National times. Of course, it then carries on to World Championship and Olympic qualifying times. What I really needed was a fast way to put in an event time and know what it qualifies for without shuffling through sheets and sheets of grids (that are usually hard to read). I created an App that lets you dynamically add and remove standards and it tells you what standards you have achieved and more importantly what is the next goal! It was really important to me that Data Services NOT be required while at a pool. All time standards can be added and removed from the device using web services to the cloud but, once you have downloaded the Standards Tables to a device, the app can be used at any time with no data requirements whatsoever. I also decided to pre-load a couple of standards for Canada and the US so you can start using the App right away!
One very important thing to remember is that all the measurement and standards apps have best before dates on their data. My Apps have the newest standards and base times built right in and I am committed to keeping them current. Swim Standards offers downloadable standards packs so the newest will be available for download. Fina Points Calculator is designed to be unconnected so an App update will be published as soon as next year’s base times are made available.
All in all, I have six apps for the Swimming World (if you don't count my two stopwatches). Each one has value and I have learned something doing each one. The last two include Live Tiles so you can pin common searches to your start screen for quick access. I have more planned as there are some holes that need filling. I know I will be at a swim meet this weekend and a few of these apps will get a workout. I’m looking forward to the experience.
I’ve now started creating Windows Store Apps for Windows 8. Two of these Apps are available right now in the Windows Store for free. Fina Points Calc and Swim Converter are there for you now. This was another entirely different experience and one that likely merits its own blog so… To be continued.