Lots of questions Steve, no specific answers. The SpeechRecognizer is a fussy tool so one has to experiment with the Clock interval to get the code to elicit the behavior you require.
Oh, "whenever I call get text from speech I can get it" ... well yes, realizing their probably will be 'collisions' and forcing get text might result in a non response. If you want to do that, you might have to set Clock.enabled to false then later reinstate it's monitoring to true. Simply, you can override the Clock code as the example is shown but with unpredictable result unless you provide additional code. The example has no code to handle errors that might occur, the developer has to add that.
50 ms is 1/8th the time it takes for an eye blink. The SpeechRecognizer you will be using is in the Cloud, so consider that the tool takes a while to process. Go ahead and try 50ms. I believe that short a time interval is impractical for a number of reasons. Experiment.
" can I disable or hide the "say" dialog?my own UI is going to figure that part out." This will be your app, the code "you said cat" is a place holder. You can call a Procedure there
The article has a lot of great ideas.
You should also be aware there are limits about how many conditional statements one can place in an event handler. AfterGettingText is an event handler. The issue is App Inventor apps process data asynchronously. Refreshing too often or processing too much information will interfere with what you timing you use on the Clock at some point.
You seem in doubt about how one can modify existing code to suit your purposes. Have you used the following resources to help you learn to use the AI2 tools? A very good way to learn App Inventor is to read the free Inventor's Manual here in the AI2 free online eBook
http://www.appinventor.org/book2 ... the links are at the bottom of the Web page. The book 'teaches' users how to program with AI2 blocks.