Hey everyone! It's time to make plans for 2017, so here are my thoughts
on the subject. I think we should focus on the following high-level goals:
1) track performance metrics that are relevant to users
2) address web compatibility issues, prioritized according to frequency
on real websites
3) reduce barriers to contributing to the DOM code
These will allow us to make more meaningful comparisons between Servo
and other production web browsers, while continuing to provide
opportunities for volunteer contributors to make an impact.
Broken down, I envision the following tasks allowing us to focus our
efforts:
1) track performance metrics that are relevant to users
* report progressive web metrics [1]
2) address web compatibility issues, prioritized according to frequency
on real websites
* implement missing/broken features required by Google Docs
* support the needs of the WebVR team
* track web compatibility issues on real websites
* investigate panics reported by nightly users
3) reduce barriers to contributing to the DOM code
* reduce the time required to build after changing non-WebIDL/bindings code
* create high level abstractions for common patterns
* reduce the need for unsafe code
We've got a good base to work from - there are still some significant
pieces of the web platform that we know are holding us back right now,
but in general it feels like there is a long tail of smaller
compatibility issues that we need to address. In 2017 I want to get a
handle on how long that tail is and start addressing it. This will
require being deliberate about trying Servo on a wide variety of sites,
and filing issues to track everything that's not working correctly.
We also have a small but enthusiastic group of people who try out
nightly builds on a regular basis, and they're really helpful! Panics
reported from nightly builds often go uninvestigated, and I believe this
is hurting our compatibility story.
Finally, we're all aware that working in the script crate can be a
frustrating experience. It's time to start dealing with the burden of
technical debt - we need to look for ways to write better async code,
less unsafe code, and address the ever-growing, monolithic script crate.
I have ideas I want to try for each of these problems, and I encourage
everyone to be ambitious about them.
I'm going to stop here rather than breaking down those tasks any
further. I've got a list of issues that I want to tackle that address
each of them, and it's going to get much larger once I get results back
from the Blink team about DOM API use on the top 100,000 sites. I would
welcome any feedback people have about these plans I've described so far!
Cheers,
Josh
[1] https://groups.google.com/forum/#!topic/mozilla.dev.servo/LSWE3MdUGY4
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo