Defining Dinghy Classes

Now that we are starting to use computers routinely to manage race information it is a good time to improve things and define a standard that different software applications can share

A Proposed Standard: Boat Timer Standard Class Definitions

Sailors usually know the difference between a Laser Radial and a standard Laser and that the two boats go at different speeds. Trouble is, computers are not as smart as people. Now that we are starting to use computers to routinely manage race information it is a good time to improve things and define a standard that different software applications can share.

This means that there is always an easy way to be sure of the corrected time calculation for that class and what boat specification was used in a race

In writing the Boat Timer app I had to define an “internal” standard for an ID so that the app could accept race entries using a common name, such as “Laser Radial” and refer to that class internally by the ID so that even if the name changed (it can happen – the Laser 2000 is now an RS 2000 for example) it would carry on working. This means that there is always an easy way to be sure of the corrected time calculation for that class and what boat specification was used in a race.

I decided I would assign an alphanumeric ID code (so no spaces or punctuation) that was limited to eight characters. A Laser Radial became “LsRadial” whereas a standard Laser was still just “Laser” and a Laser 4.7 was “Laser47”. I tried to pick an ID that was still easy to identify, so the Laser Pico is just “Pico” and the aforementioned Laser 2000 is “2000”.

To link the ID back to the names we are familiar with, the standard includes a class, subclass, name and shortname. For the Laser Radial the class is “Laser” and the Subclass and shortname are “Radial” and the name is “Laser Radial”. The shortname is better than name when displaying a table of race results so the column title for the class is not too wide. You may not use all five different parts of the standard – the name and shortname are the most useful when displaying information – but they allow the standard to be flexible and used in a number of different ways.

So the Boat Timer standard class definition for the Laser Radial is:

ID: LsRadial
Class: Laser
Subclass: Radial
Name: Laser Radial
Shortname: Radial

the Laser is:

ID: Laser
Class: Laser
Subclass: <– intentionally blank!
Name: Laser
Shortname: Laser

and for a Devoti D-Zero (hopefully a good example) it is:

ID: DZero
Class: Devoti D-Zero
Subclass: <– intentionally blank!
Name: Devoti D-Zero
Shortname: D-Zero

You might wonder the D-Zero and D-One are not treated like the Laser Radial and have a class of “Devoti” and subclass of “D-Zero” or “D-One”. There is a reason for this: the Devoti D-Zero is not the same boat as the Devoti D-One, so one is not a variation of the other. But the Laser 4.7, Radial and standard Laser are the same boat with three different rigs, just like the RS Aero 5, 7 and 9.

Notice that the “-” has been dropped from the ID of the D-Zero but not from the shortname. The shortname is limited to eight characters like the ID, but it can include characters like “-” and “.” that the class normally use to describe the boat. The same is true for the 2.4mR which has an ID of 24mR but a shortname of 2.4mR.

Just an aside – there are two different sizes of rig for the D-Zero, a 6.9 and an 8.1. But the RYA PY tables only list a single entry for the D-Zero. I must get to the bottom of that one. I guess it just shows that having a standard for classes is useful, we will need a DZero81 in the list in the future (if the RYA are referring to the 6.9 rig?).

To make sure the Boat Timer standard list of classes is available to everyone just by using a browser, the Boat Timer server now has a way to easily get the information in two different formats

To make sure the Boat Timer standard list of classes is available to everyone just by using a browser, the Boat Timer server now has a way to easily get the information in two different formats. To get it in JSON format, which is a format commonly used for data exchange between web servers the address is:

https://boattimer.com/qry/stdclasses

For the CSV format used by many desktop programs like HAL Results and Sailwave the address is:

https://boattimer.com/qry/stdclasses/csv

If you see any mistakes or omissions, please email me at ian.cherrill here at rotor-rig.com so I can correct the list. There are a number of rare or older classes not on the list, so if you use one of those for racing I will be happy to add it.

Leave a Reply

Your email address will not be published. Required fields are marked *