Moto X Reviewby Brian Klug on August 26, 2013 1:30 PM EST
X8 Mobile Computing System
One of the most talked about things on the new set of Motorola phones is a computing architecture that Motorola is calling the X8 mobile computing system, with the 8 in X8 connoting 8 “cores”: 2 CPU cores (Krait 300 at 1.7 GHz), 4 GPU cores (Adreno 320 has 4 cores inside), 1 contextual awareness core, and 1 natural language core. I put core in quotes since core really should mean a unit cell that’s replicated n times rather than some arbitrary count of totally dissimilar and unrelated things. I don’t really know what a “core” is anymore, and it’s shocking to me that Motorola didn’t start counting DSP cores inside the SoC as cores while it was at it, after all there are 3 QDSP6V4 DSPs inside an 8960, two for the modem, one for apps. So really you could make the case it should be X11, but then that’s a window system and not a mobile computing system.
Anyhow Motorola was quick to clarify that X8 isn’t a custom SoC but rather a combination of silicon from other parties and its own software running on the two custom cores.
Ever inflating core count and more-is-better marketing seems to have been some of Motorola’s concern here with the messaging for Moto X. While making an end run around the dual-core MSM8960Pro SoC story of the Moto X with an “octacore” computing platform might dissuade mainstream audiences, the side effect is that core now means even less in the grand scheme of SoC marketing. We’ll talk about SoC and system performance later in that section but for now let’s talk about the two other which enable a few features that are unique to the Moto X. I should also add that this architecture and features are also common to the new Motorola Droids, which share the exact same hardware platform.
Active Display - Contextual
There are two main differentiators for the Moto X which aren’t a part of stock Android. The first of these is the contextual awareness feature which is a combination of sensor fusion from the sensors onboard the device, and a display feature called Active Display.
Active Display works as a notification delivery feature that sits on top of the Android platform, and displays notifications on the display in a lower power mode. AMOLED’s power consumption features (only pixels that are on are consuming power) lend itself natively to this mode as well.
Active display is on by default and manifests itself as a digital clock readout and lock symbol if you don’t have any notifications. Dragging down then unlocks the device like a lockscreen. If you do get a notification however, the app’s status bar icon will show inside the circle, and dragging up will give you a preview - release and the app that triggered it launches, drag to the side and it’ll be cleared.
Active Display essentially surfaces notifications that would normally appear in the status bar in this view that exists outside Android. It works with essentially any application that works this way, and there’s of course customization over which apps can deliver messages. If you have a PIN set you can of course hide notifications from showing altogether. In addition there’s a night mode enabled by default to prevent active display from lighting up during normal sleeping hours.
The sensor fusion part of active display is how and when it chooses to light up the display. Pull the phone out of your pant or suit pocket for example, and the active display interface lights up. Flip it from face down to face up, and it will light up. If you have a bag or purse, the same applies. Leave it face up on a table, and it will breathe with the status indicator periodically.
This stowage and contextual awareness detection comes through fusion of the accelerometer, gyro, and ambient light sensor data on a TI MSP430 controller which enables most of the active display features from what I can tell. These then are exposed as flat down, flat up, stowed, docked, and the camera activation (flick) gesture. The MSP430 also surfaces its own temperature sensor to the rest of Android, which is nifty (the Moto X has an accelerometer, gyro, pressure sensor, compass, and the MSP430’s temp sensor).
Active display is handy on the Moto X and does discreetly surface notifications well, it’s clear that this feature is something users already want since people are building custom lock screens and lock screen widgets that do a similar thing.
Touchless Control - NLP
Moto X includes another custom feature called touchless control, which enables always-on voice recognition activation on the Moto X. It really boils down to Google Now with a specialized voice activated power-on feature. Say “OK Google Now” with the phone in any state, even screen off (standby with screen off, powered on with screen on, just not fully turned off) and it’ll activate and give you a voice prompt. From here the interface is just Google Now, which we’ve talked about a lot and works as a voice-driven virtual assistant. I’m a huge fan of Google Now and Google’s ASR product as a whole, which works surprisingly well on every Android device I’ve encountered.
What’s unique again about the Moto X is just that you can power on the device and activate this feature without having to touch the phone thanks to an always-on listening feature. The big challenge in mobile is always how you enable features like this without killing battery, or in the case of MSM8960Pro, which doesn’t have Qualcomm’s voice activation feature (that’s coming with MSM8974 Snapdragon 800 and WCD9320 audio codec that has the always listening component) how to do it without keeping the application processor awake all the time.
Touchless control requires an initial setup process to train itself to your voice, though it’s more of a matter of it tuning to your cadence of saying “OK Google Now” rather than person-specific voice lock. There’s a menu in the settings pane titled touchless control which enables access to the training features. You need to be in a pretty quiet room to do training, the first time I ran it I was in a silent hotel room with the A/C turned off, and had to go into the bathroom and close the door before it was quiet enough. Say “OK Google Now” three times and you’re good to use the feature. There are options for disabling the call while locked functionality and a confirmation feature.
The activate on voice feature works, but as all things voice, it’s contingent on the scenario being just right for it to work well. Having three microphones to do ambient noise cancelation is a big deal, and the voice activation part works in surprisingly loud locales – I’ve tried it in a number of louder bars, restaurants, and a ton of airports to a good level of success, or at my desk with music playing. Other times voice activation doesn’t work even if you’re in a quiet room if the Moto X is just too far away. However just because the “OK Google Now” phrase was recognized doesn’t ultimately mean that the Google Now ASR part of the feature will be able to hear anything more that you say. Motorola seems to know this as the screen will give cues like “it was hard to hear you” or “you’ll have to speak louder” after passing the activation step.
As for accuracy, it’s pretty good but not perfect. You have to get the “OK Google Now” cadence just right or it won’t activate, which means sometimes saying it a few times. You have to also be close by, Moto X isn’t going to turn on when you’re across a big room, for example. In addition I’ve noticed that for some reason there are some odd false positives. One time sitting at my desk listening to ambient music with no lyrics I saw the Moto X turn on like I had said the phrase which shall not be uttered, another time at a restaurant with the Moto X out face up on a table and discussion not involving the phrase either. I also placed one voice call inadvertently from Moto X while it was in my pocket, I’m not sure how, but I’ve since turned off the call while locked feature.
While active display is a feature I thoroughly enjoy and would miss on another device, I can’t honestly see myself using touchless control that much on the Moto X. As with most voice activated features I would rather just use my hands and get perfect accuracy than potentially spend more time doing the same task just because I’m lazy. I don’t use Siri (it’s turned off on my iPhone) and passively use Google Now just for the cards – Moto X won’t change that. If you’re going to use the voice activation feature, the Moto X is probably within arm’s reach anyways.
Anyhow I spent some time tracking down what is responsible for the voice activation feature as well, and it turns out there’s a TI C55x family DSP onboard the Moto X, probably one similar to this. It’s easy to see the MSP430 references without much digging, the C55x references are referenced in an aov_adspd (activate on voice, dsp daemon?) application, and then inside the two aonvr1,2 firmware files that are loaded presumably onto the C55x at boot. The C55x runs this lower power (sub 1 mW) voice recognition service and wakes up the AP when it hears it, I believe it also does noise rejection.
Motorola was a diehard TI SoC user up until their SoC business imploded with OMAP5, so to see TI on the BOM with the two major differentiating features isn’t that much of a stretch or surprise for me. I guess TI still lives on in the smartphone space, at least for a little while longer with these features and some other contract jobs as a PMIC supplier.