Skip to content
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

KR: Q2-Q3 data quality goal: Real values for all CSS features #3710

Closed
19 tasks done
Elchi3 opened this issue Mar 25, 2019 · 22 comments · Fixed by #4722
Closed
19 tasks done

KR: Q2-Q3 data quality goal: Real values for all CSS features #3710

Elchi3 opened this issue Mar 25, 2019 · 22 comments · Fixed by #4722
Labels
data:css Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS O/KR Objectives and Key Results. Most attention will be focused on this.

Comments

@Elchi3
Copy link
Member

Elchi3 commented Mar 25, 2019

To support the year goal and those tools that are already consuming compat data, we (the MDN team) would like to get to 100% real values for all CSS features in Q2 (VS Code, WebHint.io, WebStorm are using mostly CSS compat data at this point, so getting CSS data correct has impact on multiple large projects). Also, having one area complete with real values might inform us what could be the next iteration in terms of data quality.

The statistics script can be used to gather the current status here as well (I've just changed the if condition in line 58 to be just if (data === 'css')) and this is the output:

browser real values true values null values
All 8 browsers 69.69% 12.46% 17.85%
chrome 79.66% 13.56% 6.78%
chrome android 40.84% 20.81% 38.35%
edge 71.08% 8.03% 20.89%
firefox 93.61% 3.27% 3.12%
ie 89.01% 3.12% 7.87%
safari 77.79% 12.31% 9.90%
safari ios 51.83% 17.46% 30.71%
webview android 53.70% 21.12% 25.18%

This Q2 goal will probably mean that some peers will prioritize reviews for CSS data updates over other (large) data updates during the quarter (April to June).

Depends on:

@Elchi3 Elchi3 added data:css Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS O/KR Objectives and Key Results. Most attention will be focused on this. labels Mar 25, 2019
@connorshea
Copy link
Contributor

@Elchi3 are you using a script to generate the sub-issues?

@Elchi3
Copy link
Member Author

Elchi3 commented Apr 12, 2019

@connorshea Nothing fancy, just a hacky walking function. (which you're welcome to improve)

function traverseFeatures(obj, depth, identifier) {
  depth--;
  if (depth >= 0) {
    for (let i in obj) {
      if (!!obj[i] && typeof(obj[i])=="object" && i !== '__compat') {
         if (obj[i].__compat) {
           let comp = obj[i].__compat.support;
           let browser = comp['safari'];
           if (!Array.isArray(browser)) {
              browser = [browser];
            }
            for (let range in browser) {
              if (browser[range].version_added === null || browser[range].version_removed === null ||
                  browser[range].version_added === true || browser[range].version_removed === true ) {
                features.push(identifier + i);
              }
           }
         }
         traverseFeatures(obj[i], depth, i + '.');
       }
     }
   }
}
let features = [];
traverseFeatures(bcd.css, 100, 'css.');
console.log(features.join("\n"));

@queengooborg
Copy link
Contributor

queengooborg commented Apr 14, 2019

I think that Chrome Android and WebView Android (as is Opera and Opera Android) can be considered a part of Chrome Desktop's updates. Everything that Chrome has but all the other Chromium browsers don't is taken care of by #3869, mirroring the properties over.

I'm gonna do my best to tackle a number of CSS features, get the null and true percentages closer to 0%. 😉

@Elchi3
Copy link
Member Author

Elchi3 commented Apr 23, 2019

In that case, I'd say I'll create another issue for Edge and for the other browsers let's then see if we can get to those real values by using mirroring.

@queengooborg
Copy link
Contributor

queengooborg commented Apr 24, 2019

I'm wondering if the issue for IE can be migrated into IE and Edge together. I'm finding myself updating Edge information whilst running through the remaining IE CSS features (since anything supported in IE means Edge's version_added is "12"), and when I'm testing IE and finding no support, I run through it on Edge as well.

Just throwing my shower thoughts out there, if they're of interest! Edit: the general decision was to keep Edge and IE separate.

@Elchi3 Elchi3 pinned this issue Apr 24, 2019
@jpmedley
Copy link
Contributor

I am not aware of any feature where CSS varies from Chrome desktop on Android and and WebView. Unfortunately, I can't exclude it either.

@jmswisher jmswisher changed the title Q2 data quality goal: Real values for all CSS features KR: Q2 data quality goal: Real values for all CSS features Apr 26, 2019
@queengooborg
Copy link
Contributor

queengooborg commented Apr 29, 2019

Made some modifications to that script you wrote, @Elchi3, to allow easier browser and value changes, as well as a quick fix to printing the identifier. 😉

Edit: the mentioned script has been merged and can be accessed via npm run traverse.

@Elchi3
Copy link
Member Author

Elchi3 commented May 3, 2019

Update as of May 3rd, 2019 (two more months to go)

browser real values true values null values Number of real values needed still
All 8 browsers 79.19% 13.74% 7.07% 2185
chrome 81.85% 14.74% 3.41% 236
chrome android 66.80% 25.76% 7.45% 435
edge 89.60% 1.94% 8.46% 139
firefox 95.50% 4.42% 0.08% 59
ie 99.61% 0.08% 0.31% 5
safari 78.20% 14.27% 7.53% 284
safari ios 54.93% 20.40% 24.67% 594
webview android 67.03% 28.32% 4.65% 433

@jmswisher
Copy link

Which of the other browsers are going into the next sprint (Koko Taylor)?

They need estimates.

@queengooborg
Copy link
Contributor

Firefox is almost done, so I would imagine that would be the first one. Chrome Android is a mirror of Chrome Desktop, so they’ll both be finished together.

@Elchi3
Copy link
Member Author

Elchi3 commented May 17, 2019

Safari and Chrome are the most important ones for now I would think and work on them will likely continue from this sprint as they aren't completed yet. Might want to add Edge to the next sprint as well. Firefox is already meeting the acceptance criteria of 95%, but I'm going to try to bring it over the real finish line.

@connorshea
Copy link
Contributor

Can we get an updated chart? :)

@queengooborg
Copy link
Contributor

Coming right up! Update as of today (May 27, 2019):

browser real values true values null values
total 84.34% (9089) 10.71% (1154) 4.95% (533)
chrome 88.49% (1192) 11.06% (149) 0.45% (6)
chrome android 74.09% (998) 21.60% (291) 4.31% (58)
edge 94.65% (1275) 0.89% (12) 4.45% (60)
firefox 100.00% (1347) 0.00% (0) 0.00% (0)
ie 100.00% (1347) 0.00% (0) 0.00% (0)
safari 82.33% (1109) 11.06% (149) 6.61% (89)
safari ios 60.65% (817) 17.22% (232) 22.12% (298)
webview android 74.54% (1004) 23.83% (321) 1.63% (22)

@Elchi3
Copy link
Member Author

Elchi3 commented Jun 13, 2019

Q2 is coming to an end and we aren't done with this yet. Please see the above referenced issues for the remaining work that we need to do here. The two gigantic issues for Chrome and Safari weren't really practical and we couldn't see any end with them, so I've re-shuffled and re-estimated this work now. All issues are marked with "help wanted", please assign them to you if you intend to do work on them or comment in the issues which parts of the tasks you want to get done. Any help is appreciated.

@Elchi3
Copy link
Member Author

Elchi3 commented Jun 13, 2019

Oh and the issues I've filed don't categorize everything, so there is still quite a bit of rest left to do afterwards, but we can get to that once we have the above things done.

@Elchi3
Copy link
Member Author

Elchi3 commented Jul 11, 2019

Status as of version 0.0.86 (released on 2019-07-11) for web platform features:

browser real values true values null values
total 88.17% 8.38% 3.46%
chrome 93.64% 6.07% 0.30%
chrome android 79.51% 16.57% 3.92%
edge 100.00% 0.00% 0.00%
firefox 100.00% 0.00% 0.00%
ie 100.00% 0.00% 0.00%
safari 89.20% 6.29% 4.51%
safari ios 68.12% 14.35% 17.53%
webview android 74.85% 23.74% 1.41%

@Elchi3 Elchi3 changed the title KR: Q2 data quality goal: Real values for all CSS features KR: Q2-Q3 data quality goal: Real values for all CSS features Jul 15, 2019
@Elchi3
Copy link
Member Author

Elchi3 commented Aug 8, 2019

Status as of version 0.0.89 (released on 2019-08-08) for web platform features:

browser real values true values null values
All 8 browsers 91.40% 5.91% 2.69%
chrome 98.07% 1.85% 0.07%
chrome android 85.40% 11.05% 3.56%
edge 100.00% 0.00% 0.00%
firefox 100.00% 0.00% 0.00%
ie 100.00% 0.00% 0.00%
safari 95.33% 2.52% 2.15%
safari ios 75.32% 10.16% 14.53%
webview android 77.09% 21.72% 1.19%

@Elchi3
Copy link
Member Author

Elchi3 commented Aug 29, 2019

We've now finished this for the 8 selected browsers. It is now forbidden to add true or null values for these in the css/ folder. So the stats below won't regress.

browser real values ranged values true values null values
total 97.35% 2.65% 0.00% 0.00%
chrome 100.00% 0.00% 0.00% 0.00%
chrome android 100.00% 0.00% 0.00% 0.00%
edge 100.00% 0.00% 0.00% 0.00%
firefox 100.00% 0.00% 0.00% 0.00%
ie 100.00% 0.00% 0.00% 0.00%
safari 100.00% 0.00% 0.00% 0.00%
safari ios 100.00% 0.00% 0.00% 0.00%
webview android 78.83% 21.17% 0.00% 0.00%

Note that for webview android we introduced a ranged value "≤37". We have no plans to find out in which exact old version css features are implemented in this browser. If someone has a need for this, please let us know.

@ddbeck
Copy link
Collaborator

ddbeck commented Aug 29, 2019

This was a huge amount of work and an outstanding achievement. Congratulations on guiding this to a successful conclusion!

@Elchi3
Copy link
Member Author

Elchi3 commented Aug 29, 2019

A huge thank you and shout out to @ddbeck and @vinyldarkscratch for helping out on this over many months ❤️

@Elchi3 Elchi3 unpinned this issue Aug 29, 2019
@jpmedley
Copy link
Contributor

jpmedley commented Aug 29, 2019 via email

@chrisdavidmills
Copy link
Contributor

Well done, you BCD folks! Truly an inspiring effort to get this done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:css Compat data for CSS features. https://developer.mozilla.org/docs/Web/CSS O/KR Objectives and Key Results. Most attention will be focused on this.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants