[Optimoz] gesture recognition with a hidden markov model

Jens Bannmann jens.b at web.de
Sun Oct 30 11:30:58 EST 2005


Hi there!

I'm all for experimenting with new recognition methods, and very glad
that Aaron wants to spearhead this effort.

IMO, we should package the alternative engine into a separate extension,
at least during the development and testing phase. This way, it can be
perfected independently of the (long) MozGest release cycles. It should
be pretty easy to write an extension that replaces the appropriate
methods so that it integrates seamlessly into MozGest.

In the long run, once we are happy with how everything works, we should
include it in the main package, as an optional feature like you described.

> Finally, has a C/C++ backend been definitively ruled out of optimoz?

No, of course not. We just currently don't use one, at least not for 
gesture recognition - but for this stuff it is the only sane option. A 
C/C++ backend would be written as an XPCOM component so it is 
cross-platform (on the source code level) and can be controlled and 
configured from JS.

It would probably be best if the component didn't use the Windows API 
for grabbing the mouse move events, because that would require GTK1/2 
know-how when we want to have the component on Linux (similar with Mac). 
Instead, the component should just be called from the regular JS 
processCoordinates() function (or rather, its replacement provided by 
the new extension).

> Now, for something a little more technical: (...)

I'm not into this kind of mathematics/statistics, so I can't comment on 
anything you wrote. Just do whatever you see fit :-)


So, this is how we should go on: Aaron and anyone interested rally 
together and take a look at our source code at 
http://www.mozdev.org/source/browse/optimoz/mozgest/mozgest/content/ , 
especially mozgestOverlay.js, to see how the new recognizer would be 
integrated into MozGest. While not separated in terms of a real "module" 
or documented API, the gesture recognition engine could be easily 
replaced through the functions processCoordinates, startGesture and 
endGesture. Jochen and I can provide help for setting up an XPCOM build 
environment and with packaging the extension.

Best regards,
Jens


More information about the Optimoz mailing list