Discuss: How to build a new feature for the web platform — and make it a success with developers
- Past
- Confirmed
- Breakout Sessions
- Past
- Confirmed
- Breakout Sessions
Meeting
The goal of this session is to explore and discuss how to best get new features for the platform successfully created, implemented, tested, documented, and adopted — likely with active participation in the session from some people who’ve had experience in each of those areas and who can offer particular “lessons learned” insights and tips. Also:
- documenting the process/advice (brainstorming, with the goal of writing something up from the session notes)
- discussing ways in which the existing process might be improved
- answering questions about parts of the process that may be especially mysterious to most people
Agenda
Chairs:
Michael[tm] Smith (sideshowbarker)
Description:
The goal of this session is to explore and discuss how to best get new features for the platform successfully created, implemented, tested, documented, and adopted — likely with active participation in the session from some people who’ve had experience in each of those areas and who can offer particular “lessons learned” insights and tips. Also:
- documenting the process/advice (brainstorming, with the goal of writing something up from the session notes)
- discussing ways in which the existing process might be improved
- answering questions about parts of the process that may be especially mysterious to most people
Goal(s):
The session goal is to discuss and help each other understand how to successfully get new features into the platform.
Agenda:
This session aims to a very interactive discussion session, along the “How to facilitate a breakout discussion” guidelines.
So when you come to the session, please be prepared to discuss — with the discussion we all have together being guided by the following “How to build a new feature for the web platform” outline:
11-step process (zero-indexed, in hex):
- Describing the problem: What specific problem are you trying to solve. Who are you trying to solve it for?
- Proposing a solution; writing a good explainer with a problem description + proposed solution (optional/
TODO
step) - Initiating and leading a focused discussion in a spec issue tracker about the problem and possible solutions.
- Putting together a spec or spec PR for a problem solution (and learning spec-publishing tools and their quirks).
- Writing good WPTs and getting attention for them from reviewers.
- Using browser-project bug/issue trackers to raise compelling implementation requests.
- Contributing an implementation patch to a browser project (and learning the project’s patch-contribution process).
- Getting documentation written for your feature in MDN (working with MDN writers/editors and technical reviewers).
- Driving web-developer adoption through outreach in places where web-developers pay attention.
- Monitoring web-developer experience/success and identifying web-developer pain points/frustrations.
A. Iterating over each step as needed (including, going back to step <span>#</span>0 and repeating the whole cycle)
* Common off-by-one error many folks make: starting at step <span>#</span>1 (proposing solutions without first describing problems).
Resources
- The history of focus-visible and inert — success story
- LXJS 2013 - Domenic Denicola - How to win friends and influence standards bodies
- Hitchhiker's Guide to Web Standards // Dominic Farolino // CascadiaJS 2018
- Web Platform Contribution Guide
- HTML Design Principles — the “ten commandments” of web-platform feature development
- How to Win Friends and Influence People — 1936 book by Dale Carnegie (pioneer “motivational speaker”)
- Tips for effective explainers — W3C Tag document
- https://ian.hixie.ch/bible/handling-people — the secret sauce
-
https://www.w3.org/community/about/faq/#how-do-i-propose-a-group
-
https://www.w3.org/community/about/faq/#how-do-we-publish-a-report
-
https://www.w3.org/community/about/tool/ • https://github.com/w3c-cg →
https://w3c-cg.github.io/my-feature
-
https://wicg.io/#proposals
-
https://github.com/WICG/admin/#contributing-new-proposals
- https://github.com/WICG/starter-kit
-
https://whatwg.org/faq#adding-new-features
- https://whatwg.org/working-mode
- https://whatwg.org/stages
- https://web-platform-tests.org/writing-tests/
- https://github.com/tc39/test262/blob/main/CONTRIBUTING.md
- https://webkit.org/contributing-code/
- https://firefox-source-docs.mozilla.org/
- https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/contributing.md
Materials:
Track(s):
- Feature lifecycle
Minutes
Read minutesExport options
Personal Links
Please log in to export this event with all the information you have access to.
Public Links
The following links do not contain any sensitive information and can be shared publicly.