first volunteer coordinator – usability – a click analysis

I am co-volunteer coordinator for the NYC FRC (FIRST Robotics Competition) regional. The volunteer system could have better usability.  I’ve been thinking about writing up a “click analysis” for common workflows. The idea being that good usability shouldn’t take a large number of clicks to do something common. When my friend asked how to cancel an application, I finally decided to it.  (cancelling is at most 4 clicks once logged in which isn’t bad. )

But on to the most common volunteer task once you are logged in as a volunteer coordinator. How many clicks and are they all necessary.

Accepting a volunteer – 9-12 clicks

  1. Click on the regional name [if you only manage one event, this click should be inferred and not something you have to do each time]
  2. Click on the role you want to assign
  3. If you don’t already know the person, right click their name for details (to open in a new tab)
    1. Click current applications
    2. Click assignment history
  4. Either drag the person’s name to the table at the bottom or click the checkbox and then
    “move applicant into schedule”. I find dragging slower, so this is two clicks for me.
  5. Drag tentative to the table once per day the person wants to volunteer. (Or drag once and expand the bar to cover all the days). So this is 1-3 click/drags
  6. Click complete assignment
  7. Click checkbox for name again
  8. Click assign and notify selected
  9. Type message
  10. Send

Seeing all unassigned volunteers = 3 + 2n

There’s a report called “all unassigned volunteers”. But it doesn’t have links from the person’s name to their profile. Which means you can’t assign from there and have to do it the long way.

  1. Click on the regional name
  2. Click a role. Ideally without any unassigned volunteers
  3. Click unassigned applicants
  4. Right click each to open new tab
  5. Click current applications

 

 

how to cancel when volunteering for first (frc/ftc/fll)

A friend asked me how to switch from one volunteer event to another on firstinpires.org. It isn’t intuitive at all.

The answer:

  1. Logon to firstinspires.org
  2. Click “My dashboard”

If you were already assigned to the role

  1. Expand “assigned event volunteer roles”
  2. Click “Role options” pull down
  3. Click message coordinator and write a message that switched to Saturday

If you were not yet  assigned to the role

  1. Expand “pending applications”
  2. Click “Role options” pull down
  3. Click “withdraw application”
  4. Click “withdraw”
  5. Hope it worked. The role still appears in your list so you aren’t automatically withdrawn (not great usability)

first impressions of VS Code (visual studio code)

FIRST Robotics is using VS (Visual Studio) Code as the default IDE next year so I’ve developed a sudden interest in learning it :).

My overall impressions

It is much faster to get started with VS (Visual Studio) Code than Eclipse. And for the simplified use cases for FIRST robotics this makes sense.

Initial install

I installed it about two months ago. That was easy. I went to the website and downloaded. I didn’t have time to do anything then so my only experience was when I double clicked a .java file when preparing for my QCon Java 11 presentation. It’s a nice editor so cool that it opened out of the box. Not so cool that it changed my defaults for opening files without telling me.

Also nice that VS Code prompts with a suggestion to install the Java extension pack when I opened the Java file.

Upgrading

Since I didn’t do anything, the first order of business was to upgrade to the latest version. VS Code makes this easy. One  a Mac, you go to code > check for updates. It downloads quietly in the background. Then you go back to Code and choose restart to download.

Like Eclipse, the release notes automatically open. However, since I’m completely new to the tool, everything is new to me so I didn’t read it.

Plugins

The FIRST website suggests some plugins. To start with, I installed:

  • Java extension pack – includes the plugin for Maven
  • C++
  • WPILib – this is a custom download (vs being part of marketplace at this time).

I like that it uses a Marketplace like Eclipse. I also like that you just click “reload” to have the downloaded plugins take effect (rather than having to restart the whole IDE). I also like that the extensions menu has an install from VSIX option. Really easy to install a plugin that you downloaded from the internet.

I’ll install more plugins after getting the lay of the land.

Documentation

The VS Code getting started is good. I like that it includes the keyboard shortcuts for opening the command palette.

  • shift+command+P = mac
  • shift+ctrl+P = windows

It was harder to find the windows keyboard shortcuts than expected. The website help “knows” I’m on a Mac so tells me about the Mac ones. But I’m going to be helping students on multiple operating systems. (It was clear in the FIRST robotics docs, but I would have liked this to be clear on the Microsoft website as well)

Creating a first project

I used the WPI wizard to create a new project. It was easy to use and fast. The file structure is standard for a Gradle project so it felt familiar. I opened the Robot.java file and tried to make a change. Then VS Code started “downloading the internet.” This is also normal for Gradle. I was just expecting it to happen on file creation or first build rather than when I pressed ctrl+space for autocomplete.

I like that you can use the command palette to run commands without having to use the mouse or memorize a lot of keyboard shortcuts.

Playing a little

Many of the keyboard shortcuts are standard so autocomplete and closing tabs works as expected. If a file has warnings it (and the package name) are in green. Similarly, errors are in red. I imagine this is customizable if someone is red/green colorblind. I’m surprised the defaults are ones where this is a problem.

How to open multiple projects

I immediately wanted to compare two projects in the same workspace. This is easy. You go to file > add folder to workspace. This creates a “multi root” project.