Skip to main content

Convivial tools: UX audit, September 6, 2026

Historical design review of the working tree on this date, including the recording-control fix. This is evidence and proposed direction, not a claim that recommendations have shipped. Implementation is authoritative; outstanding proposals live in Future work. This review combines code inspection, the desktop/responsive UI checks from this development session, and published design guidance. It is not a novice usability study, a screen-reader certification, or a phone-hardware test.

Design aim

Help people practise on their own terms, understand what the tool is doing, and become more capable through use. Preserve an interesting, inspectable machine without making its manual the entrance. Success means greater user agency and learning, not simply more messages or time spent.

Resnick’s low floors, high ceilings, wide walls is a useful frame: accessible entry, room for sophistication, and multiple personally meaningful paths. For SkellySpeak, voice, typing, suggestions, free conversation, lesson choices and technical inspection should be complementary paths rather than a single mandatory progression. Designing for Wide Walls.

Working rules

  1. Protect spatial habits. A primary action should retain its target when state changes. Never place Discard where the preceding action was. This prevents action slips rather than blaming inattention. NN/G explicitly identifies moving controls as a spatial-consistency violation. Application-design mistakes, preventing slips.
  2. Reveal useful depth through the work itself. Show the graph, real results and actionable controls; disclose supporting explanations and raw detail on demand. Progressive disclosure reduces initial complexity, but our application of it must retain an inviting object to explore. The preference for a graph-first entrance is this project’s design judgment, not a universal research finding. Progressive disclosure.
  3. Give experts faster routes to the same actions. Keep visible controls while teaching shortcuts beside them; remember layouts without requiring customization before the app is usable. Flexibility and efficiency.
  4. Make AI behavior contestable. Explain capabilities and limits, expose relevant context, and make correction and user control practical. A model’s account of its reasoning is not execution evidence; recorded prompts, choices and outcomes are. Microsoft’s human–AI interaction guidance.
  5. Make experimentation recoverable. Provide clear exits and reversal where feasible. Autosave removes clerical work; it does not replace undo. Use confirmation where loss is consequential, rather than adding a confirmation to every ordinary action. User control and freedom.
  6. Treat ownership as a usable capability. Local storage helps, but practical ownership also requires understandable access, portability and control. Do not equate local conversation storage with offline model inference. Local-first software.

Findings and proposed acceptance checks

Priorities below are judgments from this review, not measured user-frequency estimates.

Priority / stateEvidence in the implementationUser consequenceRecommendation and acceptance check
Fixed in this taskGuidedPage.tsx inserted Cancel between Record and Send. Record/Stop now remains immediately before Send, with labeled Discard on its left; the input can shrink at narrow widths.Repeating the recording click could discard the clip.Same control and same right-edge anchor through recording transitions. Stop uses a square icon and its accessible label distinguishes sending from draft transcription. Regression checks protect element identity, ordering and callbacks.
Next: recording lifecycleuseMicRecorder.ts exposes recording and waveform, but no starting/transcribing state. It marks recording false before transcription completes; start has no in-flight guard.The idle-looking button can suggest nothing is happening; repeated activation during permission/start can initiate competing starts.Model idle/starting/recording/transcribing/error explicitly. Show status at the composer, prevent duplicate starts, and provide retry or a clear recovery action. Test delayed permissions, rapid repeated clicks, empty audio and failed transcription.
Next: recoveryLessonEditor.tsx autosaves; LessonContent.tsx shows Before/After history but no restore action. Chat deletion has confirmation in ChatHistory.tsx.Inspection is stronger than reversal: experimenting with lesson choices still requires manual reconstruction.Offer revision-checked Restore/Undo for explicit choices. Verify that a stale restore cannot overwrite another edit. Evaluate recoverable deletion separately; do not conflate it with lesson history.
Next: explanation-to-controlLesson distinguishes explicit choices from inferred memory and can seed a coach correction. AI details expose actual prompts. Trace scope remains process-local and lacks saved-chat identity.Users can inspect inputs, but connecting a surprising response to the exact lesson revision or correcting a specific inference still takes work.Link a response to recorded context provenance and the relevant editable choice; distinguish historical inputs from current settings. Build on the existing prompt-provenance workbench proposal. Never label current state as historical evidence.
Next: keyboard parityCoachDock.tsx supports keyboard resizing. AI dock and graph splitters in LogsOverlay.tsx, AgentGraph.tsx, and useDragSize.ts use pointer handlers without equivalent keyboard resize controls.Layout control has a higher floor for keyboard-only users.Focusable separators, announced values and arrow-key resizing; deterministic focus return after inspector close. Verify by keyboard and screen reader on the real app.
Next: accelerator discoverykeyboard.ts and Settings expose configurable microphone, speech, panel and settings shortcuts; the composer microphone tooltip does not teach its configured shortcut.Expert capability exists, but repeated ordinary use does little to teach it.Display the current binding near the associated command or in its tooltip. Verify remapping updates the hint and that text entry retains its normal keyboard behavior.
Later: portabilityConversation history is locally persisted; the reviewed history UI offers open/new/delete but no user-facing export action.Data ownership is less accessible to people who do not navigate app-data directories.Design an explicit export with readable conversation/lesson data and clearly scoped diagnostics. Preview included material; exclude credentials. Verify exported data can be understood outside the app.

Strengths to preserve

The AI graph is immediately explorable, with synchronized selection and real timing/results; status does not depend on color alone. Lesson choices explicitly outrank inferred notes. Suggestions, settings and coach chat have independent space controls. Per-message feedback keeps analysis attached to the learner’s text. Voice auto-send can be disabled for draft review. These are useful foundations for both a low entry cost and substantial user control.

Do not replace these strengths with mandatory tours, a separate simplified product, generic reassurance, or a dashboard that celebrates activity counts. A beginner can be curious without understanding every node; an expert should not have to dismiss teaching copy repeatedly.

Validation before broader claims

Use a first-time learner, a returning learner and an experienced technical user for distinct sessions, including keyboard-only use and a real phone. Ask each to record/stop, discard deliberately, review a transcription before sending, change a lesson choice, correct a false assumption, inspect what influenced a reply, and recover from one mistake. Record task completion, unintended actions, assistance required, recovery time, and whether participants can predict what the next action will do. Also ask whether they felt able to steer the tool toward their own goal.

Keep the tasks constant across iterations; do not optimize merely for fewer clicks. The highest-value next implementation is the explicit recording/transcription lifecycle, followed by recovery and keyboard parity. Wider learning and well-being benefits require longitudinal evidence, not this audit.