Capability 002: Basic Page Layout¶
Status: Accepted
Context¶
The Web App has to present a clear concept to the Robot Operator: it must be immediately clear where to enter commands and where to read the state of the robot.
This capability divides the page into a Command Pane and a Status Pane, both still empty, as the foundation of the target picture.
References¶
- Title of the page: capability 001
- Target picture:
target_picture.md - Responsive web and user experience: directives in
responsive_web.mdanduser_experience.md
Details¶
Panes¶
| Pane | Heading | Content |
|---|---|---|
| Command Pane | Commands |
Input fields and buttons that command the robot |
| Status Pane | Status and Telemetry |
The state of the robot; output only, apart from controls of its own display |
Layout¶
| Viewport width | Arrangement |
|---|---|
| Below 48 rem (768 px) | The Command Pane above the Status Pane, each as wide as the page |
| 48 rem (768 px) and wider | Side by side: the Command Pane on the left, the Status Pane on the right. The Command Pane takes one third of the width, but at least 20 rem (320 px); the Status Pane takes the rest |
Functional Requirements¶
- Below the heading of capability 001, the Web App shows the Command Pane and the Status Pane, each with its heading as given under Panes, arranged as given under Layout.
Non-Functional Requirements¶
- Non-Functional Requirements 1 and 2 of capability 001 apply to the headings of both panes as well.
Technical Requirements¶
None.
Error Handling¶
None.
Out of Scope¶
- The content of the panes: commands, telemetry, and status
- Resizing the panes by the Robot Operator
- Hiding or collapsing a pane
- A live stream of a camera
Acceptance Criteria¶
- Opened at
/at a viewport width of 1280 px: the Command Pane with the headingCommandsis on the left, the Status Pane with the headingStatus and Telemetryon the right. - Opened at
/at a viewport width of 1920 px: the Command Pane takes one third of the width, the Status Pane the rest. - Opened at
/at a viewport width of 768 px: the panes are side by side, and the Command Pane is 320 px wide. - Opened at
/at viewport widths of 320 px and 767 px: the Command Pane is above the Status Pane, and both are as wide as the page. - Opened at
/at viewport widths of 320 px, 768 px, and 1920 px: the page is not wider than the viewport, and the contrast ratio of each pane heading against its background is at least 4.5:1.
Decisions¶
- Fixed panes instead of a splitter that the Robot Operator can move. A movable splitter needs a library or own code for mouse, touch, and keyboard; fixed widths suffice for the layout. Consequence: the Command Pane must fit its widest content within its minimum width.
- The Command Pane is the narrower one. Telemetry, and later perhaps a live stream of a camera, need more room than the commands. Consequence: a command that does not fit 20 rem needs a wider minimum.
- On narrow viewports, the Command Pane comes first. Commanding the robot is the primary task of the Robot Operator; mobile-first lays out the panes in this order. Consequence: on a phone, the Robot Operator scrolls down to read the state of the robot.