Skip to content

Commit a2a14b7

Browse files
committed
Polish Workbench shell after design review
1 parent 72ec052 commit a2a14b7

3 files changed

Lines changed: 363 additions & 100 deletions

File tree

packages/playground/website/design-explorations/playground-ui-directions.md

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ current site, save state, a short explanation, nearby Playgrounds, and the next
192192
safe actions. Workbench no longer repeats the current-site status; it points
193193
back to Current info when the user needs orientation.
194194

195-
### 100 remapping and self-feedback iterations
195+
### 100-point remapping checklist from the first consolidation pass
196196

197197
1. The user first asks “what am I looking at?” before asking for tools.
198198
2. The site name by itself is not enough; it needs a container label.
@@ -295,6 +295,64 @@ back to Current info when the user needs orientation.
295295
99. The approach gives confused users a safe place to start.
296296
100. The final check is whether a user can point at one place and say: this is the current Playground, this is whether it is saved, and these are my other Playgrounds.
297297

298+
## Post-review Workbench correction pass
299+
300+
The first Current Playground pass was structurally useful but too easy to
301+
overstate: it grouped concepts, but it had not yet earned the “100 iterations”
302+
claim. This correction pass treats the prior list as a checklist, then makes
303+
the UI more concrete and more internally consistent.
304+
305+
### Sources rechecked
306+
307+
- StackBlitz documents a clear split between the menu bar, project identity,
308+
editor, sidebar, preview, and console. The important lesson for Playground is
309+
not to copy an IDE sidebar; it is to give each surface a single job while
310+
keeping the preview/browser surface legible.
311+
<https://developer.stackblitz.com/guides/user-guide/ide-whats-on-your-screen>
312+
- GitHub Codespaces describes a browser development environment as a small set
313+
of stable regions: side bar, activity bar, editor, panels, and status bar.
314+
The useful pattern is stable mental regions for environment work, not a
315+
constantly expanding settings menu.
316+
<https://docs.github.com/en/codespaces/developing-in-a-codespace/developing-in-a-codespace?tool=webui>
317+
- NN/g’s aesthetic/minimalist heuristic says every extra unit competes with
318+
relevant information. The Workbench therefore became a task map, not another
319+
place to repeat the current site summary.
320+
<https://www.nngroup.com/articles/aesthetic-minimalist-design/>
321+
- NN/g’s system-status heuristic says users need current state to feel in
322+
control. That pushed Playground state into the top-left Current Playground
323+
cluster and into a state chip inside the Current sheet.
324+
<https://www.nngroup.com/articles/visibility-system-status/>
325+
- NN/g’s recognition-over-recall guidance argues for visible, contextual
326+
choices. The Workbench now exposes the major jobs as labeled cards and keeps
327+
the full feature surface one click lower.
328+
<https://www.nngroup.com/articles/recognition-and-recall/>
329+
- PR 3655 separates `Autosaved Playground` recovery copies from intentional
330+
`Saved Playground` preservation. The prototype now defensively reads future
331+
`metadata.persistence` values so the Current sheet and nearby Playground rows
332+
can say “Autosaved” when that branch lands.
333+
<https://github.com/WordPress/wordpress-playground/pull/3655>
334+
335+
### Concrete design changes from this pass
336+
337+
- The top-left Current Playground control is now a segmented, selected object:
338+
site identity on the left, save state/action on the right. It reads more like
339+
a browser/workspace title control and less like two unrelated buttons.
340+
- The Current Playground sheet now has a compact hero, state/runtime/storage
341+
chips, and no full-height blank tail. It answers “will I lose this?” without
342+
turning into an always-on sidebar.
343+
- The Workbench hero now asks “What do you need right now?” and explains that
344+
it maps actions by what they do to the WordPress site below.
345+
- The four primary Workbench cards are now the four common user intents:
346+
**Environment**, **Work with files**, **Import**, and **Save and share**.
347+
- “Your Playgrounds” moved into Start or restore, while the current site’s
348+
status remains owned by Current Playground.
349+
- The Workbench no longer routes every preservation action through Share:
350+
`Copy link`, `Download ZIP`, and `Export to GitHub` are direct actions in the
351+
lower Keep or move group.
352+
- Visual tokens were tightened into one surface language: blue accent, soft
353+
panels, consistent card radius, consistent icon tiles, and fewer competing
354+
active styles.
355+
298356
## PR 3655 fit
299357

300358
The shell treats autosave as recovery and Save as intent:
@@ -303,6 +361,8 @@ The shell treats autosave as recovery and Save as intent:
303361
- Save is present even when the user is mostly focused on the WordPress site;
304362
- Current Playground consolidates the site name, save state, Save action, and
305363
nearby Playgrounds;
364+
- future `persistence: "autosave"` metadata is read defensively so autosaved
365+
recovery copies can be labeled differently from explicitly saved sites;
306366
- Share explains why Autosaved, Saved, and Unsaved are different states;
307367
- storage does not become the app's primary navigation model.
308368

0 commit comments

Comments
 (0)