The problem
Simulation setup crossed repositories, command-line tools, operating systems, and dependencies.
Team USMNT · CS160 design case study
Puffin
Puffin integrates simulation launch, monitoring, control, and diagnostics across Docker, PX4, Gazebo, and ROS.
Project at a glance
The project examined whether a browser interface could reduce setup barriers while retaining the technical information needed for robotics work.
Simulation setup crossed repositories, command-line tools, operating systems, and dependencies.
Drone developers, non-programming engineering teammates, and learners using simulation tools.
A dashboard combining simulation controls, telemetry, process status, ROS views, and terminal access.
Discover · Needfinding
Four interviews covered programming, mechanical engineering, aerial photography, and hobbyist flying.
Programming lead
Setup crossed three repositories, Docker, VNC, and a Linux-native pipeline.
Mechanical team lead
Mechanical testing depended on programming-team handoffs.
Aerial photographer
Pre-flight work combined airspace tools, inspection, and judgment.
FPV pilot + builder
Existing simulators supported practice but assumed prior knowledge.
Participant names are the pseudonyms used in the research report.
Command-line dependence, cross-platform constraints, fragmented status, and team handoffs impeded setup and recovery.
Compare concepts addressing setup, pre-flight work, and behavior authoring before selecting a direction.
A simulator dashboard, pre-flight companion, and behavior library advanced to concept comparison.
Define + Explore
The team generated eleven ideas and compared three concepts against the needfinding evidence.
Addressed the multi-repository setup failure and the broadest user group.
Reduced command syntax but covered only one part of the workflow.
Supported collaboration but introduced maintenance and scaling constraints.
The dashboard addressed the observed setup failure and served the broadest user group.
Advance the cross-platform launcher over the narrower alternatives.
Launch, monitor, and recover became the tasks for two paper prototypes.
Lo-fi prototyping
One prototype emphasized direct controls; the other emphasized terminal access, package uploads, and process detail.
Three testers—a Programmer, Builder, and Beginner—preferred one interface. Beginners needed clear controls; experts requested logs, process state, and package access.
Use progressive depth instead of a beginner-only or terminal-first interface.
The hi-fi concepts paired a dashboard overview with technical information and advanced controls.
Hi-fi iteration
Three concepts were compared for visibility, learnability, safety, and information density.
Direction 3 provided the clearest modular overview. Critique identified unclear labels, unused space, and color-only state; participants valued ROS health for system checks.
Combine Direction 3’s structure, Direction 2’s controls, and Direction 1’s mission detail.
Implementation used a labeled sidebar, modular status cards, text-backed state, flight controls, and dedicated ROS views.
Build · Implementation
The build integrated system visibility, direct control, progressive technical depth, and recovery support in one browser interface.
The Nodes view identifies active nodes, their connections, launch commands, and run or stop actions.
The Graph view shows active nodes, topics, publishers, and subscribers without separate command-line inspection.
Users can start, stop, reset, arm, take off, and land while checking system state.
The terminal supports expert workflows; telemetry provides readable feedback for all users.
M4 testing confirmed core controls and live data paths; it did not measure whether users understood readiness and recovery.
Evaluate integrated tasks rather than isolated screens.
The study tested launch readiness, offboard-flight monitoring, and recovery from a stopped stack.
Evaluate · Five users
Five participants completed launch, monitoring, and troubleshooting scenarios. Measures included completion, time, interventions, and missing features.
An 80% task completion rate.
Successful users finished between 2:35 and 4:52.
The participant who did not finish needed four.
Participants checked several status areas to determine whether the system was ready.
Design implicationCentralize system health and recommended recovery actions.
Some users missed simulator, arming, or lifecycle prerequisites before takeoff.
Design implicationGuide pre-flight and explain unavailable actions.
Experienced participants valued ROS Nodes and Graph information normally accessed through separate tools.
Design implicationKeep detailed views, with summaries and contextual guidance.
Four of five users completed takeoff, but participants searched across status areas and missed prerequisites.
Retain ROS detail while prioritizing guidance, consolidated health, and recovery.
Add guided pre-flight, lifecycle help, reset/reconnect, centralized health, GPS/map views, and joystick controls.