Abstract : This article summarizes the process I have developed to describe, evaluate and facilitate the creation of novel inter- action techniques. First, it presents the CIS model for describing interaction techniques and predicting their effec- tiveness in real contexts of use. CIS shows that there is no absolute best technique but that performance depends on the context of use. The article then shows how to improve a technique by optimizing subcomponents of its CIS struc- ture. Finally it describes SwingStates, a toolkit designed to help develop novel interaction techniques by exploring different CIS structures.