Skip to content

Feature: Implement a Multi-Tier Resource Monitor (Simple & Advanced UI) #73

@BeSovereign

Description

@BeSovereign

Description

To transparently communicate hardware limits and facilitate our upselling strategy, the web-terminal needs a resource monitor. When apps run slowly due to RAM or CPU limits, users currently perceive this as a software bug. We need a UI that clearly attributes performance bottlenecks to the current hardware tier, catering to both non-technical users and power users. Additionally, we need proactive, positively framed notifications to encourage upgrades.

Proposed Changes

  1. Simple View (Default): - Implement a "traffic light" system (Green, Yellow, Red) using easy-to-understand metaphors.
    • Use labels like "Multitasking Capacity" instead of RAM and "Processing Power" instead of CPU.
    • When hitting limits (Red), display contextual messages framing the limit (e.g., "Hardware limit reached. Apps are queued.") alongside an upgrade button.
  2. Advanced View (Expandable): - Add a "Show Details" toggle that reveals raw metrics (MB/GB RAM, CPU core percentages, disk I/O).
  3. Proactive Upselling Toast:
    • Implement a toast notification that triggers when sustained high usage is detected (e.g., RAM > 85% for several minutes).
    • Use positive framing to celebrate user engagement instead of warning them of an error. Example copy: "You're getting the most out of your Shard! You use it so intensely that you might want to give it more power for an even smoother experience." - Include a direct call-to-action/link to the upgrade page.
  4. Backend Integration: - The Freeshard controller should fetch metrics via docker stats or Linux cgroups and expose them via the internal API.

Motivation

This approach prevents "Decision Fatigue" for casual users while providing transparency for advanced users. By adding positively framed toasts, we shift the narrative from a "system limitation" to "successful, heavy usage." This visually proves that the Freeshard software is working hard and creates a friendly, logical trigger for upgrades without making the user feel like they broke something.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions