I imagine the resource costs would be too high to really make that worthwhile. The choice is probably between bad privacy settings, a bad personal assistant, or bad battery life and disk usage. Microsoft chose the option that would likely upset the smallest group of people.
I don't buy it. My Windows 10 machines will be Ivy Bridge, Broadwell, and soon Skylake-powered desktop processors running with gobs of excess computing capacity. Voice recognition should be feasible with this hardware, as it has been in the past with Windows 7 and Windows 8's often-ignored voice transcription feature. Furthermore, even if the performance were slightly worse, I would gladly sacrifice some performance for local execution with local data.
Now, I expect that such a local agent would need to have quite a bit of fine-grained control to satisfy privacy concerns (e.g., do you agree to allow me to send your query about films in your zip code to the MSN Movies site to get showtimes?) But I feel the actual processing of the day-to-day personal assistant features is not only eminently feasible on my desktop, but most likely also on my Surface or laptop.
The cloud is pernicious and voracious, its dominion grows quickly enough without needlessly exaggerating the necessity of offloading computation like this. Local computing devices—especially those that conventionally run Windows (desktop PCs and laptops)—are extremely capable.
Cortana is a cloud agent not because of requisite processing power. Illusory local processing deficiency is just a convenient justification for why it doesn't run locally.
But then, I am a strong advocate of personal compute servers and mainstreaming secure private networks. So I am obviously fringe in today's culture that embraces the centralized cloud.
I agree with you with everything except the expectation of performance of your desktop - you're underestimating the ever-growing bloat. Faster hardware is just an excuse for businesses to include more useless shi^H^H^Hvalue-added features and a way to speed up their delivery by caring about performance even less.
WRT cloud, we've already reached the point of ridicule with the new generation of Internet-connected hardware. So many useless webapps (er, "value-added cloud analytics platforms") and so many devices sitting centimeters from each other but communicating all the way around the world. There is absolutely no engineering reason for it to look that way - it's all just attempts to milk users by making them depend on cloud services.
processors running with gobs of excess computing capacity
You're right about the CPU. However, it's possible that good voice recognition also requires gigabytes of data. That wouldn't work so well for a tablet. Or maybe there is some custom hardware (like DSP chips) in the data center that is used? I don't know, I'm just playing devil's advocate.
I do agree with your sentiments. I'm not about to opt in to this garbage. I came of age in the era of the mainframe and I despised the lack of personal control. I won't willingly return to that. Today's cloud is just yesterday's mainframes and time-sharing by another name.
You know they sell things like the Surface 3 using an Intel i3 processor, and still sell Windows tablets with Atom processors, right? Just because you have a 12-core i7 with 320GB of RAM doesn't mean every Windows machine does.
Well, like I said, Windows 7 and 8 had voice transcription support built-in and it worked well on my old computers from 2009, with plenty of CPU capacity to spare. I expect a modern i3 would probably match my desktop i7 from '09.
For now. This crap is going to get a lot harder to avoid when the Intel SGX instructions are widely deployed and it becomes possible to extend the lockdown from SecureBoot to the kernel and kernel-authorized apps.
I suggest fighting it now, while it is still just an annoyance.