I would like to add:
- headless operation
For development, the shell is immensely useful. For deployments, not so much. IMO, we need to work on RIOT being usable without shell.
What I think that includes (non-exhaustive):
- provide seamless network (auto-)configuration for the network (for any network size),
- some persistent pairing/onboarding solution including security etc. This overlaps with “rollout”.
- provide a way to get basic runtime/diagnostic information from a device over the network, and for nodes to announce themselves. CoAP-RD? shell commands over CoAP? (wink @chrysn )
- (fix pm with shell enabled, or provide a “headless” configuration that is usable)