A SpecificationMasterpiece is a real-world example of the best possible kind of specification of a code-to-code interface. This is different from a UserInterface in the traditional sense that implies a mostly non-language-based interface for end users, though it could be argued that every code-to-code interface is also a UserInterface because a programmer implementing the specification could be seen as its user. Categories include programming languages, network protocols, operating system interfaces, library interfaces, and file systems. A good specification makes it easy and fast for programmers to write a correct implementation of the user-requested behavior. This probably implies the lowest possible code complexity. A good specification often has to be easy to extend without conflicts and limitations, and easy to scale without massive slowdowns in implementations. Some candidates, collected from the SoftwareMasterpiece page: * SchemeLanguage * Smalltalk 80 * PostScript * XwindowProtocol -- ''Surely not X''. ---- I'd like to nominate the whole Internet RFC process. A few very simple documents, discussed, improved, extended over time, and look what they've led to.