Proposal: BCD dashboard and query language
Nobody has claimed this yet.
- Dominant language
- JSON
- Stars
- 5.8k
- Forks
- 2.6k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 186
Description
Summary: one giant compat table that can be filtered with a simple query language
BCD is treasure trove of browser compatibility data, over 11k entries, but it's difficult to understand high level trends or to filter it to specific interesting subsets. The current best and most canonical way of visualizing it is the rendering on MDN pages, e.g., the big table for HTMLElement.
Being able to render all of BCD as a single giant compat table that can be sorted and filtered would enable the following use cases:
- As proposed by @gsnedders in https://github.com/mdn/browser-compat-data/issues/10533, diffing two browser releases which should largely match, such as the desktop and mobile versions of a browser, or two Chromium-based browsers.
- Looking at all entries matching "fullscreen" while reviewing a PR touching one of the entries, in order to see if the proposed change is consistent with existing data.
- List any null or true data, to help visualize https://github.com/mdn/browser-compat-data/issues/3555 + https://github.com/mdn/browser-compat-data/issues/6369
- List any experimental entries that have been shipped for more than two years, similar to https://github.com/mdn/browser-compat-data/issues/10961
- More generally, filter to "burndown lists" for improving data quality
Are there more important use cases? Please comment!
Prior art:
- https://github.com/connorshea/mdn-compat-data-explorer (archived)
- https://caniuse.com/ (includes BCD)
- https://web-confluence.appspot.com/ (not based on BCD, see methodolgy)
- http://kangax.github.io/compat-table/es6/ (JavaScript features)
- https://wpt.fyi/ (platform-tests test results)
P.S. One thing I'd consider important is that the same queries should be possible to run on the command line, maybe as part of BCD itself, so that burndown lists don't just live on a website frontend but could also be consumed by scripts, etc.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files or tests; begin by reviewing the stated BCD dashboard, filtering, and command-line use cases and the linked prior art. Scope and acceptance criteria are not defined, so maintainer agreement is needed on the query language, dashboard, and CLI before implementation can be considered done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- cli, data-visualization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100