Dotplot: Difference between revisions

From Berkman Klein Google Summer of Code Wiki
Jump to navigation Jump to search
No edit summary
(switching to jsd temporarily)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
dotplot is a [https://i.imgur.com/hePKkim.gifv 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.
Technical mentor: [mailto:jsd@cyber.harvard.edu jsd@cyber.harvard.edu]


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. Two examples using the current version of the tool can be found here and here, and the codebase can be viewed on GitHub.
Dotplot is a [https://i.imgur.com/hePKkim.gifv 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.


Currently, this tool 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. Other potential improvements include:
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: http://brk.mn/dcviz, http://brk.mn/casviz
 
GitHub repo: https://github.com/berkmancenter/dotplot
 
===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
*Easy to use, interactive interface for data input and manipulation
*Offer users choices for how the data is visualized by survey and by question:
*Offer users choices for how the data is visualized by survey and by question:
Line 11: Line 27:
**Zoom in and out on specific clusters
**Zoom in and out on specific clusters
**Hover to reveal more information about respondents or clusters (in progress)
**Hover to reveal more information about respondents or clusters (in progress)
**And so on.
===Requirements (can be closely or loosely defined)===
There are several small and large enhancements we would like to make to this tool. Mostly, we are looking for a GSoC student who would be excited to help:
*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
Consider both the typical user experience and creative uses of the tool
===Technology involved (project can be, and is sometimes encouraged to be, open ended such that the student proposes and solution)===
*Javascript
*D3.js
*HTML/CSS/SVG
*A server-side programming language of the student’s choice (Javascript, Ruby, PHP, Python)

Latest revision as of 09:47, 18 March 2019

Technical mentor: jsd@cyber.harvard.edu

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: http://brk.mn/dcviz, http://brk.mn/casviz

GitHub repo: https://github.com/berkmancenter/dotplot

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)