$1 Unistroke Recognizer in JavaScript This page has been verified for Internet Explorer only.
Jacob O. Wobbrock,1 Andrew D. Wilson,2 and Yang Li1
1University of Washington   and   2Microsoft Research

This page implements the "$1 Unistroke Recognizer" that is easy, cheap, and usable almost anywhere. It requires under 100 lines of easy code and achieves 97% recognition rates with only one template defined for each gesture below. With 3+ templates defined, accuracy exceeds 99%. Upon loading this page, only one template is defined for each gesture below, but you can add more with the "Add" buttons beneath the canvas. Gestures should be regarded as fully rotation, scale, and position invariant. For in-depth results, see our UIST 2007 paper (PDF). See also the $N Multi-stroke Recognizer built upon $1. $N can do everything $1 does and more, including multi-stroke gestures and one-dimensional gestures.

Make strokes on this canvas. Drawing happens when you finish. Drawing will be offset if you've scrolled the page down. If a mis-recognition occurs, simply add the mis-recognized unistroke as a new example.

Add last unistroke as example of existing type:
Add last unistroke as example of custom type:
Delete all user-defined examples:  

$1 Links and Downloads

$1 Implementations by Others