CSS-Next / css-next

Admin repo for meetings, charter, and action items for the CSS-Next community group, a part of the w3c.
84 stars 4 forks source link

Definition of CSS4, CSS5 #86

Closed una closed 2 months ago

una commented 11 months ago

In our meeting today (August 7, 2023) we discussed the need to define CSS4 and CSS5, specifically for the card sort buckets.

We resolved on a few key facts:

  1. The goal of the card sort survey is to test our hypothesis. Because of this, we need to expose a definition that is as close as possible to what we actually mean by those buckets, and not try to obfuscate it.
  2. Dates need to be a part of this at some point, since once we have defined a closed bucket, we will not be adding more features to it or removing features from it.
  3. We are not redefining CSS3. The CSS3 column will be immutable in the card sort.
JoshuaLindquist commented 11 months ago

I am not completely happy with these definitions, but this is what I've been working on. I am trying to keep CSS for print in mind as a potential engine to qualify a feature.

We've also discussed not tying this to browser support, but we also settled on needing dates. I'm not sure how else to pick reasonable dates without looking at browser support.

I had been considering CSS4 as something that would have ended in 2016-2018, but we are so far into CSS5 (or even CSS6) territory now that it feels odd to cut off CSS4 so early. So, I settled on 2020 for this definition, but I'm not completely convinced of what year to use.

I was thinking in sort of groups of 5 years - maybe CSS3 implementation ends in 2015, then CSS4 ends in 2020, and CSS5 ends in 2025.

CSS4 Feature sets introduced after the original CSS Level 3 specifications that were implemented in at least two engines before the end of 2020. These are features that every CSS developer should learn as soon as a project requires.

CSS5 Feature sets implemented in at least two engines before the end of 2025. These are features that every CSS developer should aware of and consider implementing when it solves a problem that is a good candidate for progressive enhancement.

pp-koch commented 11 months ago

CSS3 These are the features defined in 2009 as being part of CSS3.

CSS4 The CSS features that were not part of CSS3 but are necessary to understand and use CSS on a professional level today.

CSS5 The CSS features that are not quite ready yet, but that promise to have a high impact on how CSS is used. Things To Watch.

CSS6 All other features.

Once we start on CSS5 we'll up all version numbers by one.

Opinion: Don't refer to dates. Don't refer to specs.

Que-tin commented 11 months ago

I'll add up on @pp-koch's answer.

To make this clear, these are the definitions for todays standpoint, these aren't universal time independent definitions, but only for the sake of the survey. So there is no need to overcomplicate things because of how these definitions won't work in x years from now imho. There also isn't a universal definition for CSS3 that explains it in a short matter and excludes all features that got added afterwards.

In my Opinion we also don't need a fixed interval for the versions e.g. below I put CSS4 from 2013-2018 because I didn't wanted to make it to long from a time perspective, but ended CSS5 earlier because I didn't wanted to make it too large from a feature perspective. CSS5 could've already ended with e.g. Container Queries. This is a pure marketing thingy because I think as versions become to large or long we run into the problem of communicating what is all contained within them.

CSS4 (2013-2018)

Essential CSS features that were not part of CSS3 but are already fundamental part of the everyday life of most developers on a professional level.

I would try to leave out words like necessary because they are too subjective. With the definition above I'm trying to be as objective as possible but still trying to give a brief context.

CSS5 (2019-2023)

Newer features that previously landed whose adoption is steadily growing.

I think, if we agree upon that we are currently in CSS5, this is the definition for most of the features we are trying to put under that umbrella.

CSS6 (2023+)

Experimental and not widely supported features, that are planned to be implemented into all browsers.

I wouldn't per se say that all other features are CSS6, I wouldn't put stuff into that bucket where it's not clear how, when or if they'll ever become widely available across all browsers.

una commented 11 months ago

CSS3 Level 3 specs as defined by the CSSWG. (~ 2009-2012)

CSS4 CSS features that landed around 2015-2018 (i.e. CSS grid, etc.)

CSS5 Features that landed around 2020-2023 (i.e. cascade layers, container queries(

CSS6 Future features, features that land after CSS5, and up to/around 2025-2028

una commented 11 months ago

Workshopped by the group, in meeting August 21, 2023: RESOLVED:

CSS3 (~2009-2012)

Level 3 CSS specs as defined by the CSSWG.

CSS4 (~2013-2018)

Essential features that were not part of CSS3 but are already a fundamental part of CSS.

CSS5 (~2019-2024)

Newer features whose adoption is steadily growing.

CSS6 (~2024+)

Early-stage features that are planned for future CSS.