Skip to content
John Holbrook edited this page Nov 15, 2020 · 2 revisions

User Manual: FLLuid

Contents

link text

Indroduction

This is the user manual for FLLuid. FLLuid is a software package for generating and showing audience-facing displays and timers at FIRST® LEGO® League events run using FLLTournament.com. It's designed to make it easy to share important table game information with teams and audiences at events of all sizes, from local qualifiers to state championships and beyond.

Should you use this software?

Not all FLL events are run the same. Depending on your specific needs, and what tools you already use to run your events, this software may or may not be right for you.

You should consider using FLLuid if...

  • You already run your events on FLLTournament.com
  • You want to show your audience more information than the website's default scoreboard natively provides.
  • You want to simplfy your event's team-facing A/V setup.

You should not use FLLuid if...

  • Your events don't use FLLTournament.com.
  • You only want a match timer (if this is you, consider using fll-timer.com instead!).

Installation

Download

Most users should download the latest version of the app for their operating system:

  1. Download the latest version for your operating system from the releases page.
  2. Unzip the compressed file and store it in the appropriate place for applications on your system.

Build From Source

If you want to make changes to the app, or run it on an OS for which compiled binaries are not provided, you can build the app from source.

  1. Install node.js and npm (the node installer or your package manager should take care of installing npm when your install node).
  2. Clone the git repository, or download a .zip of the source code for a particular release from the releases page.
  3. npm install to install dependencies.
  4. npm start to run the app.
  5. npm dist to build a compiled binary for your system using electron-builder. Note that you will probably have to edit the "build" item in package.json to get this to work on your system.

Overview

At launch, the application displays two windows:

  • The display window shows the user-facing display. It should be shown full-screen on a display visible to teams and spectators (e.g., a large projector near the fields).
  • The controller window contains controls used to determine what is shown on the display window. This window should be on a display not visible to the audience (e.g., behind the A/V desk).

Controller and display windows at app launch

A third window, the timer-only window, can be optionally spawned for use as a secondary team-facing display. This window displays the timer at all times, regardless of which display is selected on the display window.

Display Types

The display window can show a number of different display types. The current display type can be selected from the controller window. Options for configuring various displays are also available in the controller window.

None

If chroma-key mode is enabled, the "None" display shows only the chroma-key color, allowing for only the underlying camera feed to be shown. If chroma-key mode is disabled, the "None" display is the same as the Logo display.

Logos

The "Logos" display shows an automatically-advancing slideshow of sponsor logos or other images. Sponsor logos can be selected from the controller window. By default, images are shown in lexicographical order by file name, and the slideshow advances every 5 seconds. However, the order of sponsor logos and the time each logo shows can both be changed from the controller window. Logo Display

Match Schedule

Shows a scrolling match schedule. The match schedule is set by importing the same spreadsheet as used by FLLTournament.com, but in CSV format. Only matches in the currently-selected match block or later are shown. A sponsor logo is shown after the end of the schedule, before the schedule is repeated. Match Schedule Display

Match Intro

Shows information about the matches in the currently-selected match block. Match Intro Display

Scores

Shows a scrolling display of the current scoreboard. Practice or official scores can be shown. A sponsor logo is shown after the end of the scores table, before the table is repeated. Scores Display

Timer

Shows the current match timer. This display will automaticaly be selected when the timer starts, but you can switch to and from it at any time. Timer Display

When chroma-key mode is enabled, most of the display is the chroma-key color, and the timer is shown in the top right. Timer display overlayed on match video

The font used for the timer can be selected from the controller window.

Other Events

Shows top scores at one or more other events specified in the controller window. This is most useful at local qualifiers, so you can keep an eye on scores from concurrent or previous events in the same region. If more than one event is specified, the next event will be shown every 10 seconds. Other Events Display

Message

Displays a custom text message. The content of the message can be set from the controller window. Message Display

Controls & Settings

The behavior and configuration of the display window is managed from the controller window. Controls are organized into a number of areas:

Event

In the "Event" tab, configure information about the current event, and any other events to be shown on the "Other Events" display. Event Tab

An event's "FLLTournament ID" is FLLTournament.com's unique numerical identifier (usually 5 digits). FLLuid requires this ID to pull scores from the event's publically-viewable scoreboard.

To find your FLLTournament ID, navigate to your event's public scoreboard on FLLTournament.com. The URL for that page will look something like this:

https://flltournament.com/Scoreboard.aspx?TID=21980

The FLLTournament ID is the number at the end of the URL, in this case 21980. For the "Other Events" display, to look as score from multiple other events, enter multiple IDs, separated with commas.

The dropdown menu can be used to select whether to show practice or competition matches on the "Scores" and "Other Events" display.

The "CSV Schedule File" is the same file you uploaded to FLLTournament.com to define the match and judging schedule, but exported from Excel to CSV format. FLLuid needs this file to show the match schedule.

Lastly, the scores for this event or other events can be manually refreshed. This shouldn't be necessary, however - FLLuid will automatically pull new scores from FLLTournament every 5 minutes.

Logos

The "Logos" tab can be used to select and re-order sponsor logos: Logos tab

Select "Browse" and open a directory containing all your sponsor logos. By default, logos will be shown in lexicographical order by file name, but this order can be changed by dragging around the cards in the "Select Logo Order" area.

Timer

The "Timer" tab contains options to alter the behavior and appearance of the timer.

Timer tab

The "Timer Font" dropdown can be used to select from 3 different fonts.

The "Timer Sounds" checkboxes can be used to enable or disable the sounds that will play at the start of the timer, with 30 seconds remaining, and at the end of the timer.

If "Auto-advance match block 5s after timer end" is checked, the current match block will be automatically 5 seconds after a timer ends. Thus, with this option enabled, the operator won't have to rememebr to manually advance the match block between sets of matches.

Message

The "Message" tab can be used to control the custom message.

Message tab

When the "Submit" button is clicked, the content of the text box will be set as content of the "message" display. If "Show message text on other displays" is checked, the message will also be shown near the top of the Schedule, Intro, Scores, and Other Events displays.

Appearance

The "Appearance" tab can be used to alter the dsiplay's appearance in various ways.

Appearance tab

When "Chroma Key Mode" is checked, the "timer" and "none" displays will operate in chroma key mode (see above). If "Show current match teams on chroma key timer" is also checked, the names of all the teams in the current match block and the correcponding tables will be shown in a strip at the bottom of the timer screen.

The chroma key color can also be changed. By default, the color is bright green (hex #00FF00), which is a good choice for most cases. But if a sponsor logo contains a similar shade of green, than the green portions of the logo may also be chroma-keyed out, which is undesirable. In this case, the chroma-key color can be changed to a color that does not appear in any sponsor logos.

The "table scrool speed" is the speed at which various scrolling tables for the scores match schedule move. The default value is 70 pixels/second, but the speed can be set to between 20 and 120 pixels/sec.

The "sponsor image time" is the time for which an image is shown on the "logos" screen before the next logo is shown. The default value is 5 seconds, but this time can be set to between 2 and 15 seconds.

Timer & Match Block Controls

The right side of the controller window contains the controls for the timer, match block, and current display.

Right column controls

Clicking "Start" will start the timer, switching the display window to the timer display if it's showing something else. Clicking "Reset" will reset the timer to the initial value of 2:30, stopping the timer if it's running. The timer will automatically reset a few seconds after reaching 0:00.

A "match block" is a group of 1 or more matches with the same scheduled start time. The "current match block" is the block of matches that's currently running, or the next block to start. Using the "Prev. Block" and "Next Block" buttons, the current match block can be changed. This effects two displays:

  • The "Match Intro" display shows only the matches in the current block, to introduce the team(s) who are about to play.
  • The "Match Schedule" display shows only matches in the current block and later, because we don't need to remind the audience about matches that have already happened.

FLLuid can be configured to automatically move to the next match block when the timer finishes running, but this behavior is off be default.

Example Configuration