Ars Technica wrote in a recent article...
"It’s clear that Apple’s decision to limit Siri to the iPhone 4S and not roll it out to previous iterations of the device was not motivated by the hardware constraints of older iPhones."
Really? Well, let's dig deeper into the article.
When a user speaks to Siri on a 4S, the phone records the audio and compresses it with the Speex codec, an open audio format that is optimal for voice. The recording is transmitted to Apple’s servers as part of a specialized HTTP request. The servers send back a zlib-compressed binary plist that contains the response data."
Records the audio... using the newer noise cancellation technology in the 4S to get a better recording.
Compresses it with the Speex codec... faster using the new dual-core A5 processor.
Transmitted to Apple’s servers... servers send back... twice as fast using the new HSDPA chip and improved antennas.
And then there's the improved IR sensor that makes the whole "lift to talk to Siri" thing possible.
Now, it's true that there was a old version of Siri on the app store. But it was fairly limited, and the Siri app developers are on record as saying that they had to make quite a few compromises in order to get Siri running on older devices.
And we all know just how much Steve Jobs liked compromises.
Now, would the current version of Siri "work" on an iPhone 4 or 3GS?
Probably.
But would it work just as well, just as accurately, or just as quickly?
No.
It's not that older devices can't do those things. It's that the 4S can do them better (audio recording with active noise cancellation) and faster (encoding, transmit/receive).
Both of which, it turn, make for a better user experience with higher accuracy and less waiting.
Let's take one of these: In one article, Siri developers complained about getting clean voice recordings for analysis.
Why? Because even slight noise can make a significant difference in accuracy. Ever listen to a video camera recording of people in a room? Notice the voices?
Even echoes off the walls can degrade accuracy.
How about speed?
Remember the old axiom web developers used about loading pages under 7 seconds? The longer you took, the more you increased your chances that your visitor would just click elsewhere. Google just overhauled their search box prediction code to shave fractions of a second off the delivery of the results.
Why? Because even slight delays can degrade the user experience.
And that's the key part, because if Steve felt that the experience on a 4 or 3GS would be less than optimal, then those phones simply wouldn't get Siri.
Sounds like motivation to me.

