SAILPro         A New Concept in YACHT RACE SCORING                    

SailPro is a unique yacht race scoring system designed to handle all on-the-water Race Committee computing needs while being accessible via any smart phone or tablet computer.  Like all newer scoring systems, it is used and operated via a browser. However, SailPro need not be internet based and thereby is not absolutely tied to WIFI or cell-service.  SailPro uses a client-server concept allowing any browser-equipped device to be a client served either on the internet at sailpro.org, or by a local (ie. on-board RC signal boat) Raspberry Pi computer.

SailPro is simple, easy to learn, and uses a straight-forward method of navigating around the four main race scoring tasks:   Regatta identification, Class/Start splits, Competitor entry, and Finishing/Scoring. SailPro's simplicity is easily visible: have a look at its initiation screen below. Therein, the four key areas of race scoring control can be clearly identified.

REGATTA SET-UP

Displayed above is the actual starting screen used by SailPro to initiate a new regatta. Typically, a new (or recurring) regatta is planned around a some basic ideas. It will be for a specific group or class of boats, and have a name, venue, managers and target dates assigned. All this information can be entered into the above initial SailPro screen. Most of the data fields are self-evident, and some of them can be pre-set or controlled as configured options. As mentioned above, there are four primary sections on the screen:

REGATTA IDENTIFICATION: Defines the basic characteristics of the regatta, its name, identifier, date, etc., and is fairly easy to understand. The Club Name can be pre-set as might be appropriate. The Regatta ID is a user-defined, coded identifier for the regatta, and the regatta's data files are named with this code.

The last field of the Identification area is 'Number of Races,' which is related to the 'Classes,Races&Starts' frame to the right. Also there are three buttons which are unavailable initially: Submit, Hide/Show Entries, and Add Race. Note that data entered into SailPro only exists in the browser, and is stored on the server only after being submitted.

CLASSES,RACES&STARTS: (CRS) A class is a grouping of boats that will race and be scored against one another. A class will typically have a set start time in each race, and two classes may be started together (can have the same start time). But classes and starts are bound together one-to-one. One Race is a series of starts, one for each class, and all starts for one race will occur on one date in sequence. A class can consist of several (or many) competitors. But a competitor can only be in one class for the regatta. Therefore a competitor can only start and be scored one time in each race.

Initially the objective of this CRS section is to build a table which defines the first race date, the classes, and a scoring method for each class, plus the probable starting sequence. Therefore the required fields are the date, class and the 'ScoreAs' columns. Start times, distances and courses may be set and can be changed (and probably will be) before finishers are entered for the race. A Class is given a 'Class code' or ID, usually an abbreviation like PHRFA or CLUB, for example. After entering each class, the 'Add Start' button is clicked to enter the next class.

Only the first race needs to be defined because the SailPro server will copy this initial table of starts for more planned races, the number of copies (initially 3) being set in the identification section field 'Number of Races.' The last CRS column, 'ScoreAs' sets the scoring method using configured drop-down options being: Handicap on Distance (BHoD), Club Handicap on Time (CHoT), Time on Time (ToT), One-Design (OD), or Portsmouth Yardstick (PY).

The following two areas of the screen (Entries and Finishes) are not initially usable. They are shown here for illustration only, because basically, when a regatta is first defined, it will not have any competitors, nor any finished races.

ENTRIES: Each competitor is one entry in the regatta, identified by its sail number, and is defined in the 'Entries' section. Entered yacht data builds a table of boat information consisting of sail number, yacht name, type, skipper, rating, etc. As each boat is entered, a new line will open for the next boat. Initially the last column 'Class' is an open free-form field, but after submitting classes in the CRS section, this class field will be set using a selection of drop-down options of only defined classes (a configured option).

FINISHES: Initially entry of 'Finishes' is restricted against any input because there are no races and no competitors defined. It is shown on this initial screen because it is always on this one primary SailPro web-page. Although not yet defined, it is set to receive finishes for Race Number 1. Only two fields must be entered to record the finish of each boat: Sail Number and Finish Time. An optional Field entitled 'Status' is available for recording status and penalty codes which can be selected from a configured drop down list: DNC, DNF, DNS, DSQ, OCS, etc.


Want better insight into SailPro?

There are three ways to get a better feel for how SailPro operates: 1)Review the Pseudo-Demo, 2)Utilize the DEMO Yacht Club, and 3)Initiate live SailPro scoring for a yacht club. Probably the most expedient and beneficial approach would be to perform these operations in that sequence.

PSEUDO DEMONSTRATION

The Pseudo-Demonstration pages are actual SailPro screens, being driven by SailPro Javascript functions, and show the true look-and-feel of SailPro. Please be aware that these samples do not connect to any server nor do they update any data base. Therefore data entered in the demo is not saved, nor is it processed at all, meaning the demo does not fully perform online race scoring.

PSEUDO-DEMONSTRATION: Mid-Regatta Screen

Notes on Pseudo-Demonstration Pages
The above two screens (Initial and Mid-Regatta) are samples of the one primary SailPro processing page. Comparing these two screens shows several differences between them, such as Functional ordering and Race buttons. (Did you try them? -- ie. click-on R1, R2, R3) Some changes indicate SailPro's configuration options. For example, SailPro may be configured to provide for loading the Entries table from another source, such as a prior regatta or an independent online registration function (SailPro has its own). Also, display order of SailPro's sub-sections and their view can be controlled, as well as being shown or hidden. Typically all sections are displayed, and after initial set-up, the 'Finishes' section will be displayed before the entry section, because generally, most on-going race processing involves finishing and producing view-able results.

When accessing a regatta in-process, the 'Finishes' section initially displays as a line of blank fields awaiting entry of a finisher for the next race (Race 4 in Demo). Each boat is finished by keying-in its sail-number and finish-time, after which a new line is opened for the next finisher. This process builds a finish-log for the race. After the log is submitted, it can be reviewed by clicking on a Race/Results button (R1, R2, etc.) appearing in the Finishes section. This review screen also allows for modifications, updates and additions, and includes a 'Results' button for producing (and publishing) a tidy 'Results report.'

BTW, The mid-regatta demo defines only two classes, seven races and twenty-six entries, (the respective maximums are 9, 9, 999). Also, sample sail numbers used are only four-digits because doing so intentionally simplifies the demo. (Sail numbers in SailPro can be up to 9 characters long, such as 'USA123456' which can be entered into the Entries screen by clicking on the 'Add Boat' button.)

Because it has no back-end processor, the pseudo-demo does not perform the more-complex calculations such as actual race or series scoring, or changing a race parameter (eg. start-time or distance) after it is scored. These functions are handled by the server. However the demo scoring pages were produced by the SailPro server program. In addition, some pseudo-demo functions may appear to hit dead-ends because they will await a server response which does not occur nor will it ever.

DEMO Yacht Club
A SailPro club-account has been set-up to handle race scoring for a DEMO Yacht Club. It is openly accessable to anyone since no password is needed to test basic functionality. And it therefore cannot be relied upon to store data persistently because random users can and may make changes. This account was initiated using standard SailPro processes, and includes the Pseudo-Demo Regatta, as well as a few other sets of test data. Feel free to manipulate this information (it can't be ruined), or to establish a new regatta.

There are two ways to exercise the Demo Yacht Club: A)The Scoring Page appears identical to the mid-regatta Pseudo-Demo (it may have been altered), but is fully functional and includes all SailPro scoring services. See its publishable results via any Race button (i.e. R4), then click-on Results. B)The full Club Demo shows the Regatta-Menu page which is the first screen displayed whenever a user logs into an active SailPro club.


Go-Live with SAILPRO

Actual, on-line SailPro race scoring functionality can be set-up for a club at the following web-page: Initiate Sailpro. This link is used to both initiate a new club and for on-going access to an existing club (one previously set-up). Hence, the page requests an email-address for a user-id, and a password. To start SailPro for a club, an email address and a club identifier (abbreviation) is required. Your club identifier must be less than 7 characters, and will be entered into the password field (it will not display).

Creating a new SailPro club requires entry of a SailPro admin passcode. The passcode will be emailed to the club administrator at the entered email address. Upon return to SailPro, login using this club administrator email address, and the SailPro passcode. The administrator must then identify the club by entering its name; then entering his own name and a new password for this SailPro administrator account. This regular password must be more than 7 characters in length.

After initially logging-in and completing this set-up task, the standard SailPro menu for the club is displayed. This menu shows all regattas for the club plus two admin functions. Initially there is only one regatta, a demonstration regatta/series (DS2020), which provides test data for exploring SailPro's features and functionality. After exercising the system using this data, a neophyte user will likely find SailPro to be comprehensive and yet easy and intuitive. An hour of exploration will give a user the knowledge to initiate SailPro for scoring their own regatta.

The administrative functions provide ways of setting club-wide race scoring parameters and for initiating a new regatta. Racing parameters control such conditions as Time Limits, Boat Changes, Penalty Scores, Throw-Outs, etc. Initial parameters are probably acceptable for your club, but they may be modified as necessary using the 'Club Option' selection.

Start New Regatta
Starting a new regatta in SailPro uses the same Initiation Screen as displayed above (and was used in the Pseudo-Demonstration). This screen is ubiquitous in SailPro. As discussed above, the screen is comprised of four areas, and, in general, the data fields on it are fairly evident, but a few items deserve additional explanation. Most of the data in the Identification area is simply descriptive, meaning used only in titles and descriptions to various reports, etc.

A critical field in the ident-area is 'Regatta ID' which is a free-form, user selected code and is used widely in SailPro as the identifier for the regatta. To allow a casual user (non-scorer) to easily identify it, this ID should be an abbreviation or acronym of the regatta name. It must be unique and should include an annual focus. So a good ID for the annual 'Summer Solstice Series' for 2023 might be SSS23.

The CRS or Race-Schedule area is documented above, including a definition of what a SailPro racing class is. This race-schedule table defines the dates, classes, start-times and other regatta-calendar parameters. Scoring rules (or mechanisms or formulas) are always defined for a class of boats which compete against each other under that scoring method. So a scoring method is declared for each class in this race-schedule table, under the 'ScoreAs' title or field.

Scoring methods are handicapping mechanisms that allow dis-similar boats to vie competitively against each other. Basically, a boat's handicap number (HCP) adjusts its actual race elapsed time (ET: time between starting and finishing) to a corrected time (CT). For a given race, boats in each class are then ranked by corrected time. The class winner is the boat having the lowest corrected time.

Handicapping Rules - SailPro has five scoring methods available:

ENTRIES:   Sailpro has three methods for handling competitor-entry: 1)Direct data entry; 2)Copy from existing regatta; 3)Online by competitor. The Regatta Initiation screen includes a field labeled: 'Copy Entries From.' Enter a regatta ID here to have all competitors (and classes) copied from that regatta into this newly defined regatta. The 'Entries' section of SailPro's primary screen becomes a display-table of entries, and can also be used for direct competitor entry.

Using the internet, competitors can self-enter into any SailPro regatta. After creating a new regatta, a line will appear at the bottom of the main regatta menu screen which states 'NOR hot-link for Open Registration...' This line shows a web-link that can be copied into any web-page for providing a hot-link to the SailPro self-entry screen for the new regatta.


Check-it Out
Please feel free to fully exercise and review SailPro, and your feedback would be welcome and appreciated. We look forward to any comments and suggestions, and will expediently respond to any questions at: info@sailpro.org

Thank you for your visit, and may you be blessed with sunny skies, fresh winds and following seas.