Philosophy

  1. Abstraction Levels
  2. Learning Curves

Abstraction Levels

When implementing interfaces to the operating system or the network, provide two interfaces:

Restated in a more general way:

Learning Curves

Require the minimal amount of work and learning on part of the user to get started. If this means they have less functionality, that's OK, when they need it they can learn a bit more. This will also lead to a cleaner, easier to test design.

For example - mktap together with twistd is a great way to deploy applications. But to get started you don't need to know or care about either. Later on you can start using twistd, and if you choose mktap as well. Using them is optional.

Index

Version: 1.3.0