I've just spent the last twenty minutes trying to outwit a computer at 20 questions; I have to say I'm impressed.
Easy ones it can get no problem - keyboard, airplane, carrot. Slightly harder and it's still getting koala, ox and snowboard. After a fierce battle of raw mental horsepower, I finally scored a victory by tricking it into think magnesium to my titanium.
While I'd like to believe the system really is that smart, I've a suspicion they've got a fairly good idea of the things people will try and use, so the total answer set really isn't that large. What especially intrigued me was the way the system asks whether it's right with its guess - I'm wonder whether it's using experience to improve accuracy in the future.
Although at first glance, this seems like nothing more than a novelty, I'm beginning to think it could be much more. Since the questions are language independent (they can be localized very cheaply), it could easily be used as a foreign language translator. Given the limited option set for responses (which could presumably be reduced to yes, no and maybe) it would be very easy to integrate this into a cell phone with limited capacity. Instead of having to have a knowledge of all words in the native language, you need only store the answers (20x2 bits) and the foreign word.
Of course, cell phones now have more memory than my 2 year only PDA, so perhaps effort is better spent elsewhere.