Friday, September 23, 2011

New mini-language extension

The mini-language had two possibilities to indicate that an element is devaluated:

  • Typing a minus "-" character after the symbol indicates that the DV value must be one lower than the original DV (D becomes C, C becomes B, B becomes A)
  • Typing a less-than "<" character after the symbol indicates that the lower element from the code must be awarded (Double pirouette on floor becomes pirouette)
  • These two situations cover all devaluation scenarios.
    So I thought.
    Until I encountered this on the judge score slip:



    It is clear what happened here (I checked with a video on Youtube): the gymnast intended to do a double pirouette with one leg above horizontal, so that is what is written down by the judge. However the double pirouette was not double, so it is devaluated to single pirouette with one leg high (D becomes B). But the leg was not the entire turn held high enough and then it gets devaluated to a normal, single pirouette (B becomes A) (now this sets me thinking: at least 360 of the pirouette was with one leg high enough, so shouldn't a DV=B be awarded?).
    Anyways, there is no way with the "-" or "<" syntax of the mini-language to devaluate a double pirouette with leg high to a normal pirouette. So I extended the mini-language with a rather universal solution: after typing the actual performed element, the intended element is added between brackets. The GS Judge application then displays and counts the performed element, but also shows the intended element - whatever it was - with a red circle around it to indicate it was not rewarded.



    All this will become available in next weeks release.

    What is meta-data?

    When I am coaching, I find pleasure in explaining the biomechanics behind an element. I find the same pleasure in talking about the mechanics that drive the GS software. This time I want to talk about meta-data.

    What is meta-data? Meta-data is an IT term and in short it refers to data about data. When you enter a symbol into the GS Judge application, that is data. The DV that appears above the symbol, is the meta-data. Every symbol on every apparatus requires a lot of meta-data. For example on balance beam, we need to know for every symbol:

  • Difficulty value (A-G)
  • Is scale (yes/no)
  • Is mount (yes/no/maybe)
  • Is dismount (yes/no)
  • Acro or dance
  • Split direction (cross split, side split, upward, diagonal)
  • Is salto (yes/no)
  • Is turn (yes/no)
  • Is roll (yes/no)
  • Is handstand (yes/no)
  • Is hold
  • Lower element
  • Has flight
  • Supporting hand count (0,1, 2)
  • Take off from both feet (yes/no)
  • Element direction (forward, backward, sideward)
  • LA rotation (180, 360, ...)
  • BA rotation (360, 720)
  • Landing type (on 1 foot, 2 feet, straddle sit, ...)
  • Can repeat for CV (yes, no, once, ...)


  • Having one of these values wrong for a symbol, can have a serious impact on the calculation of an exercise. Today I encountered such a problem. The acro line below was not recognized as a series with two different saltos. The reason was that the meta-data of the whip salto was incomplete: it lacked the BA rotation value and therefore was not recognized by the program as being a salto. The end result was one CR missing, which was a mistake of 0.5 points.

    When the new version will be released next week, I expect that more meta-data bugs will surface. If you detect one, don't hesitate to report it so we can improve the product.

    Regards, Tom

    Wednesday, September 21, 2011

    Train delays help speed up development

    Developing the software for gymnastics is a hobby (my real job is developing enterprise applications for an Italian energy supplier). Most of the development is done on my way to and from work. As I travel by train - 1,5 hour in the morning and 1,5 hour in the evening - I am able to make a steady progress. But with the WC approaching, I need more time than I have. Then it helps when the train has an increased travel time of 1 hour, which happened yesterday :-)

    Thursday, September 8, 2011

    Always read the small letters!

    In this case, it is actually: read the word between brackets. Last week Donatella Sacchi - WTC member - was testing the GS Judge software, and almost always the results were correct except for this one case. See if you can spot it! I give you two floor exercises. What is the difference in difficulty value?
    You notice that both exercises are identical except for the dismount, which is in both cases a simple A salto. Would you tell that the DV of the second exercise is 0.5 higher than the DV of the first exercise? The reason is in the definition of an acro line: An acro line may consist of a min. of one flight element without hand support and take off 2 feet (rebound). And there you have it - the word between brackets: rebound. A forward salto requires an approach run and therefore the salto starts from a rebound take-off. That means that the forward salto is an acro line on itself and being the last acro line means that the dismount is this A-element. So no CR! In the other exercise, the final salto is a salto backward. You cannot take an approach run and then do a salto backward. So you do it from a standstill: no rebound, no acro line. The dismount is the salto with the highest DV in the last acro line, which in this case becomes the forward double twist (D). That means a CR of 0.5. Here is the score slip for both exercises:

    Wednesday, September 7, 2011

    Can the software be used on a competition?

    Yesterday I received this question from an Italian judge and with his permission I answer the question on our blog.

    The question is not new and to be honest I would not recommend to calculate the D-score using WAG Judge.

    This is how we are used to judge:

    1) While the gymnast performs her exercise, the D-judge writes it down. More often than not the D-judge is also judging the E-score.
    2) After the exercise every judge counts the deductions.
    3) The D-judge then starts computing the D-score.

    How long does this take? After the gymnast ends her exercise it takes 2 or 3 minutes to get to the final score. The critical step is the computing of the D-score: many mistakes are made here.

    If you just want to replace step 3) with the WAG Judge application, you will have correct results but the time required to input all data (Gymnast name or number, the symbols, the execution value and saving the exercise to a file) will take more time than before. The reason is that the software as it is today, is not optimized for this task.

    The best way to use it today during a competition would be to have the exercises already saved on disk. This means that every gymnast must submit their exercises before the competion begins and some people are needed to put it into WAG Judge (or have the coaches use WAG Judge to submit their exercises). When the gymnast finished here exercise, the D-judge would compare the actual performed exercise with the submitted one. The amount of work is then reduced to just changing the symbols that were performed differently from the submitted ones.

    Optimizing the application would mean:
    * have a database linked to the application so that all gymnasts in competition are already available together with submitted exercises.
    * have input fields for all E-scores
    * have the results stored in the same database that holds the gymnasts info and submitted exercises.

    Oh, and of course, having an IPad where you write the exercise down would also help. The problem there is that the amount of technology required to recognise a written gymnastics exercise along with all deductions and other things a judge writes down, is not available.

    Some people are convinced that submitting an exercise prior to competition can give reason for prejudging. Do you have an opinion about this statement?

    Sunday, September 4, 2011

    Meeting with WTC member Donatella Sacchi

    During the World Cup in Ghent I had the opportunity to talk with WTC member Donatella Sacchi. We talked about the current code and the new code, and how gymnastics software could be of any assistance to the development of the new code.

    The result of the meeting was that I had a clear idea of what new peace of software would be of extreme value to the WTC. It is actually an existing tool that we use to test our software.

    To test WAG Judge we have many copies of written exercises from major competitions and we verify if the results calculated by the WAG Judge software equals the score that was written on the score sheet (yes, we do get these from the WTC). This test is automated and after every change in the software, it takes only two seconds to re-evaluate all 250 (and growing every week) exercises.

    Having these 250+ exercises organised in a database, enables the WTC to automate time consuming tasks such as counting the number of falls after a competition or counting how many times each element has been performed. We now have this information - and much more - in our databases and it is just a matter of defining what statistical information is required. The actual counting of elements/falls/connections/... is done by the computer and takes only seconds to complete.

    One example where this kind of information is useful for the development of the new code, is the rule on beam that says that you receive one tenth more for a jump with full turn that is landed in side position. After reviewing all exercises performed under the current code, only one gymnast attempted such a jump. Therefore, this rule is a candidate to be removed from the new code.

    Another area where our software can help, is by implementing the rules of the new code and let it run over all exercises from the current code. Than we can compare the differences in the final score, but also see what the effect is on the ranking in a competition. If for example a new rule is designed to favour execution over difficulty, it shows the effect of the rule on the ranking and whether the better execution ranks higher than before.

    The gain is in the speed. In the past all this work had to be done by hand.

    So what this means for us is that we concentrate on WAG Judge to get it ready for Tokyo, and then turn our attention to the new code which is expected to be finished early 2012, and help the WTC evaluating it.

    If you are in Tokyo and want to get in touch with us, find Marleen Van Dooren, the judge for the Belgian WAG team.

    Sunday, August 14, 2011

    Major Upgrade Announcement

    The software that can be downloaded from the website today only supports the calculation of a floor exercise. Balance beam and uneven bars have been developed and will be evaluated at the next World Cup in Belgium (Challenger Cup, September 3-4). If it produces correct results, the software will be released and distributed at the WC in Tokyo. After the WC, the new software will be placed on the website where everybody can download it.

    Here are some screen shots:






    Sunday, December 5, 2010

    Software for download on website

    The software that was distributed to all international judges at the World Championships in Rotterdam, is now available from the website http://www.gymnastics-software.com

    This is exactly the same software as on the CD. The bugs that have been fixed in the mean time, are not yet ready for release.

    What is a Font?

    In this article I will try to explain the meaning and function of a computer font. The reason for the article is that having the WAG Symbols font installed is a requirement for all GS software developed so far.

    In short, a font is a computer file that contains instructions for drawing characters on a computer screen. The font instructions are also used by a printer for printing characters. Instructing a computer how to draw a character (or a WAG symbol) goes like this: start at point (0,0) - then draw a straight line to point (230, 24) - then draw a curved line to point (345,21) - then draw another curved line back to the starting point (0,0). Some characters require very little instructions (for example the letters I,l,L) while other characters require 100 or more. The design of the symbol below contains hundreds of points because its shape is so irregular: it represents a handwritten symbol.


    Because characters can be displayed or printed in various sizes, the points mentioned in the instructions are transformed to the required size of the shapes on screen or paper. When displayed on a computer screen, very few points are available. If you come close enough to your screen, you can see the individual points (pixels) available for drawing the characters. When you select a small font size in your text editor like for example 8 or 9 points (a default size is often 12 points), the font has a difficult time displaying the character so that it is still recognizable. That is why many fonts - except high quality or specialized fonts - look bad on a computer screen when a small font size is used. This is no different for the WAG Symbols font. Solving this problem can only be done by designing a new instruction set for every character, for every small font size (8, 9, 10 points). If you know that there are up to 2000 WAG symbols in a single font, you understand that we don't have the resources to design the same font 4 times or more. Anyway, a modern printer does not have this problem: a printer can use lets say 600 dots per inch to draw characters, much more than we can see with the naked eye. That is why symbols might look ugly on your screen, but yet look good when printed.

    So now you know what a font is, what is it used for? Well, when you type a text in your word processor and save it to a file, the file does not contain the drawing instructions for the shapes of the letters (*). Instead is stores characters as numbers and instructions for the word processor specifying what font to use, what size, color, etcetera. The numbers for the characters are internationally defined by the Unicode consortium. The letter A for example has number 65. For every character in every language a number is defined. Also for the WAG symbols numbers are defined, except that in this case the definition came from Gymnastics Software and not from the Unicode consortium. The Unicode consortium reserved a range of numbers for private use, and we used that range to map the WAG Symbols to Unicode numbers.

    So a text document contains the name of the font being used, and the numbers of the characters in the document. If you send your document to someone else, her computer opens the text document, reads the numbers in the document, load the font specified in the file and draws the text on your screen using the drawing instructions from the font.
    If your computer does not have the specified font installed, it will pick another one that ís installed. If the font does not have instructions for the character, it will show the ‘missing glyph’ shape. Each font can define a shape that it will use when it is requested to draw a character it has no instructions for. Some missing glyph shapes are:

    The missing glyph symbol for WAG Symbols is:

    So whenever you see that symbol, it means that the selected font does not have drawing instructions for that character.

    I know this is all technical stuff. But understanding some principals about font technology can help you understand why sometimes an application behaves the way it does. If you have any questions, don’t hesitate to ask them.

    (*) Adobe Acrobat Reader (*.pdf files) stores drawing instructions instead of character numbers, so if you create a pdf file with WAG Symbols, the computer on which the file is read, does not require the WAG Symbols font.

    Monday, November 29, 2010

    New website online but still under construction

    I work with SmartCom for professional advice about communication, website, logo's, etcetera. Currently the final website is still in a pre-design phase (meaning that SmartCom is waiting for my input), but we decided to launch an under-construction website in the mean time. That website is now online: www.gymnastics-software.com

    Check out the cool picture on top showing my logo laying in parts ready to be assembled. I like it!

    Wednesday, November 17, 2010

    Upgrading Development Environment and Infrastructure

    Developing cutting-edge software is what I want to do. That means staying up-to-date with the latest development tools and technologies. For those who want to know, these are the tools I work with:

  • Coding: Microsoft Visual Studio 2010, C#

  • User interface: Window Presentation Foundation (.NET 4.0)
  • Font development: FontLab Studio 5
  • Laptop: Dell XPS M1710
  • Server: Dell PowerEdge 510


    Last week I upgraded from Visual Studio 2008 to Visual Studio 2010. One thing that is improved in this new version, is the quality of text rendering: good for us, because it means that WAG symbols will be displayed better. On the other hand, some features I used in older versions, are disbanded by Microsoft and no longer work in VS 2010: extra rework for me. And finally the software uses a new framework that will not exist on most computers, and therefore it must be installed with the GS applications: more mega bytes to download and installing the software will take longer.
  • Sunday, November 7, 2010

    New Product Names

    Currently four products are being developed:
    • WAG Fonts
    • WAG Symbols Keyboard
    • WAG AddIn for Microsoft Office
    • WAG Judge

    I am fine with the names "Fonts", "Symbols Keyboard", etc... but not with the "WAG" acronym. First of all "WAG" is hard to spell, sounds bad when spoken as a word, and lately the acronym receives much attention in the meaning "Wives and Girlfriends", not exactly something I want the software to be associated with.

    So I decided to change the acronym from WAG to GS which stands for Gymnastics Software. So in the next release, the products will be named:

    • GS Fonts
    • GS Symbols Keyboard
    • GS AddIn for Microsoft Office
    • GS Judge

    Tom

    Wednesday, November 3, 2010

    What is the mini-language?

    The mini-language is the language you can use in the text editor of the WAG Judge application: between the symbols keyboard and the score slip.



    This is the place where you insert the symbols that will be displayed in the score slip. To add special features to the exercise that influence the difficulty score, you can use the mini-language which I will explain here:

    To create a connection
    Type a space between two elements that are not in the same connection.



      becomes: 



    To indicate a fall
    Falls alter the DV because a connection value is not awarded in case there was a fall in the connection. To indicate that there was a fall in the element (or its landing), type the letter F immediately after the element that has the fall.


    becomes:




    To indicate an invalid element
    Sometimes a gymnast performs an element, but receives no difficulty value for it. For example when a salto is not landed on the feet. Of course you want to see the symbol of the element, but you don't want it to be taken into account in the evaluation. In that case, type the letter x immediately afer the element.



     
    becomes:


    To indicate an invalid element with a fall
    If the element has a fall and it is not valid for DV, type the letters xF immediately after the element.


     becomes:


    To devaluate the DV
    When for technical reasons the elements DV must be lowered by one, than you must type the minus sign - after the element.


     becomes:


    To devaluate an element to a lower element in the code
    To devaulate the complete element (for example due to an incomplete pirouette), type the less-than < character after the element.



     becomes:

    Tuesday, November 2, 2010

    New elements: update

    Nellie Kim asked me to wait a little bit, because some symbols will change. As soon as I receive the new symbol shapes, I will post them here.

    New elements from the Rotterdam 2010 World Championships

    I just added the new WC 2010 elements to the WAG Symbols fonts. Because I saw a problem with the shape of certain symbols, I first want to check this with Nellie Kim before I release it to you.

    In the mean time, I will continue to update the other software applications. As soon as the new symbols are approved by the WTC, I will release them.