/proposals

A home for well-formed proposed incubations for the web platform. All proposals welcome.

OtherNOASSERTION

WICG Logo

Welcome to the WICG Proposals Repo!

This is the WICG proposals repo, a place for ideas to start their incubation journey. Plan to use this repo's issue tracker for submitting and discussing new proposals much like the now archived Discourse threads were used previously.

Please note that all proposals in this repo (including those in separate markdown documents) have no official status in the WICG as incubations.

What does a proposal look like?

A proposal outlines a particular problem or challenge on the web and offers a potential concrete solution. Without being too prescriptive, you know you've got a proposal when you can articulate a specific way (procedurally, algorithmically, declaratively) that a new or current web technology solves an existing problem or challenge. If the problem is unclear, or the potential solution is too abstract you're not quite there yet.

For example, this is not a proposal:

"Websites have lots of bugs because they don't get updated or because browsers change their behavior over time. There should be a universal way for users to report bugs to websites so that they get fixed."

Instead, a proposal might be:

"Websites have lots of bugs because they don't get updated or because browsers change their behavior over time. One way to solve this is to create an experience in the browser that allows users to record a set of steps that reproduce the problem, and then standardize the format for these replay instructions, and provide an API to allow sites to capture this feedback or an HTTP header to post this feedback back to their site. Below I describe the proposed format and API... <snip>"

Proposals in issues vs. separate markdown documents?

If you would like to make a proposal as a separate markdown document (if for example, it was developed in a separate repo) you are welcome to link to it from the proposal issue; just provide a bit of high-level context on the problem and proposed solution in the issue as well. Alternatively, if you'd like to use the proposal repository itself to host a separate markdown document, you are welcome to submit a PR for it— we still ask that you file an issue to track your proposal and provide context as previously mentioned. This will make it easier for our entire community to use the issue tracker to search through all proposals.

Getting Started

Is your proposal unique? Head over to the issues list and search for it; if it was suggested by someone else give it your support with a 👍 or leave a comment. If you don't find anything there, consider starting a new issue. (You are also welcome to visit Discourse and search there as well, especially while this repo is first getting populated).

Search proposals by category

The proposals are grouped by category (as discussions are on Discourse):

Label Short description Discourse category
APIs All proposals about JS APIs. APIs
HTML HTML-related proposals (not only the HTML standard but any markup-related ideas). HTML
CSS CSS-related proposals. CSS
Uncategorized Proposals that don't fit into any other existing category. Uncategorized
Meta Proposals/ideas/discussions about this proposals repo, its organization, how it works, and how we can improve it. meta
JS JS language proposals. JS
Security Proposals with a focus on web security, client-side protections, improved site security, etc. Security
Protocols Proposals for anything relating to protocols such as HTTP, Web Sockets, & JSON-based protocols. protocols
WASM Proposals for the WebAssembly language. Also consider reviewing the WebAssembly Community Group's issue tracker. asm.js
Architecture For proposals related to web architecture or architectural components. Architecture
Media & RTC For Media (video/audio) and Real-Time Communications proposals. Media and Real-Time Communications
Web Components Proposals for web components. Also consider reviewing the webcomponents incubation issue tracker Web Components
Web Apps Proposals related to bringing App-like behavior to the web n/a

Evolving from Discourse

Previously, we used Discourse discussions for anything that wasn't an official incubation (i.e., an incubation with its own repo). That forum was host to all discussions, early explorations, suggestions, and proposals for the web platform. The goal was to help establish our community where those who participated in developing web standards and those who didn't have the time but still wanted to influence/advance the web could mingle and share ideas. In short, bringing together the broadest possible community of interested developers to give and receive feedback. Our goal was largely successful.

As time passed, the developer ecosystem shifted. We now see that GitHub has a larger community of web developer interest than ever before, is the primary host of specification development for major web standards organizations and has great tools and integration for project and issue management. We also see an opportunity to provide more direct guidance on how to start an incubation, by creating this dedicated home for future incubations to be proposed that is distinct from other ideas, explorations, and discussions about the web platform.

This proposals repo will meet these changing needs. Here in GitHub you can easily extend your existing repo and issue monitoring techniques to keep track of what's being proposed. Additionally, this gives us a chance to clarify the WICG process for starting new incubations: rather than ask that proposals for new incubations be started on Discourse (intermingled with all other Discourse conversations), instead ideas should be filed as issues here in this repo, making it clear that these proposal issues intend to begin life as an incubation. Our expectations for evaluation of new proposals remains the same: as soon as sufficient interest is shown in the proposal's issue thread (notably from potential implementers), the WICG chairs will enable a team of editors to manage the proposal, and those team members can begin work in a new repo or move ownership of an existing GitHub repo to WICG. For more information about the evaluation and incubation process, see the admin repo's README file.