Influencing Software Usage
  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. 
Lorrie Faith Cranor and Rebecca N. Wright