After carefully looking into Apple’s personal assistant, Siri, mobile developer Applidium has dissected the service’s protocol to develop tools for playing with the service outside of the iPhone 4S. Recent testing done by Applidium mentions that the iPhone 4S uses standard HTTPS network requests to communicate with Apple’s server, but sends data using an “ACE” command rather than regular web GET requests.
According to Applidium, each Siri request an iPhone 4S makes involves a unique host identifier that seems to be based on the hardware UDID, which prevents unauthorized devices from sending requests to Apple’s servers. The developer is reporting success in copying an iPhone 4S host identifier into requests sent from other devices, including a test Mac set up. Applidium said he was able to obtain a correct response after sending a similarly packaged request.
The testing helped prove that Siri sends raw audio captures of the user’s voice, compressed with the Speex audio codec optimized for VoIP.It had been speculated that the iPhone 4S was performing preprocessing of the audio and sending the results to Apple’s servers instead but that turned out incorrect. Applidium’s discovery helps to indicate that any iPhone should be able to support at least Siri’s basic voice recognition features, although Apple previously indicated that they have no plans to release capabilities to earlier iOS 5 models, including the iPhone 4 and iPhone 3GS. Both older models have support for third party speech-to-text services, but Apple doesn’t offer any way to integrate the third party service into any app system wide. This means that users have to dictate into one app and then copy the results elsewhere.
This leaves the iOS platform as the only platform of the three major platforms (the others being Android and Windows Phone 7) which does not offer system wide, integrated voice recognition features. Siri however does go above and beyond the average simple voice recognition. Instead of just converting audio to text, Siri evaluates the meaning of requests and maintains an understanding ot he user’s relationships with specific contacts and contextual session of the location along with other details of a request.
The investigation ended up revealing that Siri packages requests in compressed property lists but further exploration of the protocol is difficult to accomplish due to a number of issues including the complexity of requests. The fact that these requests are tied to a hardware key and are subject to change makes things more difficult as well. As of right now, Apple could stop responding to a given hardware key if they suspected that some exploit was being used. Furthermore, the Siri service is owned by Apple and the company can change how it transmits data whenever they want to.
According to Applidium, “anyone cold now write an Android app that uses the real Siri! Or use Siri on an iPad!” however, in order to access Siri, users would have to find the unique user key of an actual iPhone 4S and use the key until it expired or was blocked by Apple. The latter doesn’t seem like it would be a task that one could get away with. It is currently suspected that Siri will eventually find its way in new models of other iOS devices such as the iPad and iPod Touch as well as the rumored Apple TV in the future though.
What do you think of the whole situation? I know Siri is something many of you are waiting for but we probably won’t see a port unless another work around is found. I can’t imagine using the same iPhone 4S hardware key being a good idea for a prolonged amount of time.