What are other ways we can interact with code?

Live Coding in Virtual Reality

Type and change the world.

You edit a line of code. But instead of hitting compile and waiting for a program to run... The world changes around you. You can see program state as reflected in real objects. Stop, debug, interact. Even, walk around.

Data Ninja

Software trainers, will show programs how to exist in our world.

Classic software engineers tell programs what objects they would see, in exact shape, color and size. They state exact sequence of actions, what to say, and sometimes even how to clean up after themselves.

In this project, we explore how humans can work in concert with machine learning algorithms in order to train, parameterize, and optimize learners. We explore interaction with machine learning algorithms using visualizations, natural gestures, and immersive virtual reality environments.

A human trainer helps a support vector machine classify data.

Science of Productivity

What makes you most unproductivity? How can we work more productively?

Task Lights

Timebox tasks more effectively.

Timeboxing techniques such as Pomodoro attempt to increase your focus on tasks by working within 25 minute intervals. Often an alarm or timer is used to force work within the small window of time.

With ambient timers, we use lights to help you stay aware of your time constraints with miminal distraction. Color is a simplier signal to process than time and can be seen in your field of view without needing to shift visual focus. The lights transition from "green", "yellow", "red", and terminate with an "alarm flash".



Are you programming in-the-zone, frustrated, or fatigued?

Can we detect when a developer is programming in-the-zone, frustrated, or fatigued? We use a mixture of programming environment instrumentation and bio-sensing to determine affective state of a programmer.

Happy Face

When was the last time you were frustrated while programming?

In this project, we're collecting measures of frustration from users while they program to discover particularly frustrating programming experiences.