SPEECH RECOGNITION:
What could go wrong?

Misunderstood speech
* noise
   - use a noise-cancelling microphone
* personal accent, training algorithm not broad enough (not enough data for training)
   - train the scanner for one person. For instance, have the person pronounce a 
     list of 100-1000 words so the scanner learns to understand that person very well
* inadequate vocabulary, similar sounding words
   - use keywords understood by the speech recognition unit
Lack of memory
- add more memory
Software bug
* too slow
   - Use C/C++
* memory leak
   - Use smart pointers (but you must use C++)
   - Set the unit to restart after a period of time, or after idle time.
Hardware bug
* microphone
   - use software to enhance the microphone
* CPU power
   - upgrade the CPU
Competition
* schedule risk
   - get more people on the project
   - roll out a simpler version of the product first
Training Warehouse Staff
- training video embedded in the device
- reference manual
- virtual training
- workshop in their company (senior technical staff)