Choice of computer and O/S
This can be important or not, depending on your time-frame. If you're trying to keep an oven hot to +-5C, you only really need a measurement every ten seconds or so. However, we're trying to keep a ball on a table as it rolls along the edge of the table, something that requires measurements on the order of milliseconds.
As I stated earlier, Windows is not really the ideal platform for this sort of work. Windows has system-wide interrupts that stop everything once every 100ms or so.
You never notice it when using windows, but you sure do when your ball goes flying off the table.
Ideally, we should use a real-time O/S. This is possible, but not easy. Linux can do it, but then we run into problems with drivers and low-level programming, problems that I'm not capable of attacking. RTAI has made great strides, and the 3S (Scilab/Scicos/SyndEX) have an integrated RTAI development environment, but that doesn’t help us with the camera. So Windows it is.
In the most recent version of the source code, the entire program has been ported to C/C++ and can now run on Windows, Linux, and Mac.