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 LayoutTest 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!
- 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