Skip to content

System Feedback

Austin Condiff edited this page Feb 22, 2025 · 3 revisions

Overview

System feedback in CodeEdit ensures users receive timely and appropriate responses to their actions, enhancing usability and responsiveness. Different types of feedback are categorized based on urgency, interaction level, and scope.

Feedback Types

Beep

A brief audio cue signaling system feedback, such as pressing an invalid key. The sound alone conveys sufficient context, requiring no additional visual feedback. Beeps are non-intrusive and allow users to continue without disruption.

Use Case: Minor errors or confirmations that do not require visual attention.

Notifications

Notifications appear in the upper-right of the workspace window and provide users with contextual updates. They consist of an icon, title, description, action buttons, and a dismiss option. Multiple notifications can be displayed at once.

By default, notifications temporarily overlay the UI before moving out of view. Users can interact with them immediately or access them later through a notifications panel.

Sticky notifications remain visible until dismissed but do not block interaction with the rest of the UI. They serve as persistent reminders for important but non-blocking issues.

Scope: Global, Workspace
Use Case: Warnings, background process completions, or updates requiring user awareness.

Alerts

Alerts are displayed at the center of the workspace window, overlaying the UI with a dimmed background (scrim). They consist of a title, description, and actionable buttons.

Alerts require immediate user action before proceeding, signaling critical errors or warnings that must be addressed.

Scope: Workspace
Use Case: Confirmations, destructive actions, or errors preventing further progress.

Activities

The Activity Viewer, located in the center of the toolbar, provides real-time updates on background processes. It consists of primary text, optional secondary text (separated by " | " if both exist), and an optional progress indicator.

Only one activity is visible at a time. If multiple activities occur simultaneously, a badge appears, allowing users to click and view all activities in a popover. Activities disappear once completed and are not stored for later access.

Scope: Workspace, Global (e.g., Extension download progress)
Use Case: Build progress, file indexing, or extension installations.

Bezel Notifications (HUD)

A Bezel Notification (HUD) is a temporary overlay positioned at the bottom center of the workspace window. It consists of a large icon and optional supportive text (typically a few words). Bezel Notifications provide transient feedback and disappear after a short duration.

Only one Bezel Notification can be displayed at a time.

Scope: Workspace
Use Case: Quick confirmations like "Build Successful" or "File Renamed."

Inline Messages

Inline messages appear within the code editor, providing contextual feedback on specific lines of code. These messages indicate errors, warnings, or informational notices.

  • Each line can contain multiple messages, which may be truncated if space is limited.
  • Clicking a truncated message expands it, overlaying the UI until dismissed.
  • The Issues Navigator lists all messages across files, allowing users to locate and address them efficiently.
  • Clicking an issue in the navigator navigates to the corresponding file and line.

Scope: Workspace
Use Case: Syntax errors, warnings, or code style suggestions.

Guidelines for Effective System Feedback

When implementing system feedback, consider:

  • Clarity: Does the user clearly understand the system’s status?
  • Relevance: Can the user easily interpret the result of their actions?
  • Context: How much information is necessary for the user to take appropriate action?

By maintaining a well-structured feedback system, CodeEdit ensures an intuitive and responsive user experience while minimizing disruptions.