I agree with @KodrAus here, but I wanted to expand on it a bit more as well as answer your original question. I think we have two things we want to consider: Where do we want to go and how do we get there?
I think we can have long term goals beyond 2018 for these fields but we only have so much we can do in a year. I think we should first define what we want to accomplish in these areas within the year. This makes it easier for us to then define how to get there. Do we need to stabilize language features (probably) or is there something we as the community can do to help polish up crates critical to the ecosystem? Maybe we need to pull them in as part of official tooling like xargo.
Importantly though we will want to define what the real overarching goal is for those domains. If in the case of wasm we want it to run everywhere then we might better spend our efforts on improving the wasm target in the compiler than working on JS Interop.
I think if we do the following we can really push the vision you want:
- Define what our vision for that domain is (e.g. Make it easy to make CLI apps or make embedded devices support the same level and quality as Tier 1 systems)
- Define the problems we want to solve in the domain given our time that support those goals
- Figure out what it would take to solve that problem (compiler support? crates polished in the ecosystem?)
- Gather people to work on those problems, clearly define them, write out mentoring guidelines as well for others to contribute who are not in the WG or Libs teams, and take a crack at them.
I think the hardest part will be defining just what we want to do in these areas. It’s nebulous at best. We might want to ask users in those domains what their pain points are, aggregate that data, and use that to direct our decisions.