Monday, November 28, 2011

Supporting devices in recovery...

So I (Agrabren) commonly get asked why we're not "finishing up TWRP" and instead, are supporting more and more devices. So let me explain how this helps everyone. For starters, the TWRP team is not just one person. The core of the UI logic has been done for a while, but there is still a lot of little things that need to be tweaked and tested, all of which are happening every day. It's also very important that a recovery system be robust and stable. This isn't some run-of-the-mill app that you can re-launch every time it crashes. This is recovery. Too many times, a push to release before it's ready leads to bad software that doesn't do what it promises to deliver. In the case of recovery, this can be unusable backups, inability to flash custom ROMs, even hard-bricking a device. So there's no room for an "almost works" recovery. It needs to be tested and it needs to work flawlessly.

So why aren't we just focused on testing? Because a good portion of the design is towards robustness. The small number of devices we have (compared to the number of people intending to install TWRP 2 when it releases) means that we can't possibly verify every file system on every phone in every configuration that everyone has. That's not a reasonable exit criteria. So instead, we have to test as best we can with the limited devices we have. We pick out a few custom ROMs and the stock ROM, and we flash between them, we backup, we restore, we wipe, etc. But to help ensure robustness, we can spread our testing across multiple device types. Because the engine remains the same, it's being tested against different partition sizes, different nvram types, new ROMs, and more. This helps us ensure the experience you get on your (insert your supported device here) is as stable as we can make it. It's not just to "get on every device". It's to fully support the devices we run on, and feel confident that we're not going to leave you stuck in a tree.

(Please note: This does *not* mean we take any responsibility if we brick your device. Like every recovery and custom ROM out there, we take no responsibility for what happens with your device. What it *does* mean is that we care about it. This is more than a hobby to me, it's also my reputation as an android developer (and to some extent, a developer in general) that I'm putting out there. And I'm sure I'm not the only team member who feels this way. I just won't speak for anyone but myself. I take pride in what I do, and I take pride in what TeamWin has allowed me to be a part of. I have no interest in making any of the team look bad.)

No comments:

Post a Comment