[Hero, G2 Touch Android Development] Hacre:
FroydVillain 1.3/2.x roadmap

EDIT: Due to unforeseen issues rapidly accelerating the release of 1.3 (more framework changes), I'll edit this roadmap to reflect 1.4 as well as what we hope to accomplish depending on how many of the 1.3 promised features make it into the accelerated release. Thanks for your patience.

Now that FroydVillain 1.2.x is somewhat stable we can concentrate on the next releases.

First, any and all "WHENNNNNNNNNNN???????!!!!!111oneeleven" posts will be ignored. As usual, "when" = "when it's done".

Features/items in this roadmap are things you can definitely look forward to unless otherwise stated, ie, something happens that renders that feature impossible. Like an asteroid hitting my house, for example.

First, the preliminary work.

I promised the guys over at Cyanogenmod that my new build profile for the Hero (and other MSM7xxA based phones, so the Dream, Slide, G1, etc etc) will be tidied up and offered up in a pull request. I will be cleaning up my tree and submitting my changes before I begin work on the next release of FroydVillain. The main reason for this being, the closer the CM tree is to my tree, the less work involved in keeping the FroydVillain tree up to date with upstream fixes.

Right, so the changes.

Version 1.3.x:

Obviously it is customary to break some **** with each major revision just to give me an excuse to release another release after that broken release.

So for 1.3.0 I nominate, umm...nah I'll let you find out. A release post isn't complete without at least 20 posts asking if anyone is having xxxxx problem and a further 20 posts complaining about the said problem after I post that we're aware and we're very sorry and those responsible shall be flogged.

FroydVillain 1.3.x:

Further changes to the build base and source code to move Froyo-on-Hero further away from reliance upon Eclair libraries. We aim to be building a native libcamera.so in the same vein as the D/S guys are. This combined with already eliminating proprietary liblights makes it easier to...

Switch over to the Froyo prelink map. If you don't know what prelinking is, don't ask. Either don't worry about it or do some Googling. The upshot for you the end user should be better stability and maybe even some added performance improvements.

Along with the addition of the CPU profile to the CM base I'm hoping to get VFP support fixed in the kernel and in the dalvik source. VFP is your phone's ability to offload number crunching to a dedicated number crunch piece of hardware. The cpu the Hero has supports it, however support for VFP on ArmV6 architecture is a bit...well, pants. Accomplishing this should also give another measurable boost in dalvik performance since currently the only enhancement to dalvik, is the optimised binary, the source itself still trudges along with only armv5te support which again rather pants.

Giant /data partition. Thanks Maxisma and co. I'm not going to bring this in until we next need to do a wipe, ie, 1.3 since it resizes the mtd partitions. Coupled with old school apps2sd there should never be a single whine about space on /data ever again. Even dkelley could fit all of his dalvik cache data on it with his encyclopaedic collection of apps. Be aware this will be accompanied by an updated recovery.img so the different layout is supported. You have been warned.

Debugged Exchange support. I can't promise that this will appear in a 1.2.x update but I will get it in for 1.3. I don't use Exchange and so have to rely on others to help find the cause of the issue, debug it and test it. I can't believe after nearly 10 years dodging it, I'm back troubleshooting Exchange bollocks again.

Theme revival. Because Google were kind enough to provide no theming engine what so f**king ever (cheers lads) theming is a pain in the behind that involves hacking the framework. However because we now build from source rather than trying to crowbar bits in and out of a prebuilt HTC tree, it's significantly easier to produce themes from the newly built source tree. I'm working with Alex24 on a project to go with 1.3.x which will put Themes back into the OTA app and they'll be available at the same time as the new releases are. This also allows us to easily add more themes over time.

CMSettings/CMParts. After having a chat with the folks at Cyanogenmod they're more than happy for me to make the menu entry in settings feel more at home within FroydVillain instead of looking like a kicking and screaming rip off from the Cyanogenmod ROM itself. So those of you that have been hopping up and down for CMSettings functionality, it's coming.

Better GPS functionality/better radio functionality overall. For various reasons, changes made by Google, the fact we'll never have official "Froyo supporting" radios, bugs creep into the OS when it comes to using newer Google based apps that make use of the radio. We'll have some fixes for the slow GPS locking and the random reboot/crash when looking for a GPS signal. We're hoping we have mobile data+gps properly nailed down as well.

We're also going to look into different Gallery implementations. Gallery 3D is annoying as hell and the bugs with it are likely due to us relying on the Eclair GL libs. So no further ground is likely to be made until/if/when another MSM7xxA class phone gets Froyo which if any will likely be the Legend. That's a big if though. Imagine if you will, 50 metre tall letters I and F, draped in neon coating with a flashing, strobing sign above them announcing "THIS IS A BIG IF." But no whining if the best you get is the old 2D Gallery as I'm really struggling to find any decent Gallery implementation. Which is somewhat surprising. Perhaps we should offer a bounty for a new decent one.

Add further language support

That's all for 1.3.x for now I think. I'll update this as new things occur or as things appear to be impossible.

FroydVillain 2.x:

Kernel 2.6.34.

What? That's not enough? Wtf is wrong with you? Ok fine.

2.6.34 will provide official support for the newer Froyd features such as in built Tethering and no more annoying bull**** surrounding connecting a simple USB phone to a simple USB port on a simple Windows system. Apparently the Windows driver stack is easier to confuse than a 90 year old Alzheimers suffering dementia patient.

We'll also be looking to bring the Hero Froyo platform closer in line to the more complete Cyanogenmod D/S platform. There's really no reason why we shouldn't be able to especially once 2.6.34 is available since as far as the hardware is concerned the phones are practically identical.

More will be added to the 2.x branch as we discover it. Don't be surprised if in the course of working on 1.3.x some features get pushed back to the 2.x release due to practical limitations or it just making more sense.

Now is the time for feature requests from you the user. 1.2.x is now critical bugs only, I do not want to have to make you wipe/flash 1.2.x now until 1.3 hits so any fixes involving a framework rebuild won't appear until 2.x. 1.2.x is now considered feature complete in the scope of features we want to have supported. New features will appear in 1.3.x or 2.x depending on the work required to make them appear.

So the forum is now yours, dear users, to get those feature requests in. We'll endeavour to get as many implemented as we can. Any ridiculous or unobtainable goals will be identified as such as quickly as possible so people don't get their hopes up only for me to dash them like an abusive husband.