-
Notifications
You must be signed in to change notification settings - Fork 9
Update Baseline card to feature year more prominently and future Widely available date #443
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
base: main
Are you sure you want to change the base?
Conversation
Some interesting ideas, thanks for opening this PR: I'm going to convert to a draft for now though, because these changes need more discussion, most of it on the https://github.com/web-platform-dx/web-features level:
We experimented with design variations a little bit like this, but if memory serves we decided that for most users, once a feature becomes Widely Available, the year matters much less - and so demoted the year into the expanded view. I appreciate the visual consistency here, but as a developer targeting Widely Available - and the aim of the definition is that most developers will - I'm not sure the inclusion of the date in the main banner tells me much I don't already know. But, we've also found that developer understanding of the Baseline "brand" has evolved enormously since its launch, so perhaps even developers targeting Widely Available still find meaning in the year, and it is valuable to include it. @atopal perhaps we should do some user research here?
There's no guarantee that a feature will become Widely Available 30 months after it's Newly Available: it's merely a prediction, and there's a good chance that breaking bugs will be found in that time (as more developers start using it) which set the feature back, so we can't do this. @ddbeck am I remembering that right? |
Thanks for putting this together @tonypconway! Just for some additional context on this request, I recently switched Angular to use Baseline widely available (pinned to a specific date for a major release) as our browser support for that release. This revealed some challenges in the UX for working with these APIs and making sure our implementation is limited to widely available APIs. I wrote a doc where I tried to explain how to read this component to determine whether an API is usable, but it is IMHO more complicated than it needs to be. I think my main feedback comes down to:
IMHO the date is important to note somewhere, but I think it's fine to limit it to the expanded view. I agree in the mainline case, most developers are interested in the current Baseline status, rather than its historical status. Historical status does come up, for example, when modifying an Angular LTS release, we would care whether the feature was Baseline during that original release up to 2 years back. But I don't think it's a big deal to have to expand the view for that use case, so I don't have any objection to hiding the year in the simplified view.
Isn't that all the more important to call out the widely available date then? I'm thinking we can mark it as an "estimate" since we ultimately can't predict the future. But also if it is delayed due to a browser bug in the newly available period, then it would be helpful to say that even the current estimate is actually further out than "newly available date + 2.5 years". I'm not sure if we have the data to effectively include that kind of information, but it feels useful if we can. |
Description
This change modifies the Baseline card at the top of feature/API docs to:
Motivation
At the moment, it's not very easy to determine at a glance which Baseline year the feature belongs to. Some developers are not able to target Baseline Widely available and want to use a Baseline year as their feature selection threshold. Similarly, some developers will find that their audience is on more up to date browsers and might want to use more modern features and target e.g. Baseline 2023 or 2024.
Similarly, developers often draw up longer-term plans, especially library providers like Angular or Vite who use Baseline Widely available on the day of a major version release as their target. It would be valuable for these developers to more easily be able to tell when a feature will become Widely available. It may not be WA today, but it will be by the time the new version is launched. This was a specific ask from @dgp1130 from the Angular team.
Additional details
Happy to discuss the visual implementation in more detail, but here are some before and after examples:
Newly available card (expanded) before (on old MDN front-end):
Newly available card (expanded) after (on fred):
Widely available card (default) before (on old MDN front-end):
Widely available card (default) after (on fred):