Hi! I’m a software engineer, designer, and researcher. I work on technologies that expand what people can think and do.

Hi! I’m a software engineer, designer, and researcher. I work on technologies that expand what people can think and do.

I explore ideas by expressing them in real-world systems, juggling approaches from industry and academia to seek insights they can’t see alone. Thinking through making.

My current work follows five years at Khan Academy, where I led the R&D group, which I co-founded with my friend May-Li Khoe.

Before that, I helped build iOS at Apple, focusing on foundations like multitouch, animation, and inter-app coordination.

Tools for thought

What comes after the book? Weaving new media from ideas in cognitive science; using those systems to better see cognition.

What comes after the book?

  1. Quantum Country

    An experiment in a new medium, making it easy to remember what you read

Notes

  1. Why books don’t work

    Designing media to reflect how people think and learn

Exploratory ed-tech

Work from my time at Khan Academy, where my team worked with teachers to invent novel interactive learning environments.

Creations from my time at Khan Academy.

  1. Building complex skills online

    Beyond right and wrong: scalable open-ended learning activities

  2. Numbers at play

    Designing digital manipu­latives to reveal numbers’ hidden properties

  3. Playful worlds of creative math

    Reframing early numeracy around adventure, wonder, and creativity

Blog

Research Blog

  1. Narrated explorables: three mental models

    When author and learner share a canvas

  2. Students are the subjects of our sentences

    A syntactic trick to emphasize student agency

  3. Looking sideways at the design squiggle

    Reflections on the team’s design process

  4. Mastery learning and creative tasks

    Mastery learning’s limits for complex skills

  5. Sorting product “baseball cards”

    Bridging behavioral interviews and prototypes

  6. Explanations from ‘masters’ of geometry

    The gulf between application and explanation

  7. Safely showing students peers’ comments

    Designing peer interactions to avoid abuse

  8. Games vs. education on unguided instruction

    The limits of teaching without words

  9. Rich tasks which crowdsource more rich tasks

    Using student work to arrange social learning

  10. Surveying the open-ended task landscape

    Notes from literature / market review

  11. Amplifying open-ended questions

    Enabling open-ended online learning activities

  12. One medium, many contexts

    Designing math manipulatives for fluid use

  13. Old and new ways of looking at numbers

    Making abstract properties more visible

  14. A medium for exploring quantity

    Introducing our math manipulative project

  15. Student agency and flow

    Helping students surf their learning edge

Natively‑dynamic interfaces

I’m fascinated by interfaces which can’t be designed through pictures: native to the dy­namic medium, only designable with code.

Designs which can only be explored with code.

  1. Scrying Pen

    A pen which draws its own future using a realtime recurrent neural network

  2. iOS’s parallax system

    A realtime illusion of 3D depth using the device’s gyro and accelerometer

  3. iOS’s edge-swipe gestures

    Balancing uncertainty and responsiveness in multitouch interfaces

  4. iOS’s 3-D page curl

    Turning a virtual 3D page with your finger

Meta

Brief reflections on how I approach making and thinking.

Brief reflections on making and thinking.

  1. Exalting data, missing meaning

    The delusions of measurement absent theory

  2. Satisfaction and progress in open-ended work

    Seeking gradient in the fog of novel work

  3. Building habits via smoothly ratcheting targets

    A surprisingly reliable strategy for starting habits