EarSketch Collaboration

 

Final designs for the features added to EarSketch for it to support collaboration

EarSketch is a web tool which allows students and anyone else to learn how to code in JS and Python by enabling them to create music from their code. This project started around 5 years ago at Georgia Tech and is funded by NSF. The goal of this project is to make major strides to address computer literacy for K-12 students especially underserved populations.

I worked as the sole UX Designer on the EarSketch project from August 2015 to May 2017 on two major projects.

  • Redesigning the entire interface to make it more usable, cohesive and aesthetic. It was majorly an engineering effort before I joined the project.
  • Conducting research and designing cohesive workflows for features that need to be included in EarSketch for it to support collaboration between users.

This article highlights the details of the second project.

First things first

 

Success

EarSketch was the main project that I worked on during my part-time job at ADAM Lab at Georgia Tech from August 2015 to May 2017.

  • EarSketch recently crossed 100k+ active users and is currently being taught in more than 250 schools across the US.
  • Highlighted by President Obama's Administration as a top CSEd initiative and it also received the 2017 NCWIT award for CS education engagement
  • Through this job I put myself through grad school

The work done in the EarSketch Collaboration project was recently evaluated in a live-coding context and the findings from that study have been accepted for publication in the proceedings of Audio Mostly 2017, an ACM conference related to Audio interfaces and interaction design

Project Overview

 
earsketch_process.jpg

Problem space

EarSketch is an integral part of the AP CSP curriculum in many schools all over the country. To make sure we are meeting the standards of the AP CSP curriculum and at the same time maintaining high standards for CS education our performance evaluation team conducts regular studies at schools. Moreover, as a team we are constantly focussed on shipping new features to meet our user needs every release cycle and due to this the research team at EarSketch led by Dr Anna Xambo (I am also a part of this team), focuses on finding the pain points and shortcomings of the current product and steps we need to take in order to address these shortcomings. Together the research of our performance evaluation team and the user research team revealed the following areas that needed attention

  1. Collaboration and team projects are a huge aspect of CS education but the EarSketch interface had no mechanism/workflow for supporting such projects
  2. We found out that students were very concerned about maintaining authorship of code that they were sharing publicly or with others but EarSketch had no mechanism for ensuring author attribution
  3. Debugging logical errors is an integral part of CS education, however, even though there exist UX/UI related frameworks to support syntax-error related debugging, there wasn't any UX framework to support debugging of logical errors

Goals & Constraint

Based on the problem space that we were tackling we had the following goals to achieve

  1. Provide a comprehensive collaboration framework which is also simple and doesn't get in the way (by adding clutter to the interface)
  2. Support both co-located and remote collaboration 
  3. Develop a UX framework for collaboration that could also serve as a pedagogical tool

Collaboration Framework

Sharing a script

 

Notification framework

 

Code Import & Author Attribution

 

Collaborative code editing

 

Version Control

 

Communication through messages

 

Commenting framework for debugging

 

These features together form the entire collaboration framework for EarSketch. To learn more about the research we conducted, read on!

 

Exploratory research

To identify problems and pain-points that our users were facing with EarSketch and to understand how collaboration worked within the current ecosystem Dr Anna Xambo and I conducted exploratory research by conducting interviews, doing field observations in schools and undertaking an extensive competitive analysis of similar products

Interviews

Dr Anna Xambo conducted interviews with 9 teachers (6 female and 3 male) who either teach EarSketch or are proficient in EarSketch. The question we were trying to answer was

What were the existing sharing practices among students, students and teachers and among teachers?

Upon analyzing the data from the interviews we realized the following areas that needed more attention

 

Code authorship

  • Students were skeptical if sharing was positive
  • Students shared the musical outcome but refused to share their work outline
  • Sharing could go against AP CSP if teachers were unable to ensure work authorship
  • Ownership rooted in cultural backgrounds

Sharing between students and teachers

  • Informal presentations to receive feedback
  • Share by URL opened lots of windows in ES currently. Very tedious
  • Students talk to each other before they approach the teacher
  • Assignments have rubrics and code shared in Google Docs or Google Classrooms for grading purposes.

Sharing among students

  • Students used Google Docs for sharing code
    • Multiple users could edit together in real time
    • Provided permission based control and even shared folders
  • They used a discussion forum to post code and comment on it

Sharing among teachers

  • Teachers have their own curriculum which is shared among teachers of the same school
  • Teachers were moving away from Powerpoint and were using guided worksheets instead
  • Need online support - a community of sorts for communication.

Collaboration Practises

  • Group up together informally. Generally teams of 3 with at least 1 musician in each
  • Follow pair programming when in class with driver and navigator roles
  • Remote collaboration (outside class) was very difficult
  • They have individual activities but the process is shared

Field Observations

We (Dr Anna Xambo and I) conducted field observations at the Marist High School near Atlanta with 34 students in 2 classes to answer the following question

How did students deal with code related errors in EarSketch?

(Although this research was initially conducted to be separate from the collaboration research - we quickly realized that we could use collaboration as a means for providing UX framework for debugging logical errors)

We collected screen-capture of 34 students doing their assignments in EarSketch for an hour and also collected notes for our observations. We later coded the videos with different errors that were made, how long it took for students to recognize and rectify their errors and if they relied on help for rectifying the error. From our analysis, we realized the following aspects

  • Students were able to rectify most of the syntactical errors themselves by relying on the error messages.
  • Students overwhelmingly relied on external help like their friends, teachers or previous examples and solutions when they encountered logical errors in their code

This made us realize that we could leverage the collaborative communication aspect to provide a framework for students to point out potential logical errors thereby allowing themselves and their team to learn as a group

Competitive Analysis

We (Dr Xambo and I) did an extensive competitive analysis of products that were similar to EarSketch or supported real-time collaboration/live-coding or had visualizations of author contribution. The image below gives an overview of the products we looked at

 
earsketch_competitive_analysis.jpg

We were asking the following question

How do these products support collaboration?

Our analysis helped us identify certain features and design elements that were necessary to support collaboration

 

Author distinction

  • All the users involved in a real-time editing project were given their own color coding
  • All users knew who was editing what at any given time

Communication was key

  • We needed to provide a cohesive workflow for peer-to-peer communications
  • As identified before commenting could help us tackle error handling

Technical aspects relating to EarSketch

  • Real-time code editing with multiple users results in compilation issues. Thus we needed to follow a turn-taking based approach.

Identified Features

 

Evaluations

My tenure at EarSketch ended (on account of me graduating from college) before I could participate in the evaluation of the designs. Evaluations of the interface especially the communication features is being done by Dr Anna Xambo and Dr Gerard Roma.

They recently conducted evaluations of the collaboration features in a live-coding context and found the communication and collaboration features were greatly beneficial for the musicians especially in teams of 3.  The findings from this study will be published in the proceedings of Audio Mostly 2017, an ACM conference on Interaction Design.

They will be conducting studies with the prototype they have built to evaluate these designs in an educational setting.

Thank you for reading about EarSketch Collaboration. Want more? Click here.