Google Glass for Khan Academy

At the Pre-I/O Glass Hackaton in San Francisco last week-end we built an app for Google Glass for Khan Academy. It may well be the first of its kind. This first alpha version for teachers displays a notification on Glass when students are struggling during an exercise. We published it on GitHub at GlassKhan.

About Khan Academy

Khan Academy flipped education inside out. When I was in school, we would passively seat in class and listen to teachers give lectures for an hour, and then they would give us homework to do on our own at home. Khan Academy flipped that system inside out. They tell students to watch the lectures on the Internet at their own pace, where they can pause, accelerate, or deepen a section of interest. And they tell students to do the homework in class in groups with the teacher. That creates more engagement from the students as students are familiar with the technologies, and students can help each other in class between peers with the teacher present to answer questions. And as students are doing the exercises on Khan Academy’s website, teachers have hundreds of data points about students to tell who is behind, who is ahead, on what topics, and more. So we set out to build a Glass app for Khan Academy.

The hackaton

The hackaton was a 24h coding competition with education as the main theme, to “see leaps forward in Education using technologies like Google Glass”. I teamed up with Ross Gruetzemacher and Ryan McCormick. We brainstormed several ideas including an app for Khan Academy.

The first premise was that we would build an app with the teacher in mind since it’s currently easier to justify the cost of one Glass per teacher rather than one Glass per student. In the future the cost of Glass will probably be lower but that future hasn’t happened yet.

The second premise was that such app mustn’t already exist. We quickly confirmed that on the Glassware page. We also did a Google Search for the terms “Google Glass” and “Khan Academy” and we found two relevant hits. The first hit from Forbes, Google Ventures Launches Glass Collective With Andreessen, Kleiner Perkins, To Fund Google Glass Startups, said “Doerr is excited about Glass applications for education as well as health care. He cited companies like Udacity and Coursera and Khan Academy that are working on education but sees Glass as adding a whole new layer to education.” The second hit from Kurzweil Accelerating Intelligence, Will anyone create a killer app for Google Glass? said “Khan Academy software engineer Stephanie Chang, who was at the Foundry events, has ideas such as creating a Glass app for teachers, who could be notified as they give a lecture which students are struggling.” Both articles validated our idea. There’s funding available, and there’s a demand for an app.


Teachers have a dashboard on Khan Academy’s website that shows the roster of students, classes, progress reports, and hundreds of data points.

Here is a screenshot of the coach dashboard:

And Khan Academy has an API that gives access to data about what student is doing what exercise when and at what level. The data is private to the coach and to students that have accepted a teacher as a coach. And the data is protected with OAuth.

Here is a screenshot of the API Explorer:

As soon as a student is struggling with an exercise the API knows about it. The criteria to be considered struggling on a exercise is based on metrics like time spent on the exercise and number of hints used. We setup dummy teacher accounts and dummy student accounts, and we purposely failed at plenty of elementary math exercises to trigger the flag  struggling = true . For that we query the API /api/v1/user/exercises/<exercise_name> . When that event happens, we send a timeline card to the teacher’s Glass with the nickname of the student, the level “struggling”, the name of the exercise, and the time “just now”. That’s four pieces of data.

It’s a useful micro-interaction for the teacher and it follows the principle about the now as explained by Google Developer Expert Allen Firstenberg:

From a technical point of view, we used the Google Mirror API and the Java Quick Start. We built a decorator and an adapter in Java for the Khan Academy API. And we built a loop for each student, for each exercise, test if struggling == true.


Here are two screenshots of the result, we randomized the pairs of colors for the nickname and exercise name so teachers get distinct visual cues:

vignette vignette2


This app will help students who are shy and don’t want to raise their hand and admit they don’t know when their friends are watching. With the notification the teacher can go help the student without the student having to feel embarrassed to ask for help.

Also, this will help teachers not be distracted by the iPad or the computer.

And teachers that have an inclination for programming can take the source code and advance it for their own creative ideas.


This first alpha version of the app contains shameful hard-coded OAuth to Khan Academy that we need to completely re-code. We also lack a notification system; we simply implemented a one iteration loop that pulls from Khan Academy’s website. And there are rough edges to smooth.


Future versions of the app could show other types of events such as levels of success rather than levels of struggle.

We’d like to see this app survive beyond the hackaton. If you’re a developer and would like to contribute, please contact us. And if you work at Khan Academy, please contact us, we need new APIs from you (coach data, notifications, and the servers returned HTTP 500 “Internal Server Error […] the server is overloaded”).


That’s it! Please like, comment, and spread the goodness to your teachers and students.

Published by


ex- M3 Technical Consultant

2 thoughts on “Google Glass for Khan Academy”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s