to be honest: I don't know yet.
There are too many things going wrong with the NXT system, especially BT (far too slow, not multitasking-safe), i2c (100-400kbps needed, and it's not chainable up to 127 like i2c standard), homebrewed approaches for parallelizations are too limited and too complicated to handle. But also the processing speed is too slow, the memory is too small, NXC is partly too limited, and other software is too complicated to work with (like nxtOSEK).
The main point is: I always have dozens of missing I/Os. But also the processing speed actually must be 10²-10³x faster (probably possible by native machine code instead of a bytecode interpreter) and also many sensors don't work like I need it for object and environmental detection and recognition (no US single shot mode on multiplexers, the cam is simply useless, no short-distance distance sensor 1-5 cm available, the gyro drift can not be compensated, the accelerometer is far too noisy, the same with the compass). So my current and future projects are all cancelled anyway.
After all it meanwhile turned out to me that the way the NXT and its accessoires are designed by Lego and 3rd party manufacturers (hardware, firmware, and software) it's simply not suitable for me.
NXC CHESS for NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790
indispensable for NXC + EV3-C: easy + trouble-free network & sensor+motor remote control for rs485, BT, USB!