Feature Friday #7: attendance stats, permissions, 43 fixes
This week, Ulti-Mate shipped: an attendance statistics page in beta, shorter create forms, permissions by roster role, one table for team access, and 43 fixes.
This week (September 4-10) we shipped: an attendance statistics page in beta, shorter create forms, permissions by roster role in beta, one table for team access, and 43 smaller fixes.
Attendance statistics
Attendance was marked on every event, but nothing added it up. To see how the season was going you scrolled back through events and counted. Slow, and easy to get wrong.
There's a Statistics section in the sidebar now, and its first page is Attendance. It reads top to bottom: alerts in plain words, then attendance rate, RSVP response, reliability (who showed after saying they would) and average turnout, each against a target line with an info button that opens the rows behind it. Then the trend over time and breakdowns by event type, day of the week, event series and venue. Coaches, staff and captains also get the roll call - every player against every session - and a Needs follow-up list. Filter by window and event type - and for leadership by division, role, position or specific players - and every figure follows. Every table exports to CSV.
Players see the team's summary and their own record. Who may read other people's records is a permission (below). The page is in beta - try it and tell us what's missing.
Shorter create forms
Creating a venue walked four steps and a review to record a place you were standing on. Adding a film was three steps to paste a link. Too many steps for what you already knew.
Every create form now asks only for what makes the record. A venue is the map search and what the team calls the spot, with the address shown so you can check the pin. A film is the link and a name. A new event is what, where and when on one panel, with invites on the next. An activity is one step with the type first. A plan is a title and the event it's for. Everything else edits in place on the record's own page, and the review step at the end is gone.
Also, finishing a create opens what you just made instead of dropping you back on the list, and the button's menu has "Create another".
Permissions by role
Who could add to the four libraries was fixed by role: activities, locations and practice plans were admin-only, and film was open to everyone on the roster. A team had no way to say its captains may add drills and its practice players may not, so the adding fell to the admin.
Settings → Permissions is a grid now. Admins tick, per roster role, who may add and edit activities, film, locations and practice plans, and who may read other players' attendance records. Coaches, staff, captains and players start ticked for the library rows; practice players, guest players and other members start unticked. A tick only ever widens what a role can do. The modifiers library stays with admins. The tab is in beta - set it up for your team and tell us what isn't there yet.
One access table
Settings → Members drew two tables, admins on top and the season's roster below. A coach who was also an admin showed up in both, with two menus that did different things. Confusing, and easy to edit the wrong one.
It's one table now, under Settings → Access: one row per person, with access and role as two columns, both changed from the row. Promoting is one pick; demoting asks first. Someone removed by mistake stays listed as removed and can be brought back, and admins and members are invited from one button.
Also, an unsent invite reads "Not invited" rather than "Draft".
Smaller fixes
- A tournament holds its games now: add them from the tournament's page, each one an event of its own, and cancel, reschedule or publish the tournament and it offers to take them along. Up to 64 games per tournament.
- Creating an event picks the type first and the end time follows it - a game or scrimmage gets two hours, a tournament two full days - and the New event button has a menu for adding a practice with the type already picked. Events is out of beta.
- The schedule opens on the list at every width now - last week it opened on the month - and the month arrows sit together.
- The "Who's coming" block on an event names its tally (Responses before, Check-in during, Turnout after), "Out" reads "Can't go", and the note and arrival-time follow-ups open right after you answer, from a schedule row too.
- A plan's when, where and forecast sit above its description, expand-all and collapse-all are one button, and the add-activity box folds away after each add. A player opening a plan gets the plan, not its print sheet.
- A player's page splits into what the team set (role, jersey number, USAU ID) and what the player set, and pronouns are editable in Edit Profile - the row was always empty before.
- The drill importer draws each category as its own chip and says who started a run. The library tours point at the example content a new team starts with, which is shorter now.
- Tagging someone in a comment shows their name while you type rather than the stored marker, the communities map pinch-zooms on a trackpad, and Home stops offering "add to home screen" on a laptop.
- An accessibility round: filter menus take focus when opened, a typed-to option scrolls into view in every dropdown, locked fields leave the tab order, and every chart point has a name for a screen reader.
- A phone round: detail headers wrap instead of truncating, plan cards restack, the inline date picker keeps its tap target, and the attendance charts lay out for a narrow screen.
- A backend pass: the app now reports a crash to us when a page breaks, so a broken screen gets seen without a bug report - the privacy policy says what's sent, and it's never roster data.
- Plus the rest - 43 fixes in all this week, and the running list is in #changelog in the Discord.
What we're working on next
Game and tournament events with details of their own - a game with an opponent, home or away and a time to arrive before, a tournament with what a weekend needs - and the event page showing them. Alongside that, more testing with real teams: if yours wants to try Ulti-Mate and tell us what's rough, we'd like to hear from you.
Tell us what your team needs - the Discord or feedback@ulti-mate.app.
— Victor