Introduction

John Coltrane

Trane is an automated practice system for the acquisition of arbitrary, complex, and highly hierarchical skills. That's quite a mouthful, so let's break it down.

  • Practice system: Deliberate practice is at the heart of the acquisition of new skills. Trane calls itself a practice system because it is designed to guide student's progress through arbitrary skills. Trane shows the student an exercise they can practice and then asks them to score it based on their mastery of the skill tested by the exercise.
  • Automated: Knowing what to practice, when to reinforce what has already been practiced, and when to move on to the next step is as important as establishing a consistent practice. Trane's main feature is to automate this process by providing students with an infinite stream of exercises. Internally, Trane uses the student feedback to determine which exercises are most appropriate for the current moment.
  • Arbitrary: Although originally envisioned for practicing Jazz improvisation, Trane is not limited to a specific domain. Trane primarily works via plain-text files that are easily sharable and extendable. This allows student to create their own materials, to use materials created by others, and to seamlessly combine them.
  • Complex and hierarchical skills: Consider the job of a master improviser, such as the namesake of this software, John Coltrane. Through years of practice, Coltrane developed mastery over a large set of interconnected skills. A few examples include the breathing control to play the fiery stream of notes that characterize his style, the aural training to recognize and play in any key, and the fine motor skills to play the intricate lines of his solos. All these skills came together to create his unique and spiritually powerful sound. Trane is designed to allow students to easily express these complex relationships and to take advantage of them to guide the student's practice. This is the feature that is at the core of Trane and the main difference between it and similar software, such as Anki, which already make use of some of the same learning principles.

Trane is based on multiple proven principles of skill acquisition, like spaced repetition, mastery learning, interleaving, and chunking. For example, Trane makes sure that not too many very easy or hard exercises are shown to a student to avoid both extremes of frustration and boredom. Trane makes sure to periodically reinforce skills that have already been practiced and to include new skills automatically when the skills that they depend on have been sufficiently mastered.

If you are familiar with the experience of traversing the skill tree of a video game by grinding and becoming better at the game, Trane aims to provide a way to help students complete a similar process, but applied to arbitrary skills, specified in plain-text files that are easy to share and augment.

Trane is named after John Coltrane, whose nickname Trane was often used in wordplay with the word train (as in the vehicle) to describe the overwhelming power of his playing. It is used here as a play on its homophone (as in "trane a new skill").