Monday, April 24, 2017

Opinion: After Many Updates and Growing Pains, OxygenOS is Now a Class-Leading OEM ROM

OxygenOS has been OnePlus's default and primary ROM for almost two years now, first released for the OnePlus One as a flashable zip for users to break away from the increasingly-unsupported but excellent CyanogenMod S ROMs their phone originally shipped with.

This software offering took center-stage with the OnePlus 2 back in 2015, a year full of devices we mostly remember for their flaws rather than their virtues. The OnePlus 2 itself almost encompassed all of the issues many people had with 2015 flagships — its Snapdragon 810 held it back, it removed up-and-coming features like NFC for no good reason, and then offered me-too (or me-first) hardware that wasn't properly utilized, like the Type-C port devoid of USB 3.0 speeds or fast charging. OnePlus had a really good thing with their original "flagship killer", but they blew it with their sequel, the punchline being the comical label of "2016 flagship killer". The OnePlus 2 was an exercise in disappointing compromises, yet there was a short period of time through which I used that device exclusively despite having prettier, faster, and less-compromised smartphones within my reach. It was all thanks to OxygenOS, the one redeeming quality that allowed me to enjoy the OnePlus 2.

OxygenOS back then was a lot more bare-bones than it is now, with a slightly different design philosophy. Back at their originally unveiling ahead of the OnePlus 2's launch, we learned that OnePlus wanted to create a slim and fast experience, not unlike the CyanogenMod 11S ROM their first phone shipped with. The AMAs with the software team further revealed that they were emphasizing staying close to stock, but adding tactful features that could only add to the experience. They somewhat nailed it with their first attempt, and OxygenOS was indeed extremely close to Stock Android, with relatively-fast performance on the OnePlus 2 and some features that preemptively emulated future features from the then-upcoming Marshmallow, while borrowing some custom ROM favorites as well.


The Good

In a way, custom ROMs were part of Oxygen's DNA — by then, the OnePlus One already built a reputation among enthusiasts for being developer-friendly, and plenty of users loved the fact that they could get whatever feature or customization they wanted going on it. It was no surprise, then, that OxygenOS – a ROM that was also developed by some legacy custom ROM developers that OnePlus hired – would offer a similar feel; it really felt like a lightweight custom ROM in many ways, though with a higher degree of consumer-grade polish (granted, it still had a long way to go, as we'll detail below).

It was with the OnePlus 3 that OxygenOS really got to shine. No longer was the lightweight ROM overburdened by faulty silicon — now it packed a faster, more-efficient Snapdragon 820 flanked by a copious 6GB of RAM and zippy UFS 2.0 storage. The OnePlus 3's OxygenOS kept all of what made the original great, then further added to its feature set once more, in tactful and measured ways. I would go as far as saying that my initial impressions with OxygenOS on the OnePlus 3 beat those I've had with both any other OEM stock ROM, and even recent OxygenOS releases that haven't matched the surprise I found while originally reviewing the device. It was a breath of fresh air, and while we see a relatively larger number of OEMs offering Stock Android ROMs today, I think OnePlus nailed it there and then. Some Nougat features, speedy responsiveness, a proper dark theme to make use of the device's AMOLED panel, and an aesthetically-pleasing UI were all positives I loved from the get-go. Then OnePlus had to change some of that, momentarily.


The Ugly

The OnePlus 3's Community Builds adopted a new user interface that deviated from the Stock approach of the original OxygenOS, changing colors and generally making it less attractive with worse proportions and animations in system UI elements like the notification panel, recents menu and settings. This wasn't surprising when one considers that these changes were instrumental in the eventual merger of the OxygenOS and HydrogenOS frameworks.


The company figured out that a unified team working on a unified base with different application layers could help speed up updates, and address one of the more-criticized aspects of previous devices. The Community Builds, then, were growing pains that culminated in the (luckily short-lived) Marshmallow stock ROM for the OnePlus 3T. The concept of having community builds with various testing channels is brilliant and a great community engine, but at the time, said updates had disappointed me.

It felt like change for the sake of change, perhaps a petty compromise between Hydrogen and Oxygen

In my OnePlus 3T review, I noted I wasn't a big fan of this new approach to software. While it didn't deviate too much from the original OxygenOS, none of the changes felt clever or meaningful, and none improved upon the simplicity and effortlessness of the original package.

It felt like change for the sake of change, perhaps a petty compromise between HydrogenOS and OxygenOS, given both featured such disparate design philosophies. Enthusiast outcry and fan feedback ensued, and the company reversed the change with the Nougat update, which offers a Pixel-like blue for its default accent color and a more traditional user interface. It was at this point where OxygenOS not only redeemed itself, but also became my favorite flavor of Android– finally surpassing the Pixel XL's, which I held in the highest regard.


The Bad

OxygenOS has also had (and overcame) many hurdles and criticism. Some of its more pointless features stubbornly remain in there, such as the Shelf feature which was permissible on the OnePlus 2, as it was a promise of things to come, yet is still a not worthy contender today. There have been numerous conscious decisions and unconscious mistakes, though, that temporarily opaqued the better parts of the ROM. For example, upon the release of the OnePlus 3, OxygenOS was massively underutilizing the hardware of the device. I was one of the few that called this out and proposed a solution, and OnePlus was quick to act and react to the criticism by modifying its settings and allowing for more apps to remain in the background. Still, it made us all ponder, why would they not allow their 6GB smartphone to actually offer the capabilities they proudly advertised?

Another short-lived complaint was the exclusion of an sRGB mode to balance out the saturated default calibration of OnePlus' "Optic AMOLED" panel. The company set out to make its display stand out and went as far as giving it its own buzzword, yet it turned out to be extremely color inaccurate and saturated, and it even displayed some banding and contrast issues off the bat. AnandTech and independent reporters were quick to point this out, and OnePlus offered reviewers an OTA with a proposed fix which quickly trickled down to consumer builds. It was, once more, a quick fix, but it still begs the question: why would OnePlus advertise Optic AMOLED as a better viewing experience, when no metrics backed that up? Especially since the changes were mostly calibration, which wasn't well-received at launch (luckily, sRGB mode ended up being surprisingly color-accurate).

And that's not all. We also caught OnePlus cheating on benchmarks, through a code block that specifically targeted certain application packages by name, and then adjusted scaling behavior to minimize score variance. This was unacceptable and the company addressed it quickly enough, but at the same time, once more it makes us wonder: why would they? It's not like it introduced critical gains, it's not like the OnePlus 3 couldn't sustain class-leading performance without artificial cheating mechanisms. We suspect that it might have been a result of the merger between the two different software teams, but that wouldn't excuse the previously-mentioned decisions.

Nor would it excuse a plethora of decisions that raised our concerns over the phone's security and software integrity, with some of the problems we reported like IMEI leaking being wholly within their knowledge and control. None of this can be dismissed, even if it doesn't directly impact our forward-facing UX (the point of this article).

I do take solace in the fact that OnePlus has been addressing all of these issues, however, and listening to feedback from its forum-goers and enthusiasts from communities like XDA and reddit, as well as reviewers. We've actually influenced OxygenOS and prompted OnePlus to fix issues, remove non-sense or add or refine useful functionality. The company is clearly open to feedback, and while they have messed up their software support on previous devices, they seem to committed enough to the OnePlus 3 and OnePlus 3T. Which brings me to my next and final point.


One of OnePlus' Crown Jewels

It is actually really impressive, from a customer's perspective, to see OxygenOS evolve so much with such frequent updates and ongoing feature inclusions. It has seen near-constant improvement, though not always consistent. In this regard, OnePlus has redeemed itself from the atrocious support that its older devices received (and are still suffering). If ignoring the OnePlus X and OnePlus 2 was instrumental in achieving a better user experience on the OnePlus 3, then I am inclined to say it was a smart decision for the future of the company. Truth be told, OxygenOS has improved a lot and has adopted many, many new and useful features while cleaning up its mistakes and embracing a new personality through UI refinements. All of this wasn't without growing pains, and it's been a tumultuous ride at times, but when I look at the final package I can't help but recognize the software is near-perfect for the demographic I belong to, the niche I am part of (and you probably are too), and what I personally expect from my device.

I am not the kind of person that believes Stock Android is an intrinsic good and a positive aspect of whatever phone decides to feature it, either. In fact, I find myself liking OxygenOS, and even TouchWiz for that matter, now that they are further from Stock — it just needs to be done right. The short-lived community builds pre-Nougat hadn't done it well enough, just like Samsung's awkward and early half-baked adoption of Material Design hadn't done it right either. Now, both OxygenOS and TouchWiz have found their own identity and a matching UI that enables both to offer the features they need for the people they target. Not all OEM ROMs have been evolving equally in the past couple of years, and in my opinion, none have done it better than OxygenOS in the end, not even TouchWiz which I also believe has been getting a lot better.

It's not that it's close to Stock, but that it's close-enough in all the right places, and that it changes what could use a better solution. It's also not that it's just fast, but that it's as fast as I expect from this hardware. The features they added are ones I use frequently, such as scrolling screenshots and quick capture editing, and while they aren't unique (Samsung, in particular, has introduced much of this way before), they are implemented rather seamlessly at no expense to the user. There are still bits and pieces to address (I, for one, would like to see more customization) but considering that this ROM was a quick patch to a rough legal problem, devised just over two years ago, OnePlus has done a very good job with OxygenOS and it makes for an exceptional daily driver.


What do you think of Oxygen OS? I want to hear your opinion as well, so sound off below!



from xda-developers http://ift.tt/2oYKJTU
via IFTTT

No comments:

Post a Comment