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 Speedtest.net 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 Speedtest.net 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.