[ROM][5.1.1][CM] FlexOS (May 22th 2015 nightly build)
FlexOS – another custom ROM to join the crowded CM based ROM’s. But will it b(L)end?
1. Smoothness and performance? Check!
Let’s immediately start off with one of the most important things we evaluate on our first hours after flashing a new ROM: smoothness and performance. FlexOS is another wolf on the pack of CM open source code based ROM and anybody that tried the latest CM12.1 knows that smoothness and snappiness are two things those nightly builds achieve. Being based on a smooth and stable source code does not automatically makes the custom version just as smooth but it didn’t come as surprise that FlexOS is, indeed, very smooth. Every animation and every transition is done without any visible lag. Even on heavy multitasking between apps like Youtube, Chrome, writing emails, office apps and throwing gaming to the mixture there is no noticeable lag on any animation. Of course, the good specs of the Oneplus One plays an important part in this but I did flash ROM’s where I could see some drop in frames on heavy usage. Not on FlexOS so rest assure that it will get the job done, no matter what you throw at it (as long as the hardware can withstand those tasks).
But be aware that what I observe (and as the vast majority observed with FlexOS) could not be the same for you as the GAPPS package that you use or even the process of flashing can play an important role on final performance. But the vast majority of FlexOS users don’t have any performance issues so, statistically speaking, there is a high chance that you won’t encounter any problem regarding smoothness.
I’m very reluctant talking about benchmarks as from my experience they don’t always correlate with my daily usage. For example, some phones with Mediatek chips can achieve high scores on benchmarks but on daily usage you can observe high frame drops across the entire system. Nonetheless, it’s at least relevant to mention the scores Oneplus One can achieve on FlexOS. On Antutu it scores around 46000 and on Geekbench 3 it scores around 1ooo and 31oo on single-core and multi-core respectively.
The version tested was a nightly build (2015-05-22) based on android 5.1.1, running everything stock out of the box. No Xposed and no custom kernel, everything as the developers and Flex community released this version. Speaking of that, they have a very good community behind Flex (can be found on Google+ FlexOS) , always willing to help out struggling flashaholics and use the community feedback for future builds. That for me is always a very BIG plus that I gladly take. Keep those coming!
2. What about our precious juice?
Right after overall performance comes the second biggest asset we always look for on “freshly” flashed ROM and that is battery life. Do a quick search on forums and you will find users asking “what’s the better ROM for battery life?” or “what can I do to improve my battery performance?”. They put battery life on top of any other ROM feature and that’s perfectly understandable, I mean, what’s good about having outstanding performance if our machine can’t even last a full day? My evaluation of FlexOS was based on pure stock ROM, no custom kernel and no custom tweaking like undervolting. Besides, why would I want a high-end CPU to have it limited but that’s my take on this subject.
Normally, my day is spent with WiFi and 4G constantly on with a lot of constant sync on the background. On my daily commute my data connection keeps bouncing between 4G, 3G and H+ since I don’t get full 4G coverage from where I live. And we know the negative impact on battery when the signal is not stable. On my phone I tend not to game much (occasionally Limbo and Monument Valley) and mostly is spent web browsing, social media, media consumption (mainly music) and occasional photography. I use almost every Google apps (call me crazy, I know!), “juice hungry” Facebook and Messenger, Hangouts, etc and to keep those wakelocks in check I use Wakelock Detector to identify who’s draining my battery and Servicely to block them. Furthermore, I have the “Adaptive brightness” and “LiveDisplay” on, as well as Double-tap to wake/sleep and accidental wake-up. Both “Automatic outdoor mode” and “Enhance color” turned off.
My average SOT was between 4.30h and 5h on a day and half between charges. Sure, it doesn’t sound much but keep in mind that 4G and WiFi were always on. Based on my experience on other ROM’s this is what I normally get.
And keep that in mind that SOT is only a mere evaluator on battery performance since, for example, when I was travelling I putted my phone on “Airplane Mode” and watch a 2.30h movie and taking some (CLICHE ALERT) cloud photographies, managing to drain only 35% battery achieving 3h SOT. Most people care too much about SOT where it can be very different from user to user based on their normal usage.
With this in mind and judging on my daily usage, FlexOS battery performance is marginally above average with other CM based ROM’s that I have been trying lately. Remember that you can achieve better performance (or worse for that matter) if you use your device differently or if you use a different kernel and tweak it to suit your usage.
This screenshot was from my third day on FlexOS and I didn’t manage to have other daily usage stats due to some random reboots during the day that would reset the BetterBatteryStats. But what I can say is that I observed more or less those stats during the other days, sometimes more sometimes less but very consistently.
3. Customizations, customizations everywhere… Wait, where exactly?
Flashing a custom ROM we always look for that “custom” part, where and what we can change to make it look unique and to make it truly ours. In FlexOS we have the obvious but straight to the point “FlexControl”
In here you can find the main customisations on this ROM like “Animation Control” and “App circle bar” (the one that I used the most). Sure, most of this “controls” can already be found on CM12.1 source code but in here you have them compiled under this menu. Furthermore, with so many ROM’s having the same features and many merging each other codes to their own it is very difficult to say which developer(s) started which feature but we are not here to discuss that. For the purpose of this review we will treat those customisations as “FlexOS features”.
You can change the color of the clock, add a small date next to it, you can see network traffic and add a battery bar changing their color as well. Just be careful as you may end with a rainbow status bar, unless that’s your thing and in that case the sky is the limit (the blue color that is).
I didn’t change any system animations, as I’m good with the basic Lollipop ones, but you can change them like “ListView” or “Toast” animations. Moreover, you can add customised gestures to launch specific apps or specific actions under the “Gesture anywhere”. Similar to “App circle bar”, FlexOS gives you the ability to change the trigger position, height and width of that feature so you can launch one feature from the right and other from the left or even both from the same side but in different positions. The “App circle bar” was the feature that I ended up using more since it allowed me to quickly jump between my favourite applications on the go, almost like multitasking.
Moreover, FlexOS comes with OmniSwitch out of the box. I used this tool for my multitasking on previous android flavors but on Lollipop I never used it, it still lacks the lollipop material design and it seems very outdated. But it is way more powerful multitasking tool than the stock Lollipop recent panel but with FlexOS giving me the “App circle bar” I didn’t find any reason to use OmniSwitch.
What I think about the FlexOS is that, for me, it hits the perfect spot in the customizations department: not so many but not so little. On my personal taste it gives me just the right amount of control. I ran Resurrection Remix and Blisspop a few weeks back and the amount of customizations on them were endless, I spent so much time on customizing that I experience many UI crashes specially on Blisspop (you can check our Blisspop review) that I needed to cut down some features to have a stable experience. Moreover, being a CM based ROM you have access to the CM theme engine which gives you a lot of flexibility customizing different aspects of the UI.
But it all comes down to your personal taste on how customisable you want a ROM to be. But rest assure that FlexOS gives you plenty of control on no expense of smoothness or stability.
4. “Squashable” bugs. Bend them!
Like I said before, this ROM is smooth and stable enough to be a daily driver, for me at least but I’m sure that it will for most of you “flashaholics”. But this is still a nightly build so there are bugs here and there, easily fixed since the community behind FlexOS is very efficient targeting them for the developers. The bug where the settings crashed whenever I tried to check the system for updates or the strange reboots that I get exactly when I didn’t get cell coverage for a longer period of time. This could be purely coincidental but two of those reboots were exactly on longer no coverage periods of time.
The only but that did bother me was the “Automatic outdoor mode” that even if I had that turned off, brightness and saturation were always automatically increased under very bright sunlight. Being on a very sunny place and loving to take photos I did not like that feature kicking in when using the camera viewfinder just to see the whites completely blown out and other colors washed out. And there was only one way to turn that off that is by deactivate “LiveDisplay” and “Adaptive brightness”.
But those bugs didn’t ruined my overall experience and my daily productive usage but they are there. But the community is very proactive so most of the bugs will be gone in no time.
5. Flexing my final thoughts
Overall, I was quite happy with FlexOS with its stability and customizations, without battery life taking a huge hit. Most of CM based ROM’s faced some issues on their latest versions since the CM code they were merging during the time period of 17 of May to 24 of May had some serious bugs in it (you can check the CM12.1 nigthlies thread on the OnePlus forum and you will find exactly what I am talking about). But I was quite surprise to not experience any of those issues on FlexOS while having good battery life, something that CM12.1 users could not claim.
The customizations are enough to fill your “customizablity meter” with just the perfect amount, FlexOs will keep up with your daily moderate to heavy usage and the overall snappiness and stability won’t be an obstacle on the “Flagship Killer” multitasking capabilities.
On my final thought, this ROM can be summed up to one word: balanced. It hits the perfect balance on every aspect of it, from customisations to performance. I would settle for the equilibrated FlexOS and for a flashaholic mind like mine I think that says plenty.
XDA Thread: http://forum.xda-developers.com/oneplus-one/development/rom-flexos-bacon-t3087245