Skip to content

Bug 2039401: Simplified view phase 1 - #1069

Open
kala-moz wants to merge 6 commits into
mozilla:mainfrom
kala-moz:simplified-view-phase1
Open

Bug 2039401: Simplified view phase 1#1069
kala-moz wants to merge 6 commits into
mozilla:mainfrom
kala-moz:simplified-view-phase1

Conversation

@kala-moz

@kala-moz kala-moz commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Deploy link

Bug 2039401

Screenshot 2026-07-24 at 16 28 59 Screenshot 2026-07-24 at 16 29 36

Summary

Introduces a beginner-friendly "simplified" results view for the Mann-Whitney-U comparison table, while keeping the full statistical detail one click away for power users. New contributors get plain-language columns and an on-page reading guide by default; power users can reveal the advanced stats columns with a single checkbox (remembered across visits).

User-facing changes

Δ Median % (renamed from MD (%)) — now computed from the raw runs' medians ((median(new) − median(base)) / median(base) × 100), which matches both the expanded panel's bootstrap median-diff and the reference perfcompare-new-stats implementation. Formatted as a signed, 2-decimal percent (+1.08% / −2.40%); a warning icon flags non-normal distributions (the value is still shown, since the median is rank-based); shows +0.00% for a zero base median and - only when there are no runs.

Significance is shown in both views and now uses words instead of symbols — "Real" (significant) / "Noise" (not significant), with matching filter labels. The header reads "Significance" in the simplified view and abbreviates to "Sig" in the advanced view so it doesn't crowd "Total Trials".

The advanced stats columns — CD & CLES — are now hidden by default. A "Advanced columns" checkbox reveals them. The preference is persisted (Redux + localStorage) and shared between the main results page and the subtests page.

"How to read the results" panel: A dismissible guide above the table explaining each column in plain English. Shown by default for new users; the close button or the "How to read the results" checkbox toggles it, and the choice is remembered.
Plain-language tooltips

Rewrote the Δ Median % tooltip.

Under the hood

New ColumnPrefsSlice (Redux) holds showAdvancedColumns and showHowToRead, both persisted to localStorage.

New shared components: AdvancedColumnsToggle (used by both control bars) and HowToReadResults.

Strategy interface widened so getColumns / renderColumns / renderSubtestColumns receive showAdvancedColumns; the column config and row cells gate on the same flag to stay in sync.

Performance: checkDistributionNormality and medianDiffPct (both called per-row per-render, and per-comparison during sort) are now memoized via WeakMap keyed on the result object; the column config is useMemo'd in both tables.

De-duplication: extracted shared renderStatusCell / renderMedianDiffCell helpers so the main and subtests tables render identically from one source.

Testing

Added an enableAdvancedColumns() test helper; made row-summary helpers advanced-aware and icon-title-stripping; updated normality-gating tests to the "always show the value" behavior; updated Significance assertions to the Real/Noise words and the Status size line; added coverage for the advanced-columns toggle and the How-to-read panel

Notable decisions / follow-ups

Defaults: simplified view and the reading panel are on by default (dismissible, remembered). Easy to flip if we'd rather not change the default for existing users.

Scope: the reading panel is on the main results view only (not the subtests drill-down) — easy to add there if wanted.

Phase 2 candidate: simplify the expanded row.

🤖 Generated with the help of Claude Code

@netlify

netlify Bot commented Jul 24, 2026

Copy link
Copy Markdown

Deploy Preview for mozilla-perfcompare ready!

Name Link
🔨 Latest commit 0ee7631
🔍 Latest deploy log https://app.netlify.com/projects/mozilla-perfcompare/deploys/6a63fb4c056b1800089850a6
😎 Deploy Preview https://deploy-preview-1069--mozilla-perfcompare.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kala-moz
kala-moz marked this pull request as draft July 24, 2026 02:14
@kala-moz
kala-moz requested review from beatrice-acasandrei, esanuandra, gmierz and padenot and removed request for padenot July 24, 2026 02:32
@kala-moz
kala-moz marked this pull request as ready for review July 24, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant