Several persistent problems in system administration,
deployment, configuration, and usability stem from a
common root: the conflation of roles between developers,
users, hardware wranglers, and software integrators.
We develop a taxonomy of such conflations, and
show that identifying each conflation characterizes one
or more familiar systems problems. Furthermore, the
taxonomy suggests directions for solving these problems:
refactor components to produce interfaces that
cleanly decouple these roles. Recent trends in webbased
client applications and cloud-based services have
demonstrated the feasibility of such changes. We describe
recent projects our group has done that further decouple
the roles, and we use the taxonomy to propose
new projects.