[citation][nom]esrever[/nom]Why can't we just have it controlled by our brainwaves?[/citation]
You can! Look up Emotiv, it is pretty damn cool! And not terribly expensive either... just need to make standard game and windows APIs so that everything functions fluidly.
I would love to have the option for a voice controlled PC... but the issue is not voice commands, the issue is AI.
To make for a more natural expierence I need to speak something more than just commands to the computer. On my phone I can say something, then it goes out to the internet, picks out the command words, and applies that to an action on the phone... that is not good enough. I need to be able to tell my device an abstract thought, have it figure out what end result I desire, and then figure out a course of action (preferably the best course of action), and then execute it.
For example, at work today I had to go pick up a large donation. I would love to be able to tell my phone that I would like it to print the pickup request for today's donation, and notify the donor that I am on my way. My device (PC or phone, or whatever), needs to know that I am refering to something at work, that it is a donation scheduled for today, who is involved with said donation, know that the file I want printed is a document on an email attachment, try and find the phone number of the contact (in this case it is in the word document), call them, and then extrapolate an aproximate drive time from my office to their location and call, text, or email that time to them. I suppose it also needs to know where the printer is, and some other very basic fundamental things like that.
It is an immensely complex thing, and maybe AI never quite gets that advanced. But for true voice commands to work on a computing device (and be useful), it will have to do something along these lines. Voice recognition is here, devices can figure out the words that are being said (and even error correct for things it does not understand), the issue is that they cannot figure out what the words MEAN, or how to apply said meaning to anything functional. I can tell my phone "Call, mom, cell" and it knows to connect those words to commands, and then executes them. To make it useful I need to be able to tell my phone "later today when I am not busy I need to call my mom" and then later in the day when nothing is on the schedule, and the ambiant noise level is relatively quiet, and it knows that I am not moving, then it should chime in and say "would now be a good time to call your mom?" and I can say yes or no or tell it a more specific time, and then it will know what to do.
Sadly we are a long ways off from any such meaningful voice recognition technology. It may become available on heavier desktop technology 'soon' but for it to be useful we need it on our phones without the need to call home for a server to do all the translation, and that is going to be several years away.