Last week, I wrote a piece about how notification LEDs on mobile devices were a dead art form. That editorial generated a lot of interesting discussion, and a recurring theme in the comments was the suggestion that I download a third-party app to better control my Android LED experience. Most mentioned of all was Light Flow, by Rage Consulting Limited. So I decided to give it a whirl.

A few points before we check the app out: I was only able to test the app on one Android device, a Verizon Galaxy Nexus running a stock build of ICS 4.0.2. Your experience may, and almost certainly will, differ, depending on your phone maker and Android version. Also, I focused primarily on the app’s ability to control the phone’s LED; recurring audio notifications aren’t useful to me and weren’t the reason I downloaded the app.

Due to this narrow focus, this isn’t a full review; I won’t be proving a numeric score for Light Flow. But if you own an Android phone and are interested in seeing what the app’s about, dive in!

Installation

When you first install Light Flow, it presents you with a ton of warnings related to its permissions. In fact, Rage Consulting Limited wisely addresses this right up front with a kind of pre-warning: Light Flow advises that the app needs permissions to capture data such as credit card information. But “we do not capture anything other than the notifications needed to make the app work,” the dialog says.

Answering yes to that dialog does indeed deliver a host of repetitive warnings from Android’s watchdogs. It’s unfortunate that such permissions are required to make Light Flow run, because even with the “pre-warning,” I feel that many paranoid or uninformed consumers would disregard the app’s positive reviews in the Play Store, and cancel Light Flow’s installation out of fear that the app would compromise their security somehow.

Grandma’s worst nightmare.

Usage

Once the app was snugly nestled in my Galaxy Nexus’ internals, and I’d enabled its required accessibility settings, I dug in to customize it – and found a positively vast ocean of options before me.

Seriously, it’s incredible. The granularity of control Light Flow permits is unparalleled. You can specify blink rates, choose from a stock catalog of LED colors – you can even build your own hues. You can set time-out periods. You can tell the app not to flash the LED when the phone is on charge. You can force the LED to stay lit indefinitely for any event. There are custom settings for many, many third-party apps- there’s even a list of apps which are supported, but which you haven’t installed on your device.

Of course, all those options and toggles demand a pretty advanced user interface to make them useful, and this is where Light Flow stumbles a bit. The UI is very “old Android,” featuring long, scrolling list after list which the user must drill down through to use the app to its full potential. They’ve tried to make this easier via the addition of hints as subtitles within those lists, but the phrasing is often confusing. Categories which could easily be grouped into one menu item are spread across several. For example, “Light duration,” “LED flash rate,” and “Custom LED Flash Rate” could all be consolidated into one settings window, but they’re not. Some menu items even have lists describing what each term means.

In short, the app gives you a lot of control, but you need a user’s manual to figure out how to take advantage of it. To their credit, Rage Consulting has provided quite a robust Help section including FAQs and links to support on their site, but they wouldn’t need such excellent tools if their app were a bit more user-friendly.

Bugs

While I was elated to find such fine control and such a well-thought-out catalog of options, it wasn’t long before I started running into unexpected behavior. This really isn’t the app’s fault -I’ll go into that at the end- but Light Flow’s performance was so inconsistent that I ultimately decided I wouldn’t be leaving it installed once I completed this article.

To begin with, notifications tended to “fight” one another. If more than one notification arrived -say, a text message and a Facebook comment- the separate colors would cycle at their own pace, irrespective of the other. This means that sometimes I’d get a green-then-blue flash pattern, other times green-green-blue, others blue-blue-green, and still other times the lights would flash one atop the other, giving me a bizarre muddled seafoam hue. If a persistent notification is selected, such as an unblinking, solid red light for “no coverage” situations, other notifications which arrive will override this, rendering the red light just another flasher in the cycle.

Clearing notifications was an exercise in futility; often, the light would continue blinking even after I’d woken the phone, cleared the notifications, and put it back to sleep. As I write this, my LED continues to blink white right here next to me, valiantly informing me of an email I dismissed more than ten minutes ago.

I got it; thanks.

Some of this is expected app behavior, documented in the copious release notes. For example, swiping away notifications in the drop-down tray seems to keep the light flashing, while hitting the “X” or “Clear All” button doesn’t. But some of it is just plain bugginess –not due to the fault of the app builder, but thanks to our old friend, Android fragmentation.

Android’s Never-Ending Problem

In their app description in the Google Play Store, Rage Consulting Limited clearly and responsibly spells out every single one of the issues I encountered, and then some. Here’s a snippet:

“Not all phones support all colors Some phones can only light up the notification while the screen is off Some phones cannot have their notification light always on Some phones cannot have their notification blink and it will always be on Note that it will take over control of your notifications and you will therefore only get notifications for categories that the app allows.”

That’s just a portion; the developer seems to have cataloged and investigated every user complaint, and acted accordingly. No one who buys this app and runs into unexpected behavior can claim that he didn’t have enough information; it’s all there in black and white. It’s truly a commendable show of transparency.

So the problem isn’t with the developer: it’s with Android. And it’s the same problem we’ve been talking about for years. Some hardware manufacturers make phones that only include two-color LEDs, and still other hardware only includes a white lamp, or none at all. No one would expect an LED-focused app to be worth anything on those devices. But my Galaxy Nexus is (supposed to be) a stock, Google-endorsed flagship phone. I have all the hardware necessary; I should be able to use Light Flow to its fullest extent. But I can’t. My experience with the app is completely different than it would be if I were using an HTC or Motorola device, and it’s still lacking.

Wrap Up

The point bears repeating: this lackluster performance isn’t the developer’s fault. It’s a byproduct of the reality of Android. And sadly, it’s a problem that will probably only get worse going forward. Though ICS and the trend toward lighter-weight skins will probably do much to unify the Android experience on the software side, hardware will become an even more important focus for manufacturers looking to stand out. That means more variations in design, not less, and that will likely include more fiddling with the LED. Sadly, the people paying the price of that fragmentation will be the users of apps like Light Flow.

That said, if you own a device which is well-supported, or if you’ll deal with the limitations in exchange for the awesome feature set, this app is a great one to have. Rage Consulting sensibly offers a Lite version alongside the paid one in the Google Play app market; I’d advise any prospective buyer to give that version a whirl before dropping the $1.99 on the full version.

Do you have experience with Light Flow on your Android device? Drop us a line in the comments!