-
-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Category dashboard with collapsible filters #934
base: main
Are you sure you want to change the base?
Changes from 12 commits
d3987bf
b21cc6e
04628eb
07171f7
c312252
706d6f0
fa8c689
e58f7ce
7f837c1
6b24d96
cf7c0e8
bf11a13
ce8df02
bc5af01
b74de3b
728d42f
0d062cc
aea33e1
7aaf182
fea35f0
c16fe45
3987516
5a45a40
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,11 @@ | |
"name": "Technology Report", | ||
"summary": "The Core Web Vitals Technology Report is a dashboard combining the powers of real-user experiences in the [Chrome User Experience Report (CrUX)](https://developers.google.com/web/tools/chrome-user-experience-report/) dataset with web technology detections available in HTTP Archive, to allow analysis of the way websites are both built and experienced.", | ||
"config": { | ||
"default_apps": { | ||
"drilldown": [ "ALL" ], | ||
"comparison": [ "ALL", "WordPress", "Wix", "Next.js" ] | ||
}, | ||
"default_category": "CMS", | ||
"cwv_subcategories": [ | ||
"CLS", | ||
"LCP", | ||
|
@@ -39,7 +44,7 @@ | |
"id": "landing", | ||
"title": "Technology Report", | ||
"subtitle": "Report", | ||
"description": "This is placeholder text about how the report works", | ||
"description": "", | ||
"data": {}, | ||
"filters": { | ||
"technologies": ["WordPress", "Squarespace", "Drupal"] | ||
|
@@ -263,7 +268,7 @@ | |
}, | ||
"good_cwv_timeseries": { | ||
"title": "Good Core Web Vitals over time", | ||
"description": "Placeholder - combination of several metrics", | ||
"description": "The percentage of origins passing all three Core Web Vitals (LCP, INP, CLS) with a good experience. Note that if an origin is missing INP data, it's assessed based on the performance of the remaining metrics.", | ||
"id": "good_cwv_timeseries", | ||
"endpoint": "vitals", | ||
"metric": "good_pct", | ||
|
@@ -425,7 +430,7 @@ | |
}, | ||
"lighthouse_timeseries": { | ||
"title": "Lighthouse over time", | ||
"description": "Placeholder text", | ||
"description": "", | ||
"id": "lighthouse_timeseries", | ||
"endpoint": "lighthouse", | ||
"metric": "median_score_pct", | ||
|
@@ -557,7 +562,7 @@ | |
}, | ||
"weight_timeseries": { | ||
"title": "Weight over time", | ||
"description": "Placeholder text", | ||
"description": "", | ||
"id": "weight_timeseries", | ||
"summary": true, | ||
"endpoint": "pageWeight", | ||
|
@@ -695,7 +700,8 @@ | |
"#E24070" | ||
], | ||
"overrides": { | ||
"WordPress": "#fff000" | ||
"WordPress": "#3858e9", | ||
"ALL": "#69797e" | ||
} | ||
}, | ||
"default": { | ||
|
@@ -857,7 +863,7 @@ | |
}, | ||
"lighthouse_timeseries": { | ||
"title": "Lighthouse over time", | ||
"description": "Placeholder text", | ||
"description": "", | ||
"id": "lighthouse_timeseries", | ||
"endpoint": "lighthouse", | ||
"metric": "median_score_pct", | ||
|
@@ -952,7 +958,7 @@ | |
}, | ||
"weight_timeseries": { | ||
"title": "Page weight over time", | ||
"description": "Placeholder text", | ||
"description": "", | ||
"id": "weight_timeseries", | ||
"endpoint": "pageWeight", | ||
"metric": "median_bytes", | ||
|
@@ -1047,7 +1053,7 @@ | |
}, | ||
"adoption_timeseries": { | ||
"title": "Origins over time", | ||
"description": "Placeholder text", | ||
"description": "", | ||
"id": "adoption_timeseries", | ||
"endpoint": "adoption", | ||
"metric": "origins", | ||
|
@@ -1118,6 +1124,89 @@ | |
} | ||
}, | ||
"description": "Comparison placeholder" | ||
}, | ||
"category": { | ||
"id": "category", | ||
"title": "Categories", | ||
"subtitle": "Technology Report", | ||
"config": { | ||
"default": { | ||
"category": "CMS", | ||
"app": ["ALL", "WordPress", "Drupal"], | ||
"series": { | ||
"breakdown": "app" | ||
} | ||
}, | ||
"tech_comparison_summary": { | ||
"id": "tech_comparison_summary", | ||
"table": { | ||
"caption": "Summary", | ||
"columns": [ | ||
{ | ||
"key": "selectTech", | ||
"name": "Select technology", | ||
"hiddenName": true, | ||
"type": "checkbox" | ||
}, | ||
{ | ||
"key": "technology", | ||
"name": "Tech", | ||
"type": "heading" | ||
}, | ||
{ | ||
"key": "origins", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In addition to the number of origins, I think a primary use case for this data would be to see the proportion of origins that adopt this category relative to all origins that adopt this category. For example, there are 3.2M WordPress origins and the /categories endpoint says that there are 8.8M origins in the CMS category, so we could show that "market share" value as 36%. What do you think would be the best way to show the 36% stat? It could be a new column, combined with the # of origins somehow, or replace the # origin column entirely. Alternatively, would you hate a pie chart at the top of the page? Aside: I suspect the 8.8M number is wrong as it's double-counting origins that use multiple CMSs. WordPress market share should be more like 75% of the CMS category. This is something we'll need to fix in BigQuery. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
"name": "Origins", | ||
"breakdown": "subcategory", | ||
"subcategory": "adoption", | ||
"endpoint": "adoption", | ||
"metric": "origins" | ||
}, | ||
{ | ||
"key": "good_pct", | ||
"name": "Good CWV", | ||
"breakdown": "subcategory", | ||
"subcategory": "overall", | ||
"suffix": "%", | ||
"className": "main-cell pct-value", | ||
"endpoint": "vitals", | ||
"metric": "good_pct" | ||
}, | ||
{ | ||
"key": "good_pct", | ||
"name": "LCP", | ||
"breakdown": "subcategory", | ||
"subcategory": "LCP", | ||
"suffix": "%", | ||
"endpoint": "vitals", | ||
"metric": "good_pct" | ||
}, | ||
{ | ||
"key": "good_pct", | ||
"name": "INP", | ||
"breakdown": "subcategory", | ||
"subcategory": "INP", | ||
"suffix": "%", | ||
"endpoint": "vitals", | ||
"metric": "good_pct" | ||
}, | ||
{ | ||
"key": "good_pct", | ||
"name": "CLS", | ||
"breakdown": "subcategory", | ||
"subcategory": "CLS", | ||
"suffix": "%", | ||
"endpoint": "vitals", | ||
"metric": "good_pct" | ||
}, | ||
{ | ||
"key": "client", | ||
"name": "Client", | ||
"className": "client" | ||
} | ||
] | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
|
||
|
@@ -1145,6 +1234,9 @@ | |
} | ||
}, | ||
"vitals": { | ||
"general": { | ||
"description": "Each of the Core Web Vitals represents a distinct facet of the user experience, is measurable in the field, and reflects the real-world experience of a critical user-centric outcome. A good threshold to measure is the 75th percentile of page loads, segmented across mobile and desktop devices." | ||
}, | ||
"overall": { | ||
"label": "Overall Core Web Vitals", | ||
"title": "Passes Core Web Vitals", | ||
|
@@ -1178,23 +1270,29 @@ | |
} | ||
}, | ||
"pageWeight": { | ||
"general": { | ||
"description": "" | ||
}, | ||
"images": { | ||
"title": "Image Weight", | ||
"description": "todo" | ||
"description": "" | ||
}, | ||
"js": { | ||
"title": "JavaScript Transfer Size", | ||
"description": "todo" | ||
"description": "" | ||
}, | ||
"total": { | ||
"title": "Total Page Weight", | ||
"description": "todo" | ||
"description": "" | ||
} | ||
}, | ||
"adoption": { | ||
"general": { | ||
"description": "" | ||
}, | ||
"adoption": { | ||
"title": "Adoption", | ||
"description": "Todo" | ||
"description": "The amount of origins using this technology over time." | ||
} | ||
} | ||
}, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Values appear as
3222201
which can be harder to read. Could we format with commas, ie3,222,201
? It'd also be helpful for comparing values if the text in this column is right-aligned, like a spreadsheet.