1. There should be at least 5 ways to do everything, and at least one way to do everything from the cli
2. Every way to manipulate a resource should be directly accessible anywhere that resource is accessible. E.g. file sharing should include printer sharing, printer configuration should allow sharing; Cd ripping, burning, and mounting should all be accessible through an fstab interface; anywhere music is found (xmms, gstreamer, the file system, etc) cd burning should be possible through a simple interface.
3. Gui configuration should NOT interfere with cli or web-based configuration. Everything needs to work together. This is why we establish standards.
4. Configuration files should remain backwards compatible for as LONG AS POSSIBLE. Depreciated variables, settings, and methods should remain for at least 10 years unless they pose a security risk.
5. Any configuration interface should keep the same configuration as long as possible.
ok, all that is probably obvious, but both linux and windows would do well by following those rules. People need things to be easy, and need easy ways to associate abstract ideas with physical things.
- my laws of user friendly computing....