Periodically I search for new swim team related software to see if anyone else is trying to solve the problems I am trying to solve. Today I found something interesting called Natalog. Natalog is from a company called Natavision and it is a swim results viewing and analysis tool.
I think much of what this tool can do is available in Crystal Reports but this looks to be much easier and certainly something a parent or coach might find useful. It takes a variety of input formats including SDIF (.sd3), Hy-tek, and plain text. Since it accepts SDIF, it can report WinSwim results very easily.
I am slowly adding reporting functionality to wp-SwimTeam and I doubt I will ever do anything to this extent.
I get a fair number of questions about how to import swim team data from one place to another. Most of these questions are from people like me who have information in one place and want to figure out how to use it again without having to type it in again.
In theory, SDIF (Swim Data Interchange Format) should address this issues. SDIF is a standard published by USA Swimming. If you visit the USA Swimming web site and search for SDIF, you won’t find much. The SDIF 3.0 specification is pretty old, it was published in 1998.
There is a page which references the newer XSDIF specification but I am not aware of any swim software which currently supports it. So in reality, the 3.0 version of the SDIF specification (this is a very poorly formatted document – if you’d like a better version, download the SDIF specification from the WinSwim web site) remains the standard to work with.
If you are interested sharing ideas, solutions, problems, etc. with others who are trying to solve similar problems, please join the SDIF Forum Google Group. It seems like there are quite a few people trying to solve similar problems, the Google Group should help people communicate.
As it relates to wp-SwimTeam, one of the first things I need to solve is the ability to upload a Hy-tek Events File and connect the events to a swim meet. This is necessary in order to upload results for a meet and connect them to a swimmer. This information could be extracted from a results file but Hy-tek events files are frequently available so I want to leverage the information they contain.
Being able to engage in a dialog on how to parse the .hyv or .hy3 files would be really helpful for me, I am sure it would be beneficial to others as well. In many cases, someone has probably already written a script or Excel macro to extract the information. I can’t imagine how many times the wheel is being reinvented – I am guessing lots!
I’ve been doing some research into Meet Manager and its ability to import an SDIF entries file. Since so many teams use Meet Manager, getting data into it is pretty much of a requirement.
I posted previously on this topic but this year, as I was preparing our entries for the Cary City Meet, I did some experiments. Hy-tek now makes a demo version of Meet Manager available. The demo version is limited to six (6) events which makes it useless for doing much real work but it is fine for some simple experiments like I wanted to do.
What did I learn?
Meet Manager is really picky about SDIF. This really isn’t a surprise. The first thing I ran into was SDIF files (which are ASCII) that go through e-mail as simple attachments rarely will read into Meet Manager successfully. There is something about line endings that Meet Manager is unusually sensitive too. This issue can be avoided by zipping an SDIF file before sending it via e-mail. You can actually load the zip file into Meet Manager directly, Meet Manager will unzip it for you.
The real compatibility issue comes from D0 and E0 SDIF records which don’t have a seed time. Meet Manager simply does not like records without a seed time (blank) even though the SDIF specification indicates this is legal.
To get past this issue, the SDIF file must contain either “NT” or “00:00.0” (right justified) in the seed time field AND the course code. Meet Manager will accept both formats as “no seed time”.
Unfortunately Meet Manager still does not read heat and lane information from the SDIF record. This is really a nuisance. As near as I can tell the only way to get heat and lane information into Meet Manager is via a .CL2 file (maybe) or via a .HY3 file (definitely). Of course both of these file formats, which are similar to SDIF, contain the Hy-tek proprietary checkum for each record.
I would really like to solve this problem as it would make interchanging data so much easier.
I am considering adding some SDIF utilities to wp-SwimTeam. Just this week I have had to deal with submitting meet entry data to a team who uses Meet Manager. Ugh. Everytime I have to do this it reinforces my dislike for the Hy-tek products.
Fortunately Hy-tek now has a demo version of Meet Manager available which while limited to 6 events, is useful for testing in a limited fashion. For example, I was able to verify that the MM RE1 export from wp-SwimTeam will load in Meet Manager. I was also able to test quite a few permutations of SDIF E0 and D0 records until I figured out what combination of course and seed times would load successfully.
Now that I know what works I am considering adding a couple utilities that will apply changes to an uploaded SDIF file and send it back for download. If you have ideas for SDIF manipulations that need to be made, drop a note in the comments and I’ll see what I can do.
The first one I will do will modify SDIF files to include seed times (which are optional per the SDIF specification) when the fields are blank.
If you have followed my posts on this blog you know that I have been frustrated by Hy-Tek Team Manager and Meet Manager along with Hy-Tek customer support.
While I may not care for Hy-Tek or their products, the fact is they have a dominant market share and a lot of teams use Team Manager, Meet Manager, or both. I was contacted this week by a high school coach who was looking for some SDIF assistance in getting his roster into Meet Manager. Now I don’t have access to Meet Manager but I do have pretty good understanding of the SDIF specification so I was able to help him out with some example SDIF files.
In the process of helping him out I came across an old e-mail regarding importing a roster into Meet Manager. At the time I was interested in Team Manager so didn’t give it a lot of thought. Looking at the old e-mail I realized that if it worked, I could export the file format very easily from wp-SwimTeam. I went ahead an implemented it, now I am looking for someone to try it out.
The zip file above contains three versions of the same roster – CSV, SDIF (.sd3), and Meet Manager Registration (.re1). Extract the Meet Manager Registration file from the zip file. It is an ASCII file that contains swimmers records, one per line with the following fields delimited by semicolons:
- Registration number
- Last name
- First name
- Middle initial
- Club abbreviation
- Club name
- Preferred first name
- ?? – unknown what this last field is; it’s always “N” in the examples provided
To import the file into Meet Manager, follow these steps:
- Set up a new meet database. You only need to go through the first setup screen, the one where you put in the meet name, date, and length of course. To make my particular file work, select “USA Swimming” for the ID format. If you have something other than USA Swimming numbers for swimmer labels, select “Other”. Normally, for a kids’ meet, you’d select “USA Swimming” for the ID format or “Other” if you are not using USA Swimmer numbers for simmer labels.
- From the main Meet Manager menu, select “FILE”
- Select “IMPORT”
- Select “REGISTRATION FILE”
- Locate and choose the .RE1 file that contains the roster.
After completing these steps, go to the “Athletes” screen in Meet Manager. The swimmers contained int he RE1 file should bYou should see all of the athletes’ names that you saw in the RE1 file.
If this works for you, please leave a comment!
I have been asked to present the experiences of the MacGregor Downs MacDolphins with WinSwim and our team web site at the March board meeting of the Tarheel Swimming Association (TSA).
Our experience with Hy-Tek and ultimately WinSwim were significant drivers in the development of the wp-SwimTeam plugin. I have made the presentation available for download.
Events for each swim meet is now working. Even re-ordering also works. I still need to implement Importing Standard Events but I am pretty sure this will be pretty straight forward. Hope to have it completed this weekend. Once done, I will start working on importing meet results.
Yesterday I completed the first pass of exporting a LSC Registration Pyramid SDIF file. Since I only have the demo versions of the Hy-Tek tools (Team Manager and Meet Manager), I sent the SDIF file to the support contact I have been working with at Hy-Tek. Meet Manager can’t read the file which makes sense because it contains roster information, not meet entries. Team Manager can’t read it either because it doesn’t import SDIF. Great. It turns out Hy-Tek really only supports a subset of SDIF. Now what do I do?
When I first started looking into this problem, I found a couple other similar applications which manage swim team rosters and meets. One was from EasyWare, the other from WinSwim. I tried to import the data into WinSwim and didn’t have much luck. I then sent the file to their support e-mail address and hoped I had simply made a mistake in my SDIF file. I got a nice reply stating that WinSwim didn’t support the LSC Registation Pyramid and suggested I structure my file a little differently OR use their ASCII import method.
The ASCII import method didn’t look too difficult but instead of tackling it last night, I played Rock Band with my son. I am really glad I played Rock Band instead of working ont he plugin! This morning I woke up to an e-mail asking me to download and try a new version of WinSwim which support the LSC registration pyramid. Yeah! I installed it and imported my sample data without any issues. How cool is that? Unless I run into a problem, I expect our team will make an investment in WinSwim instead of Hy-Tek.
Today I finished the first pass on generating an SDIF file for the roster. I sent it to Hy-Tek and it doesn’t import. Great. Apparently they don’t seem to support all of the SDIF specification, just some of it. No mention of that anywhere on their web site.
On the plus side, I found a better version of the SDIF specification on the WinSwim web site. If I can get WinSwim to digest the SDIF file I generated, I may push our team to use it.
I have been trading e-mail with a support guy at Hy-Tek regading Team Manager’s ability to import SDIF. After our dialog, I am not sure Team Manager can import the roster I am trying to generate. It can import results but based on the samples Hy-Tek sent me, it isn’t clear if it will deal with the D1 and D2 records or not. Since they won’t send me an evaluation version, only the Lite version which doesn’t support SDIF import, I have to sending them my SDIF file for them to import and see what I get back.
I am also looking at WinSwim which actually looks like a better solution for most club swim teams. WinSwim also offers a really useful SDIF Checker which will help me out greatly. Using the checker, I should be able to send Hy-Tek what I believe is a good SDIF file.
It really boggles my mind that Hy-Tek is the defacto standard when their tool is so hard to use and to get data in and out of. Convincing our team that WinSwim may be a better choice for us will be no small feat.