Hello all,
For the past ~18 months (middle of 2018 - beginning of 2020), we have been investing focused efforts into addressing some of the issues that came up in the internal survey (Googler-only link), as well as communicated personally at various points.
Main areas:
Simplifying services [proposal, bug, retrospective]
Refactoring renderer-browser interfaces [proposal, bug, retrospective]
Conversion to new bindings types is 99.10% complete (100% in blink and content) [proposal, bug, stats]
JavaScript bindings overhaul - conversion in progress [proposal, bug]
Codesearch support [bug]
Documentation updates
It’s also worth mentioning the incremental improvements to bindings binary size that were mostly done by other teams (a notable example: jbroman@’s 3 CLs account for ~140 KB reduction!).
At this point, this effort is ramping down since we believe we have addressed the most critical issues so far. Many thanks to Igalia and everyone else involved!
In addition, this year’s Chrome University featured a Chrome IPC 101 talk (Googler-only internal video, public YouTube video), where we covered the basics of Mojo usage and answered some of the audience questions.
We also held weekly Mojo office hours for about 6 months, and while several people attended, the overall impression was that this format was not working for most developers.
What does seem to work well is the #mojo slack channel and chromi...@chromium.orgmailing list, as well as directly contacting some of the owners.
So far we have received generally positive feedback about the changes, and we are always open to hearing improvement suggestions.
Here are some of the next areas we are planning to work on (let us know if you are interested in contributing!):
Remaining cleanup/improvements after BrowserInterfaceBroker migrations (hotlist)
JS Lite improvements (as use cases appear) (hotlist)
Remote endpoint debugging (bug)
Lifetime management / navigation-related interfaces
Code size / binary size improvements (bug)