The Hyperstudio Playbook

Digital Humanities projects are often exploratory and iterative in nature; they typically have small budgets and small teams; they are interdisciplinary and collaborative.

In developing over a dozen Digital Humanities software projects over the course of last 10 years at MIT Hyperstudio, we’ve developed strategies, approaches, and patterns that work very well under those constraints.

This playbook, modeled on the U.S. Digital Services Playbook, is our attempt to codify those strategies.

It is a work in progress; we welcome your feedback, ideas, and input; if it looks useful, we invite you to fork it and modify it for your own DH practice.

PLAY /plays/01

Start from a clear scholarly or pedagogical need

We must begin digital projects by understanding the needs of the people who will use them. Whether the users are student, instructors or researchers, we must include real people in the design process from the beginning. Those people’s needs — not constraints of existing tools or IT infrastructure — should inform technical and design decisions. We must also test the products we build with real people to keep us honest about what is important.

checklist

  1. Early in the project, spend time with current and prospective users of the service
  2. Use a range of qualitative and quantitative research methods to determine people’s goals, needs, and behaviors; be thoughtful about the time spent
  3. Test prototypes of solutions with real people, in the field if possible

key questions

PLAY /plays/02

Collaboration, not service

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

key questions

PLAY /plays/03

Make it simple and intuitive

Using a tool shouldn’t be stressful, confusing, or daunting. It’s our job to build services that are simple and intuitive enough that users succeed the first time, unaided.

checklist

  1. Create or use an existing, simple, and flexible design style guide for the service
  2. Use the design style guide consistently for related digital services
  3. Give users clear information about where they are in each step of the process
  4. Follow accessibility best practices to ensure all people can use the service
  5. Provide users with a way to exit and return later to complete the process
  6. Use language that is familiar to the user and easy to understand
  7. Use language and design consistently throughout the service, including online and offline touch points

key questions

PLAY /plays/04

Build the service using agile and iterative practices

We should use an incremental, fast-paced style of software development that reduces the risk of failure by getting working software into users’ hands quickly, and by providing frequent opportunities for the delivery team members to adjust requirements and development plans based on watching people use prototypes and real software. A critical capability is being able to automatically test and deploy the service so that new features can be added often and easily put into production. Following agile methodologies is a proven best practice for building digital services, and will increase our ability to build services that effectively meet user needs.

checklist

  1. Ship a functioning “minimum viable product” (MVP) that solves a core user need as soon as possible, no longer than three months from the beginning of the project, using a “beta” or “test” period if needed
  2. Run usability tests frequently to see how well the service works and identify improvements that should be made
  3. Ensure the individuals building the service communicate closely using techniques such as launch meetings, war rooms, daily standups, and team chat tools
  4. Keep delivery teams small and focused; limit organizational layers that separate these teams from the business owners
  5. Release features and improvements multiple times each month
  6. Create a prioritized list of features and bugs, also known as the “feature backlog” and “bug backlog”
  7. Use a source code version control system
  8. Give the entire project team access to the issue tracker and version control system
  9. Use code reviews to ensure quality

key questions

PLAY /plays/05

Partner with experts

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

key questions

PLAY /plays/06

Don't reinvent the wheel

Access archives, don’t copy them. Use existing tools where appropriate. If your homegrown tool doesn’t fit the bill, don’t use it just because you built it.

checklist

key questions

PLAY /plays/07

Student as novice scholar

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

key questions

PLAY /plays/08

Live in an academic unit, not in an administrative unit

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

  1. Take an interest in colleagues’ research and teaching
  2. Tailor your dog and pony show to each department

key questions

PLAY /plays/09

Deploy in a flexible hosting environment

Our services should be deployed on flexible infrastructure, where resources can be provisioned in real-time to meet spikes traffic and user demand. Our digital services are crippled when we host them in data centers that market themselves as “cloud hosting” but require us to manage and maintain hardware directly. This outdated practice wastes time, weakens our disaster recovery plans, and results in significantly higher costs.

checklist

  1. Resources are provisioned on demand
  2. Resources scale based on real-time user demand
  3. Resources are provisioned through an API
  4. Resources are available in multiple regions
  5. We only pay for resources we use
  6. Static assets are served through a content delivery network
  7. Application is hosted on commodity hardware

key questions

PLAY /plays/10

Borrow best practices

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

  1. Ask domain experts for their input

key questions

PLAY /plays/11

Default to open

When we collaborate in the open and publish our data publicly, we can improve Government together. By building services more openly and publishing open data, we simplify the public’s access to government services and information, allow the public to contribute easily, and enable reuse by entrepreneurs, nonprofits, other agencies, and the public.

checklist

  1. Offer users a mechanism to report bugs and issues, and be responsive to these reports
  2. Provide datasets to the public, in their entirety, through bulk downloads and APIs (application programming interfaces)
  3. Ensure that data from the service is explicitly in the public domain, and that rights are waived globally via an international public domain dedication, such as the “Creative Commons Zero” waiver
  4. Catalog data in the agency’s enterprise data inventory and add any public datasets to the agency’s public data listing
  5. Ensure that we maintain the rights to all data developed by third parties in a manner that is releasable and reusable at no cost to the public
  6. Ensure that we maintain contractual rights to all custom software developed by third parties in a manner that is publishable and reusable at no cost
  7. When appropriate, create an API for third parties and internal users to interact with the service directly
  8. When appropriate, publish source code of projects or components online
  9. When appropriate, share your development process and progress publicly

key questions

PLAY /plays/12

Build for sustainability, reusability, modularity

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

  1. At the end of each project, ask: did we do something new that could be applied to future projects?

key questions

PLAY /plays/13

Build a community

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

checklist

  1. Organize informal gatherings periodically to connect with faculty
  2. Create a mailing list, a blog and a twitter account, and follow like-minded
  3. Invite people to sign up for your list
  4. Send them an update on what you’re doing regularly

key questions