Imagine, Siri running in an Android device. Do you think it’s possible? It might be. The iPhone 4S’s “personal assistant” may be easy to port to Android devices, if findings of a reverse engineering effort by Applidium prove to be true.
Applidium, a company that specializes in mobile software development, found a way to reverse engineer Siri. And, the devs are giving out all the necessary tools to port Siri into different devices for free. Gizmodo actually believes that only a line of code is keeping Siri from running on Android devices.
How did Applidium do it? The software developers from Applidium just played around with the fact that Siri uses a remote server to process information. These developers found out that Siri is using HTTP to transmit data to Apple’s server.
The developers from Applidium said that Siri uses a modified version of HTTP which is called ACE. This modified version of the Internet protocol handles big Content-Length data reaching nearly 2 GB.
These developers who boldly experimented with Siri got all the necessary information by intercepting data transmission from the iPhone to Apple servers. They successfully did this by using a proxy server, which they setup the iPhone 4S to connect to, as well as to a fake DNS server and using a custom SSL certificate that they customized and loaded into the iPhone 4S.
Applidium developers then discovered that the data they intercepted were compressed using the Speex audio compression codec. This codec is typically used for VoIP data transmission.
One of the interesting parts of their discovery is that the data transmission from Siri would always include a unique ID coming from the iPhone that sent it. This will be a future challenge for the development of Siri in other platforms.
What do you think? Is Siri a necessity on Android devices? Do you need Siri on your Android device?