  Technology designers often strive to design systems that are flexible enough
to be used in a wide range of situations. Software engineers, in particular,
are trained to seek general solutions to problems. General solutions can be
used not only to address the problem at hand, but also to address a wide range
of problems that the designers may not have even anticipated. Sometimes
designers wish to provide general solutions, while encouraging certain uses of
their technology and discouraging or precluding others. They may attempt to
influence the use of technology by ``hard-wiring'' it so that it only can be
used in certain ways, licensing it so that those who use it are legally
obligated to use it in certain ways, issuing guidelines for how it should be
used, or providing resources that make it easier to use the technology as the
designers intended than to use it in any other way.
  This paper examines several cases where designers have attempted to influence
the use of technology through one of these mechanisms. Such cases include key
recovery encryption, Pegasus Mail, Platform for Internet Content Selection
(PICS) Guidelines, Java, Platform for Privacy Preferences Project (P3P)
Implementation Guide, Apple's style guidelines, and Microsoft Foundation
Classes. In some of these cases, the designers sought to influence the use of
technology for competitive reasons or in order to promote standardization or
interoperability. However, in other cases designers were motivated by
policy-related goals such as protecting privacy or free speech. As new
technologies are introduced with the express purpose of advancing
policy-related goals (for example, PICS and P3P), it is especially important to
understand the roles designers might play in influencing the use of technology.
