Last month Ford released the beta version of AppLink emulator, which can emulate the in-car interface part of Applink, enabling mobile apps to interfere with the car. The emulator provides output (via the emulated screen) and input (via emulated buttons) and offers the same interface to these as would the car. The Carmesh team was very keen to explore what is possible with this exciting new framework.
The objective of our initial work was to understand how the communication works, the I/O capabilities of Applink and how and Android application can access these functions.
The emulator is still quite new, so we did discover some teething problems. We did have some issues connecting the sample Android application (following the steps from the manual) to the emulator which related to IP connectivity – the emulator was assuming the use of IPv6, while the Android app was using IPv4. This was a MS Windows specific problem and the MS fix needed to be run to use IPv4 over IPv6 to resolve this issue.
Following this fix, it was still necessary to ensure that the correct IP address was used in the application – the application defaults to 10.0.2.2 – and after changing it to the emulator machine’s IP we were up and running.
Having done this we were ready to experiment with Applink. The auto interface is much more limited than today’s phones – we can:
- show two lines of text as permanent text or an alert for some period of time
- manage application menu – add, delete menu items and problematically react on choosing these items
- play music from the phone
- subscribe and unsubscribe for numerical buttons
- react to presses of arrow/OK/numerical buttons
Some additional operations are possible within Applink, but are not yet supported by the emulator. One of most interesting of these is the feature enabling voice communication with the car. As we are currently playing a lot with speech recognition systems, we’re really keen to see how this will evolve in later versions of the emulator. As one of the Carmesh partners – Zylia – has much experience in speech, we believe this to be an excellent solution for automotive services and hence see much commercial potential in this space.
From the technical point of view the communication between the Android application and the AppLink emulator is pretty easy to understand. It is based on REST Webservices using JSON. Ford provides a library which takes care of the low-level network communications, thus enabling the app developer to focus on the app and how to integrate the auto UI.
Finally, it is worth noting that when developing apps with emulator, there is still full access to the screen of the mobile; however to get the distribution version certified by Ford the app has to ensure that the screen is locked for driver distraction reasons.
Our initial experiments with AppLink have been very interesting indeed and we have plans for further development within the project. Next week, we will post a couple of videos showing how all of this looked for real.
Update: Here we have a couple of videos showing this stuff in action.