Design Principles
Bob Scheifler and Jim Gettys set out the early principles of X as follows (as listed in Scheifler/Gettys 1996):
- Do not add new functionality unless an implementor cannot complete a real application without it.
- It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.
- The only thing worse than generalizing from one example is generalizing from no examples at all.
- If a problem is not completely understood, it is probably best to provide no solution at all.
- If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. (See also Worse is better.)
- Isolate complexity as much as possible.
- Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.
The first principle was modified during the design of X11 to: Do not add new functionality unless you know of some real application that will require it.
X has largely kept to these principles since. The X.Org Foundation develops the reference implementation with a view to extension and improvement of the implementation, whilst keeping it almost entirely compatible with the original 1987 protocol.
Read more about this topic: X Window System Protocols And Architecture
Famous quotes containing the words design and/or principles:
“Westerners inherit
A design for living
Deeper into matter
Not without due patter
Of a great misgiving.”
—Robert Frost (18741963)
“The mode of founding a college is, commonly, to get up a subscription of dollars and cents, and then, following blindly the principles of a division of labor to its extreme,a principle which should never be followed but with circumspection,to call in a contractor who makes this a subject of speculation,... and for these oversights successive generations have to pay.”
—Henry David Thoreau (18171862)