Skip to content

feat: "Advanced Tools" toggle in settings — progressive disclosure for power users #48

Description

@ajithakdev

Summary

Add an "Advanced Tools" master toggle in the settings page that unlocks technical features while keeping the default experience clean and simple.

The Philosophy

MeterX should be like a car:

  • Default: Anyone can drive. Speedometer, fuel gauge, turn signals.
  • Advanced: Pop the hood. Engine diagnostics, turbo modes, fine tuning.

Default Mode (for everyone)

  • Speed test with quality badge (🟢 Excellent / 🟡 Fair / 🔴 Poor)
  • App readiness labels (Calls ✅, Streaming ✅, Gaming ⚠️)
  • ISP comparison ("72% of your plan")
  • History & PDF export
  • Simple, beautiful, zero jargon

Advanced Mode (toggle ON in settings)

Unlocks:

  • 🔧 Raw metrics panel (jitter, packet loss, bufferbloat grade, DNS timing)
  • 📊 Detailed charts with percentile distribution (p50, p90, p99)
  • 🌐 Multi-server testing (test against different regions)
  • 🛠️ DNS benchmark tool
  • 🔍 Network path tracer (hop analysis)
  • 📈 Bufferbloat deep-dive (loaded vs unloaded latency graph)
  • 🔔 Custom notification thresholds (by exact Mbps/ms values)
  • 💾 Custom export formats (JSON, CSV, Markdown)
  • ⚙️ Test configuration (stream count, duration, chunk size)
  • 📶 Wi-Fi Sweet Spot Finder
  • 🛡️ Throttling detector
  • 🧪 Connection stress test mode

Implementation

  • Single toggle: chrome.storage.sync key advancedMode: boolean
  • UI conditionally shows/hides advanced sections with smooth CSS transitions
  • All features still available in code — just hidden from UI when toggle is off
  • Toggle location: Settings page, near the top, with explanation text
  • Popup and side panel read this preference and adapt their layout

Why

  • Non-technical users see a clean, approachable tool (they're 95% of users)
  • Technical users get all the power tools they want (and they're the ones who recommend tools to friends)
  • Both audiences feel MeterX was "made for them"
  • This is how iPhone (simple) vs Android (customizable) both succeed

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    UXUser experience improvementsenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions