Description
A revamped Rust website will be released with the Epoch 2018 in mid September. The four domain WG
will have a space in the website to showcase their accomplishments and make the case for Rust in
their domain.
Some ideas that were discussed in the first meeting.
Who's our audience?
-
Early adopters: students, hobbyists, researchers, startups
- Not a lot of existing organizational momentum
- Compatibility / portability isn't too important, as long as it works for them
- No / little expectation of technical support
- Free (as in beer) matters
- Community matters, good chance they will join and contribute
-
Regular firmware developers
- Expect a mostly polished environment
- e.g. vendor SDKs / IDEs
- Willing to pay $$$$ for technical support / SDK / IDE / tooling
- Or free (as in beer) is not that important
- Organizational momentum
- Established development workflows / programming patterns
- Important to be able to easily port code between processor lines or even families. Examples
- STMF1xx to STMF3xx (need more CPU/RAM/Flash than initially thought)
- STMF3xx to STMF1xx (need less than initially needed, cost optimization, dev board to product transition)
- STMF1xx to KL2x (different peripherals/uC features needed, cost savings, etc)
- Important to be able to reuse code across projects
- Community may or may not be important, unlikely to contribute back though
- Expect a mostly polished environment
-
Safety critical market: automotive, aviation, etc.
- Requires certified tooling (compiler / language) which costs $$$$$$ to certify
- Regulatory overhead
- Must convince safety orgs that Rust is "fit for purpose", not just managers
There was consensus on focusing on the first group in the short term, on the second group in the
medium term and on the last group in the long term.
What do we want to highlight?
-
Tooling: Cargo, package manager; RLS, IDE support; debugging Just Works, etc.
-
Zero cost abstractions: we are competing against C, not against MicroPython, eLua, Espruino, etc.
-
Type system preventing memory safety / logic bugs
-
Reusable code: crates.io,
embedded-hal
drivers -
One step / easy setup
-
Consistent development experience across different architectures cf. Consistent development experience #44
What should we show on the website?
-
Hardware demos
-
Getting started guide that walks you through the development of an embedded application using an IDE
-
Cargo project templates