How does it interpret natural language?
Mathematica is impressive, but like all programming environments it's a little, well, strict about input. To find out the windspeed in Birmingham you have to enter "WeatherData["Birmingham", "Temperature"]": nothing else will do.
And so on top of the algorithms layer, then, is some natural language processing code that takes our messy queries and tries to figures out exactly what we mean. So you can enter "what is the windspeed in Birmingham", "please tell me Birmingham wind speed" or even "Birmingham windspeed" and Wolfram Alpha will convert them all into the correct Mathematica code.
NATURAL LANGUAGE: Wolfram Alpha does its best to make sense of whatever you type
Or at least, that's the plan. In practice, as with all natural language processing tools, Wolfram Alpha is easily confused. You really need to keep your queries as short and simple as possible to be sure that they'll be understood.
The final ingredient is the hardware to run all this. Wolfram Alpha is starting with an impressive-sounding setup, reportedly 10,000 x86 CPUs configured in clusters and running queries in parallel. But will even this be enough?
The natural language processing, Mathematica code and calculations mean Wolfram Alpha is computationally very expensive, far more so than a regular search engine. The company has already reported performance worries during final testing, and we wouldn't be surprised if there's more to come. Our bet is they'll be announcing hardware upgrades very soon.