That is really interesting and thanks for the showing me an idea for the multi stroke recognition algorithm that you used.
Just this week i was looking into this to make a gesture recognizer for strokes.
Metric had started a gesture recognition class:
http://www.cocos2d-iphone.org/forum/topic/2527#post-15795
What I wanted to do (and what you've just done) was create an easy way to start off that base idea with a more robust multi stroke algorithm so developers wouldn't need to create a subclasses to get a detection for different types of gestures and hopefully easier to detect new gestures without too much effort.
The concept was that it would act in much the same way as the TouchDispatcher and Apple delegation conventions but instead of ccTouch* callbacks, it would be the callback for a gesture recognition.
And it's easy for the developer since it's very simple lines of code to get it up and running:
StrokeGestureRecognizer *recognier = [[StrokeGestureRecognizer alloc]initWithTarget:self action:@selector(handleTheGesture:)];
...sometime later on handle the callback
-(void)handleTheGesture:(StrokeGestureRecognizer*) sender
{
//check the sender if it matches a stroke we'd want
}
Terrance found a thesis based on xstroke, xstroke for X Window System, but it was for single strokes.
So we finished implementing that and also extended it for a multi stroke solution as well. But the $N algorithm you've linked to is such an interesting solution that I will take a look at it.
I won't use it or anything, it's just a good read.
Thanks though for showing your application and presenting that algorithm. Hope you get a lot of feedback on your app and it all goes well.