I'm collecting bits and thoughts about implementing configuration files (and other means of configuration) here.
Where to Seek Rules
Configuration is User Interface
All the rules for designing user interfaces apply.
- Discovery and exploration
- Minimalism – the best configuration is no configuration
Configuration is API
All the rules for designing APIs apply. In particular:
- API Versioning
- API Stability
- Use-driven design, not development-driven
Configuration is a Domain Specific Language
All the rules for designing languages apply.
Configuration is Information Artifact
All the rules for designing documents and information architecture apply.
Kinds of Configuration
- System installation (paths, libraries)
- User installation (default apps, credentials, locale)
- Workspace (instance-specific config)
- User preferences