But what is to me implausible about thinking "phone Mom" and having my computer do it for me is that this scenario envisions an unusually high degree of usability that no consumer-facing software writers have ever achieved. Right now, on a BRAND NEW computer system using mostly application programs recommended by Hacker News readers (for example, I am using Chrome to Web browse), I can't count on my computer doing what I want even if I have my hands on the keyboard or a hand on my mouse. User-interface design appears to be HARD--or at least, it is rarely done right--so I am very doubtful that in five years or even twenty-five years I'll be able to use a computer that really does what I think.
This would take the "butt-dialing" phenomenon to disturbing new levels.
Be more precise. If you can distinguish two classes, you can convey anything through EEG, however slowly (think 'bits'). With error, use error-correcting codes and you can get relatively high accuracy.
Pedantics aside, I agree in sentiment. Even with invasive techniques we can only roughly decode movement.
And I work in a lab that does BMI work, and we couldn't do the "call mom" command in the sentiment of lars, even though we use more spatially precise recordings (multi-electrode chronically implanted arrays). So I'm with that. OTOH we can do some cool things like control a computer cursor or tv remote with motor commands like "left-up" etc. Subjects reported that after a while they would cease to "translate" thoughts from movement commands into "BMI" commands like "change channel". It stands to reason they might be able to do the phone-book thing in that case.
Of course, few people find it worthwhile to get chronically implanted electrodes placed in their motor cortex, soooo.
It seems to me that if you can map patterns for four directions, you should also be able to map patterns for 50 different phone book entries and several verbs.
When I say detecting movement, I mean things like imagining moving a hand, a foot or a tongue. These movements use distinct areas of the brain so you can distinguish between them by looking at where on the scalp the change occurred. This is done in ways that are known to be close to perfect.
However, you probably couldn't use scalp location if you wanted to distinguish "call mom" from "call John", as they would presumably activate the same area of the brain. There are of course other things one could look at, and I obviously can't prove that it can't be done. But at the same time I have never seen any kind of positive result for an EEG classification task at this level of detail.
Secondly, I am not sure one can learn to almost unconsciously think about certain movements of bodily parts. Chances are this will keep requiring too much apof one's attention.
Thirdly, I think temporal resolution will be awful. Even if you can learn to think about say 3 movements simultaneously, I doubt you will get this above a byte per second of bandwidth. Written text is around a bit/character, so that would likely be way below slow speech.
Most of this is opinion/guessing, so feel free to correct things.
So you couldn't distinguish individual fingers with todays technology. If it was ever to be done, I'd expect that it would be done with the same algorithms as we use today, but with much denser electrodes. If I were to bet, I'd bet that this would be physically impossible, but I'm not as confident as I am with saying we wont be able to detect who I want to call.
[1] http://en.wikipedia.org/wiki/File:Human_motor_cortex_topogra...
(Of course, this is highly domain-specific and not very convenient. But it does seem possible.)
If I read the blog post correctly the claim is not passive mind reading. The claim is that the user has some training to issue the sorts of thought commands that can be reliably picked up. If I think "call mom" it doesn't do anything. But if I think "Up Up Down Down Left Right Left Right" maybe it can interpret that correctly as my preassigned shorthand for "call mom".
So I think they are actually describing a "call mom" scenario, and I strongly doubt that the information to detect that is at all present in an EEG signal.
http://www.youtube.com/watch?v=Uyrd0uOuyms
Even giving directions via thought is tricky.
Something like moving a cursor around by thinking about it, or thinking about making a call and having it happened requires a hell of a lot of bits of information to be produced by the brain computer interface. With the current state of the art we can distinguish between something like 2-6 classes of thoughts sort-of reliably, and even then it's typically about thinking of particular movements, not "call mom".
Importantly, what most people look for in the signal (the feature in machine learning terms) are changes in signal variance. And there are methods to detect these changes that are in some sense mathematically optimal (which is to say they can be still be improved a little bit, but there won't be any revolutionary new discoveries.) There may be other features to look for, but we wont be getting much better at detecting changes in signal variance.
Some methods can report results like a 94% accuracy over a binary classification problem. Such a result may seem "close to perfect", but it is averaged over several subjects, and likely varies between for example 100% and 70%. For the people with 70% accuracy, the distinguishing features of their signals are hidden for various reasons. And this is for getting one bit of information out of the device. Seems like such a device would need to work for everyone to be commercially successful.
In computer vision we have our own brains to prove that the problems can be solved. For EEG based brain computer interfaces, such proofs don't exist. There are certain things you probably can't detect from an EEG signal, meaning the distinguishing information probably isn't there at all. I'm easily willing to bet IBM money that who I would like to call can not be inferred from the electrical activity on my scalp. (Seriously IBM, let's go on longbets.org and do this.)