From Berkman Klein Google Summer of Code Wiki
Jump to navigation Jump to search

Technical mentor:

Dotplot is a visualization that allows one to tell a story about data. Our primary use case is mapping a diverse network of people in a playful and interactive way. All too often, the only way to get a sense for the attendees of an event or the members of a distributed network is to do a significant amount of searching for resumes and background information. This research takes excessive time and effort, and it makes what should be an exciting and fun--meeting new people and finding potential collaborators--into a chore, something to be avoided or put off.

This is where dotplot intervenes, bringing a sense of joy and discovery back into the process and helping to facilitate even more discoveries of commonalities and uniqueness among group members. This tool takes a spreadsheet of information about individuals gathered through survey questions and generates a dynamic visualization of the responses.

Examples of dotplot in action:,

GitHub repo:

Ideal candidate criteria

dotplot is interested in developers to improve both typical user experience and creative uses of the tool. Currently, dotplot requires specific backend programming to input spreadsheet information, but we would like it to be a tool available for conference organizers and event hosts to use without difficulty or extensive programming experience. The ideal candidate has experience with JavaScript, D3.js, HTML/CSS/SVG, and a server-side programming language of the student’s choice (Javascript, Ruby, PHP, Python).

Suggested sub-projects include:

  • Design and build a system for collecting structured data from users
  • Connect the collected data to the existing JS visualization
  • Expand and improve upon the existing JS visualization
  • Bring creative and thoughtful ideas about potential enhancements
  • Ingest data from Google Sheets

Other potential sub-projects include:

  • Easy to use, interactive interface for data input and manipulation
  • Offer users choices for how the data is visualized by survey and by question:
    • Display locations on a map
    • Track a specific respondent through multiple questions (in progress)
    • See the relationship between multiple questions using color, space, etc.
    • Zoom in and out on specific clusters
    • Hover to reveal more information about respondents or clusters (in progress)