When we first reported on the iMpulse controller, I was excited. A super-portable Bluetooth controller that strives to capture the near-perfect control scheme of the Super NES and only adds a few ounces to my pocket? Sign me up! And that's exactly what I did, almost a year ago.
Now, eleven months later and six months after the controller was supposed to ship, I've got it in my hands. And it is a bitter, bitter disappointment. Not because of any lack in hardware capability, but because the software is so wretchedly poor that getting anything except an emulator app to work with the iMpulse is an exercise in head-banging frustration. A huge chunk of the controller's selling points are just plain non-functional, and those parts that do work require so much tedious, time-consuming setup that I'm tempted to chuck it straight in the garbage and kick myself every time I'm tempted to back another Kickstarter project.
The iMpulse controller is a bad product and you shouldn't buy it. Allow me to count the reasons why.
The iMpulse itself looks like a slightly oversized version of the wireless car lock that dangles from your keychain. It's a black slab of plastic that's 74x35x11 millimeters, not including the plastic sleeve/stand - small enough to go on your keys or in your pocket without adding an unreasonable amount of bulk. It's essentially a Mini Me-sized copy of the Super Nintendo controller: D-pad on the left, four cardinal action buttons on the right. The shoulder buttons have been moved to the back of the device, but they're still within easy reach of your index fingers. There are no start or select buttons, but the triangular button on the front is for Bluetooth pairing. A tiny, single-note speaker hangs out on the back, forming the dot in "impulsecontroller.com."
I'll say this much for iMpulse: there's some thoughtful and skilled engineering on display in the hardware design. While it would be almost impossible for a controller this tiny to be as comfortable as a full-sized gamepad, it's a lot more usable than you'd think. Moving the shoulder buttons to the back was a smart move, as trying to hold it like a conventional controller (or a Game Boy Advance) would result in a claw-like grip that would be almost instantly uncomfortable. Instead, your thumbs and forefingers rest in roughly the same spots on opposite sides, holding the gadget comfortably while you press buttons.
The sleeve serves to both protect your controller and prop up a phone on a table or desk. It works well enough for the latter: slide the edge of your device into the groove and you've got a low-tech stand, assuming that you don't use a case and your phone is as thin or thinner than the iPhone 4. But the small piece of plastic wasn't up to the challenge of holding even my relatively small RAZR M in portrait mode without tipping over, and forget about tablets. The sleeve even fails at protection: I started to notice unsightly scratched grooves on the iMpulse housing after sliding the sleeve off just a few times, something that I'm sure will worsen over time.
The package also includes a tiny strap for attaching to your keys and a standard MicroUSB cord for charging. One last thing: it's made in the USA, which is proudly emblazoned on the back of the device.
Apps And Software
iMpulse has released two apps on Google Play: iMpulsify for setting up the controller itself, and Find My Impulse for the much-touted keyfinder capability. They are both embarrassingly bad examples of design and function, or lack thereof.
iMpulsify is a series of static screens masquerading as an interface. The primary screen is an overly complex and jumbled explanation of how to apply the various settings and modes to the device. Normally I don't let a poor UI get me down, especially for something that doesn't actually need it most of the time, but iMpulsify reminds me of the terrible computer DVD player programs from 2001. It's also fullscreen and landscape-only, which is a real downer when you're trying to connect a Bluetooth device. Oh, and the Android app uses drawings of an iPhone to illustrate how you connect. Way to go the extra mile, guys.
Are you kidding me?
Once you connect iMpulse via the standard Bluetooth menu (which doesn't actually need the app), you can use iMpulsify to change modes, check function, and find games that "work" with the controller. Four basic modes are supported: universal (Bluetooth keyboard), media controller (A2DP Bluetooth mode), iOS controller, and Apple TV controller. Obviously only two of those are going to appeal to Android Police readers.
But here's the problem with the app, and really the main problem with iMpulsify itself: the device uses a Bluetooth keyboard setting for software instead of a generic game controller setup. Those A/W/V/M markings on the buttons aren't just for easy orientation, they're the actual key mappings. Connect the iMpulse to your phone, and what you've got is a tiny keyboard with four arrow keys, A, W, V, M, U, and N keys. Open up any text field and you can actually type, assuming that all you want to type is "WAVUMN."
The problem is that there are zero games that default to this configuration for actual play. With the iMpulse reading as a keyboard instead of a gamepad, you will be hard-pressed to find anything - anything at all - that works with iMpulse out of the box. I'll explore this more in the game section of this review.
The media/presentation mode is the only part of iMpulse that worked flawlessly. When in this mode you can use the D-pad or back buttons to control your media volume, and use the W, A, and M keys for back, pause/play, and forward, respectively. It works in any music or video app. It's nice. If this thing was called the "iMpulse music and video remote," it might have fared a lot better.
On to the second app: Find My Impulse. It's a single screen that you tap to trigger an alarm on the controller. No buttons, no instructions, just tap it and the phone will find your iMpulse via Bluetooth, whether it's connected or not, and make it sing out.
Or not. Because it doesn't work. At all. I tried a dozen times on two separate devices and got nothing. The iMpulse did beep once... when I reconnected about eight hours later. I don't know if that was the alarm or not. I've got no frame of reference for what the alarm sounds like, because it doesn't work.
Let's get the good part out of the way first: iMpulse functions as advertised with all the emulators I tested, including Gameboid and its various cousins and the excellent DraStric Nintendo DS emulator. Connect the controller, dive into the settings of the emulator app, map the keys, and you're off - you don't even need the iMpulsify app (which is honestly kind of a blessing). Of course this is damning the hardware with faint praise: Android emulator developers are used to users who play games on anything and everything. I'm pretty sure you could get a Bluetooth headset to play Mario if you tinkered with it long enough.
I could easily recommend iMpulse to someone who spends a lot of time playing emulated games on Android. But only if they never played anything else. Because iMpulse doesn't work with any other games. The keys that are bound to A, W, V, M, and U aren't compatible with anything out of the box - not even the games that are linked in the iMpulsify app, many of which don't even use controls that are analogous to buttons.
It's impossible to overstate the failure here: iMpulsify doesn't work with 99% of Android games. The gadget apparently ignores the HID controller standard in favor of pretending to be a keyboard. That means that even games that include specific support for external controllers won't work. You can't play Grand Theft Auto. You can't play Crazy Taxi. You can't even play Skiing Fred. Some games respond to the directional pad, but only the directional pad. Which is better than nothing, but it still leaves Sonic the Hedgehog in big trouble if he ever wants to do anything complex, like jump.
"The Y button isn't doing anything. Whelp, guess I'll just walk around Liberty City and try to kill people by slowly invading their personal space."
Why Black Powder Media would choose to make a controller this way is baffling. I managed to find a couple of games that supported the iMpulse when it was in iOS mode (mostly from OrangePixel), but if the creators had the presence of mind to use the go-to standard for iOS controllers, why in blue blazes did they switch to a keyboard input for Android?
I have a hard time believing that they tested it for anything more than emulation, despite the long list of games posted on the Kickstarter page. Black Powder Media has a mulligan, however: they recommend the $3 GameKeyboard app as a go-between for the iMpulse and touchscreen (read: non-emulated) games. This app was designed to enable Bluetooth keyboards and other input devices to control touchscreen games. By dint of much effort, not to mention root privileges, it is technically possible to manually configure iMpulse to work with most games.
But this is not an acceptable solution. For one thing, it requires a $3 purchase from a third party that has no duty to support iMpulse users. What happens to iMpulse if the developer simply decides to stop updating, which they're more than free to do? For another, it requires a ridiculous amount of setup and customization of the GameKeyboard app to get everything working with the controller - so much so that I was tempted to just chuck it and deal with the on-screen controls. And for yet another, it requires root to get everything working at an acceptable level, which is not OK for a product that's awaiting a retail release. And all this is before you realize that you'll need a separate profile for every game, and you'll have to switch back to a standard virtual keyboard every time you finish playing. It's an incredibly tedious, frustrating process.
Consider the following: the iMpulse controller Kickstarter campaign began in September of last year. It was originally set for delivery in February. Disregarding the tales of difficulty and setbacks in development (because frankly I'm tired of hearing them from Kickstarter creators), Black Powder Media had eleven months to get the software right. Would it be unreasonable to expect them to develop their own key mapping app for Android which doesn't rely on a third party? Or perhaps considering the generally poor quality of the iMpulsify app and the fact that the project earned nearly three times its monetary goal, couldn't we expect them to pay someone else to make the app for them?
The iMpulse controller has some good hardware and genuinely thoughtful design. It would have been very easy for a controller this tiny to feel uncomfortable or cheap, and it is neither. There's a lot of potential in the physical device (issues with the plastic sleeve notwithstanding) and a definite niche for a pocket-friendly gamepad, which is no doubt why the project was so well-funded and highly anticipated.
But as a finished piece of hardware, the iMpulse falls at nearly every single hurdle, at least for Android users. The horrible decision to use the keyboard standard instead of a controller HID setup means that it only works as a media remote, an emulation gamepad, and with a very, very slim collection of games that support controllers intended for iOS devices. I can't express how disappointed I am. iMpulse has caused me to grow cold on the whole idea of Kickstarter, along with the Wallee M, Star Command, and all the other projects that over promise and under deliver far too late.
It's possible that a firmware update could address some of the issues listed above, and better apps or game developer support might improve things. But I'm not going to hold my breath. Black Powder Media is taking pre-orders for the non-backer versions of the iMpulse controller starting at $25. I would advise anyone except dedicated emulator users to avoid it at any price.
Update: Black Powder Media left a comment on this review to state that they plan to introduce Android HID controls (you know, the thing I spent about a thousand words up there harping on) in a firmware update. I applaud this dedication to post-sale service and I look forward to trying it out. Based on the initial delivery estimate and actual shipping date for iMpulse, I'm going to tentatively pencil that in for February of next year.