Review of FireFly 2.9

This is my first review of a custom ROM for Android, though I donít believe that Iíll be making this a regular thing. I installed FireFly 2.9 on my Samsung Galaxy S Captivate because I wanted to have HSUPA (which both AT&T and Rogers disables in their official firmware), but at the same time I wanted a ROM that was inherently stable.


For a step-by-step guide to installing FireFly 2.9 on your Captivate, click here.

Last Updated: 17-Apr-2011

This is my first review of a custom ROM for Android, though I donít believe that Iíll be making this a regular thing. I installed FireFly 2.9 on my Samsung Galaxy S Captivate because I wanted to have HSUPA (which both AT&T and Rogers disables in their official firmware), but at the same time I wanted a ROM that was inherently stable.

FireFly 2.9 is based on the stock Rogers firmware for Android 2.2, which in part explains the stability and was one of the reasons I chose to go this route. Itís also designed exclusively for the Captivate, which was another reason I found myself attracted to it. Because it is meant for the Captivate however, you will likely not choose this ROM for any other model of phone, including the other variations of the Galaxy S.

If youíve never installed a custom ROM on your Captivate before, thereís really not much to it and Samsung phones are pretty hard to brick. That didnít stop me from feeling a certain degree of trepidation before I went ahead with it, and so I read and I re-read everything I could find on the process.

Basically it boils down to rooting your phone (if you havenít already) and running Titanium Backup to make a copy of all your existing apps and their settings. After that you flash the phone back to its stock 2.1 …clair state and then erased all of the data on the internal SD card. Once thatís done, you install Clockwork Recovery, and then use it to flash FireFly directly from your phone.

However, the purpose of this review is not to go into detail on how to install the ROM, but if thereís enough demand for it Iíll write a step-by-step guide explaining how I installed FireFly 2.9 on my Captivate, along with a few tips on what might go wrong and how to get around those issues.

So what is the big attraction to flashing a custom ROM? Besides the obvious geek factor, there are a number of practical reasons for doing this. In my case it was primarily to get HSUPA on my phone. The Captivate from both AT&T and Rogers is limited to just 350 kilobit upload speeds, which really sucks compared to what you can obtain with HSUPA. Iíd initially tried to deal with this by simply replacing the modem portion of my stock 2.2 ROM, and while that did indeed give me HSUPA, I could no longer make phone calls. That wasnít a viable solution.

Secondarily however, most custom ROMs for the Captivate also include baked-in solutions to a lag problem thatís endemic to the stock Captivate firmware. There are add-on solutions that work with the stock ROM (like One Click Lag Fix), but these solutions are less inherently safe than a baked-in solution.

Finally, custom ROMs usually provide a faster and smoother overall feel to the O/S. This is usually achieved by a variety of tweaks that increase the speed of writes to flash memory and by increasing the clock speed used for animations.

So how does FireFly 2.9 stack up? So far Iíve been very impressed with the improvements itís brought to my Captivate. As far as data transfer rates go, Iíve seen a huge improvement in upload speed (of course), but Iíve also seen a detectable improvement in ping times and download speeds.

When the Rogers network is lightly loaded (in the middle of the night) Iíve routinely seen download speeds of 6.2 megabits per second (using the app) and uploads speed as high as 3.9 kilobits per second. Ping times are often less than 100 milliseconds and Iíve sometimes seen latency as low as 60 milliseconds. Iíve confirmed those speeds and ping times by repeating the tests on the web page while tethering my laptop to the phone.

Firefly 2.9 uses the SpeedMod K13E kernel, which provides a variety of lag fix options. Iíve gone with the Ext4 approach due to its inherent stability and safety. It compares well in terms of speed to the One Click Lag Fix solution Iíd been using in the stock ROM. K13E sets the clock speed for animations to 500 Hz (not unusual for most custom kernels) and that noticeably increases the smoothness of those animations (especially list scrolling). My Captivate isnít quite up to the liquidy smoothness of the iPhone 4, but itís remarkably close now.

A number of O/S themes are available (which you can download directly from an app provided in FireFly), but I quite like the one that comes with the ROM. This particular theme is better suited to the Super AMOLED display of the Captivate, in that it uses black backgrounds extensively.

The theme includes modifications to the status bar at the top of the screen. The battery icon (which can be customized with countless alternatives) now shows the percentage of charge in the battery as a value, along with a small bar across the bottom that shows the relative charge remaining. The signal meter is now green and it has 4 bars instead 5. The nightshade (notification window) also gets a black, slightly opaque, look.

Ever since I got the Captivate Iíve changed most apps and optional displays to black, but that was never possible on many of the standard menus and displays with the stock Froyo theme. Of course themes are deeply personal choice, but I quite like the one that comes with the ROM.

The Recovery menu includes an option to select one of three color temperatures for the display. You can pick warm, cold, or normal. The Captivate has been criticized for having a rather bluish (or cold) look compared to other phones. This is not limitation of the AMOLED display, but rather a deliberate choice on the part of Samsung. With the optional color temperature setting you can give your Captivate the same white balance as LCD phones like the iPhone 4.

An optional feature provided by FireFly 2.9 is a 2-way call recorder thatís added directly to the call-in-progress screen. It takes the place of the Add Call button (which is no great loss, because that functionality is still provided on the menu). By touching the Record button during a call, both sides of the conversation are recorded.

While that's great and all, what I really wanted was the ability to install a call recorder program that recorded all of my calls automatically. The good news is that once you install the above-mentioned option it seems to overcome whatever limitation was built into the stock firmware and some of the call recorder programs actually work.

I tried numerous apps and I settled on a free one from the Android Market called AllCallRecorder. It's a fairly utilitarian implementation, but it records all my calls automatically and it does so in 3GP format (which sounds pretty good when you play them on your computer or listen through a headset or amplifier connected to the phone).

Five different unlock screens are provided, including the stock one that I personally despise. I find that the Rotary Unlock is by far the fastest and most responsive of them all. You can select any of the 5 unlockers directly from the Settings->Display menu.

A Gingerbread-style launcher is provided as standard, but you can also go with the stock TouchWiz if you just happen to like that. I personally prefer Launcher Pro, and so I installed that anyway.

Numerous variations on the dialer theme can be downloaded and installed on the phone without have to reboot. The dialer can be replaced by others if you don't happen to like the ones provided by FireFly, but so far I have no issue with it, and besides, I donít normally dial numbers manually anyway.

The power menu has been expanded to include options to reboot the O/S, startup in Recovery mode, or startup in Download mode. The latter two options are extremely handy, because you don't have to go through the trouble of holding various keys to start the phone into the correct menu.

Perhaps one of the nicest benefits of FireFly 2.9 (probably due mostly to SpeedMod K13E) is improved battery life. For example, I have a lot of background apps that consume battery power while I sleep overnight. With the stock Froyo firmware I would typically see a drop of 20% over an 8-hour night. With FireFly 2.9 I now see only a 9%-10% drop in battery capacity during that same period of time.

Working with the phone continuously also seems to yield much lower battery drain, especially when Iím using apps that donít do very much while Iím busy reading text (like the HowardForums apps, Gmail, Facebook, Twitter, etc). This is mostly a seat-of-the-pants kind of thing, but Iíve been quite pleased with battery life since installing the custom ROM.

As for stability, I havenít had it long enough to really comment, but over the last 3 days Iíve only seen one hard crash and I saw them from time to time on the stock Froyo ROM too. Otherwise FireFly 2.9 has been very well-behaved and about as stable as I could wish for.

Iím glad that I went to the trouble of flashing this ROM, because my phone now behaves the way the Captivate should have behaved all along. Itís faster, smoother, and provides greater levels of functionality (not the least of which is better transfer rates). So, if you have a Captivate, and you find yourself less than pleased with some of the aspects of its firmware, you should definitely consider a custom ROM like FireFly 2.9. There are plenty of custom ROM choices out there, and so don't presume that just because I like FireFly 2.9 that it's necessarily the best for you.