Web Platform Predictability

Web developers say a big problem building for the web is all the surprises they hit where something doesn't work the way they expected. The Chromium project (along with other browsers and standards organizations) has long invested heavily in reducing these problems. But we've lacked a coordinated effort to track and improve the whole area.

The Web Platform Predictability project is an effort to make developing for the web more predictable, and as a result more enjoyable, cost-effective and competitive with native mobile platforms. In particular, we intend to focus primarily on problems caused by:

  • Different browsers / platforms behaving differently (interoperability)
  • Behavior changing from one version of a browser to another (compatibility)
  • APIs with surprising side effects or subtle behavior details (footguns)

For details see:

The difficulties of web development

Advice for Blink developers

  • Blink's mission is to make the web better, fight the temptation to focus narrowly on just making Chrome great!
  • Prefer web-platform-test changes in your CLs over web_tests changes where practical
  • What matters to web developers is eliminating surprises, so focus on pragmatic paths to interop that maximize web compat.  If 3+ engines violate a spec in the same way, the bug is probably in the spec (especially when changing the engines would break websites).  Specs are much easier to change than multiple implementations!
  • For breaking changes, reach out to platform-predictability@chromium.org for advice or read the Blink principles of web compatibility
  • Prioritize bugs in your areas that reflect real developer pain - eg. those most starred, recent regressions.
  • Understand how your feature behaves on all major browsers, file bugs for differences (on specs, other engines and/or blink).
  • Make sure new APIs have feedback from several real world web developers.
  • Get to know your peers on other engines, you'll be surprised how well your goals and interests are aligned!

Relevant issue trackers

Useful tools

Other Resources