Monday, March 12, 2012

Class Diagrams FTW

So it should come as no secret by now that I'm trying to do the design phase right the first time. I'm using UML as a tool to help me put my thoughts and plans onto paper, and eventually into source code. The biggest reason is so that I can learn how to express my software designs in UML. But also, it makes for an easier job coming up with all the unit test cases that run on the individual interfaces to ensure everything is written correctly and running smoothly.

So without further ado, I want to attach a snapshot of some of the class diagram that makes up the "Volume Manager". This is the block of Phoenix which is ultimately responsible for everything Phoenix does. If you want to read or write to any place on the device, this will be where the traffic gets routed.


It's not complete, but it's getting there.

Now, to answer some other questions:

1. Why am I working on another recovery? The #1 answer to this is that I wasn't done with recovery when TWRP 2 came out. There was so much more power available to us, but it's often overlooked. Google itself passes over recovery without as much as a cursory glance for end users. I think differently. I believe that new ROMs are a great part of the Android community, and the ability to streamline access and use is key to the development community. Numerous tools have been written to help with this, such as Titanium Backup, Rom Manager, Kernel Manager, etc... What all of these tools lack is a single, powerful recovery capable of delivering on the promises that we see the phone as capable of, but don't see available as product. I plan to deliver on that promise.

2. Is it an extension of (insert other recovery system here)? No. It's a write-up from scratch. And by scratch, I don't mean "From Google's Android Recovery". No, Phoenix is not based on *any* recovery, including Google. Would I like to see it shipped from Google as the standard recovery? Of course. And for the figure listed here (http://www.moneymind.sg/2008/04/how-much-does-google-employee-earn.html?m=1) and a little stock and relocation to Chicago, I'd be happy to give the entire design and code base to Google. I love NVIDIA, and I'm fairly loyal. I'm *not* $220,000/yr loyal. Let's be real. I've got a wife and kids I'd love to give the world to.

So if you have any other questions, feel free to ask.

1 comment: