UX/UI case study · concept

Bravo C2

A counter-drone command console, designed five times over. Each version answers what the last one taught me: what a stressed operator needs to see, what they never need, and how to keep a human firmly in charge of every engagement.

  • RoleSenior UX/UI designer and design director
  • TeamMe as design lead, with Claude (AI) as research and build partner
  • Deliverables5 working consoles, a usability test lab, feature inventory
  • StandardWCAG 2.2 AA, desktop to phone
Bravo C2 Team version: threat queue on the left, a tactical map in the centre and the selected hostile track with its response options on the right.
  • 5working versions, each kept for comparison
  • 8safety checks guarding every engagement
  • 6usability tasks scripted and run on every version
  • 0automated WCAG violations across all tested states
  • 37→3key presses from threat to response, after the screen reader walkthrough

The brief

Seconds to decide, no room for error

Counter-drone operators watch a sky full of tracks. Most are birds, aircraft and friendly drones. A few are hostile, and some of those are minutes or seconds from the site they protect. The operator has to find the one that matters, confirm what it is, choose a response and authorise it, often while flying a drone of their own.

I set out to design a command-and-control console for that job, to explore the kind of work land-based air defence programmes need: dense information that stays calm, and a decision flow that is fast but very hard to get wrong.

Detect

Rank every track by time to the site so the next threat is always at the top.

Identify

Cue the camera, compare the system's suggestion with the evidence, and let the operator make the call.

Decide and act

Recommend a response, explain why, and make authorising a deliberate act that can still be stopped.

Iterations

Five versions, one direction

I kept every version live so they can be compared side by side. Choose a version to see what changed and why.

V5 Team operator console

V5 Team

Operators work in crews. Make it clear who owns which track, and make shift handover safe.

What it added
  • Track claims so two people never act on one threat
  • Live cursors and map marks for the crew
  • Shift handover brief
  • Map magnifier, 3D sensor coverage
  • AI object tags, thermal scan and gamepad in pilot mode

Before and after

Drag to compare

V1 OriginalV5 Team

V1 Original on the left, V5 Team on the right. Use the slider or arrow keys to reveal more of either.

Safety

A human stays in charge

Speed matters, but an engagement that cannot be undone has to be hard to trigger by mistake. These checks sit between the operator's decision and anything firing.

  • Press and hold to authoriseA 1.5 second hold with mouse, touch, Space or Enter. Move away or let go early to cancel.
  • 5 second abort windowAfter authorising, focus jumps to Abort. Escape also cancels.
  • Friendly-fire checkBlocks the effect if a friendly drone is too close, and offers a one-tap "Move clear".
  • Stale track checkRefuses to engage on data that is too old to trust.
  • Weapons status and ROEA checklist shows what is still needed before Approve and act is enabled.
  • Final check at fire timeSafety is checked again when the abort window ends, not only when the button is pressed.
  • Emergency stopStops everything at once; resuming takes two deliberate steps.
  • Lost link handlingThe drone holds, then returns home, with a clear banner and countdown.

Testing

I tested it like an operator would

Scripted task run

Six real operator tasks, scripted and run with a real browser on every version. The script clicks and holds like a person does, so it found problems a checklist would not.

What it found

Lost clicks. The threat queue refreshes every second. A click that landed during a refresh was silently dropped. Fixed by remembering which row the pointer went down on.

A safety block nobody could see. A friendly drone patrolling near the site correctly blocked engagement, but the reason was read out and then talked over by the next alert. Urgent alerts now wait their turn, and the block shows on screen with a "Move clear" action.

Task results after fixes
TaskV1 OriginalV2 ProV3 GlassV4 FocusV5 Team
1 Spot the most urgent threatPassPass, with a finding
Ranked an unknown about to reach the site above the next hostile
PassPassPass
2 Identify an unknown trackPassPassPassPassPass
3 Respond to a hostilePassFail
Click lost during queue refresh
PassPass
Blocked by a patrolling friendly drone until the fix
Pass
Passes, with the 5 s abort window
4 Take off to 40 mPassPassPassPassPass
5 Fly out and return homePassPassPassPassPass
6 Check who is on watch and leave a notePassPassPassPassPass

V1 and V2 are kept exactly as they were built, so their issues are left in place as a record. Fixes were made in V3 to V5.

Screen reader walkthrough

I ran the whole kill chain with the keyboard only, recording what a screen reader would announce at every step: every focus change, every accessible name and every live announcement.

Everything was announced clearly, and hold-to-authorise worked with Space. But two things were wrong:

  • It took 20 to 37 Tab presses to get from the selected threat to the authorise button.
  • When the abort window closed, focus was lost to the top of the page.

Now pressing R on a threat jumps straight to its response, and focus returns to the threat queue once the action fires or is aborted.

37
key presses before
3
key presses after
  1. TabEnterSkip to threat queueT-0423, Hostile, Quad-rotor, 79 percent, threat score 95, 49 seconds to site
  2. EnterSelect the threatT-0423 selected
  3. RJump to the response, Soft-kill is recommended and already chosenSoft-kill (RF), EFF-1, ready, recommended
  4. TabTabAuthorise button and how to use itPress and hold to authorise. Hold 1.5 s with mouse, touch, Space or Enter, then release.
  5. Hold SpaceProgress is spokenHolding. Release to cancel … Release to authorise.
  6. ReleaseFocus moves to AbortSoft-kill on T-0423 fires in 5 seconds. Press Abort to cancel.
  7. WaitFocus returns to the queueSoft-kill executed on T-0423.

Automated accessibility

axe-core checks on every main screen of every version, dark and light themes, desktop and phone, including the dossier, pilot view, abort window, emergency stop and lost link states. No violations remain.

Glass contrast, measured

Translucent panels change contrast as the map moves behind them, so I measured text against the actual pixels underneath and tuned the blur and tint until it passed AA.

Usability test lab

A facilitator tool for real sessions: six tasks in a balanced order, timers, errors, SEQ and SUS scores, charts and a CSV export.

Across devices and modes

Built for the whole shift

Pilot view: a drone camera feed with a flight HUD, AI tags on objects and altitude history.
Pilot mode: fly a drone with AI object tags, thermal scan and gamepad support.
Glass version in the light theme with translucent information panels over the map.
Light theme and Glass panels, checked for contrast over the live map.
Team version on a phone: the threat queue as a single column with large touch targets.
Phone layout.

Leadership

How I led the work

I ran Bravo C2 as its design lead: I owned the problem, the standards and every decision about what shipped. Claude worked to my brief as a research and build partner, which let me iterate at the speed of a full team while I stayed focused on the design decisions.

Problem framing

Defined the operator and pilot roles, the detect, identify, decide and act flow, and the constraints: WCAG 2.2 AA, phone to wide desktop, multi-user and persistent.

Research direction

Commissioned research before every new direction, curated competitive references, including an award-winning control centre, and filtered them to functions that solve a real operator problem.

Safety model

Specified how a human stays in control: deliberate authorisation, an abort window, friendly-fire and stale-data checks, and an emergency stop. Then required the gaps from my safety review to be built, not noted.

Evaluation

Reviewed every build in role, as operator and as pilot, on desktop and phone. Turned what broke down into precise problem statements: 19 in version 1 alone, from inconsistent Take off rules to panel flicker.

Standards and challenge

Held the accessibility bar. When the glass treatment passed automated checks, I challenged whether it truly met WCAG. It didn't, and it was measured and fixed.

Test strategy

Designed the usability study: six operator tasks, counterbalanced order, time, errors, SEQ and SUS. Directed the scripted runs and the screen reader walkthrough that found the issues above.

Division of responsibility
StageI ledClaude executed
FramingBrief, user roles, priorities and the quality barA working console and scripted threat scenario built to that brief
ExplorationWhich directions to explore, and which concepts went forwardResearch synthesis and concept images for review
EvaluationHeuristic and task-based reviews, and the issue list for each roundRoot-cause diagnosis and implementation of fixes
SafetyThe safety model and acceptance of each safeguardImplementation of checks, abort and emergency stop
ValidationUsability tasks, measures and accessibility standardTest lab build, scripted runs and automated audits
ReleaseWhat shipped, and keeping every version for comparisonPublishing each version as its own artifact

What directing AI taught me

AI shortens the distance between a decision and a working build, which makes judgement the bottleneck. The quality in Bravo C2 came from evaluating each build in role and defining precisely what had to change. It's the same discipline I bring to setting design direction for development teams.

What I'd do next

Run the test lab with five or more operators, compare the versions on time, errors and SUS, then consolidate the strongest patterns into a single console.

Bravo C2 is a self-initiated design concept. It is not affiliated with, endorsed by or built for Acacia Systems, the Australian Defence Force or LAND 156. All tracks, places and data are simulated.