A Pattern Language 253 patterns for building places people love, and the ancestor of every design pattern in software.