[HD2 Android Q&A, Help & Troubleshooting and Genera] ming of mongo:
Wow, people actually read this!

Maybe I should check back here more often.

I'm glad so many of you found my post helpful. It was a bit of a Guinness fueled rant... Anyway, I'll try to hit some of your questions. Just remember, I'm not on the dev team, and I'm a bit of an old burn-out. A guy who stopped working on engines at the Olds 403 isn't going to be much help chipping a Honda V-tech, but the four-stroke cycle hasn't changed any. :)

@4tune: I'm gonna bet that Nand memory itself is significantly faster than an SD card, and without the physical interface it probably doesn't suck as much juice. This matters whenever you move data in and out of non-volatile RAM. So moving to nand will speed up booting, and anything dealing with large amounts of data transfer, like the camera or music player.

But wait! There's more! Linux will quite happily use more memory than you actually have, and it does this by swapping out the RAM data that you haven't used for a while to disk, which in this case is either your sdcard or nand memory. When I use a RAM intensive app (or several of them) on my HD2, then go back to my launcher, it will stutter a bit if I immediately swipe to the next launcher page. My wife's Galaxy S shows little or none of this. I'm guessing that the Galaxy can swap memory to an from disk much faster because it uses internal nand. But while I'm working on the foreground app thats on my screen, there's no difference in speed.

So the answer is yes and no on the speed and battery usage. The difference in normal operating speed will depend on what you do with the device. If all you do is make phone calls, you probably won't notice much, but if you are watching videos while installing five apps and updating facebook every 30 seconds, it will be significant.

On the question of certain settings in winmo rearing their ugly heads in android (in things like sound and lightsensor); you will find that most of these functions live on chips other than the main processor. The HD2 linux kernel in it's early stages of development just left the settings on these off chips wherever winmo left them, sometimes because the developers hadn't got to it yet, and sometimes because they don't know the hardware in question. The XDA-Developers site was started precisely because HTC were such bastards about giving developers any info, making all this reverse engineering necessary. The irony is that now HTC phones are the most customizable phones in the world because of - not in spite of - their bastardlyness. Anyway, this will happen less and less over time, and when nand-booting builds are closer to being ready for prime time, it won't matter what Rom you start with, since the linux kernel will handle it all.

@jigners: The Task 29 thingy will flatten out your Nand memory nicely, but the linux kernels aren't touching Nand. Task 29 will often help with winmo problems, but that is mainly because winmo is just a buffer overflow with a marketing department.

What might be useful would be if some kind of add-on to Haret would do something like Task 29 does, only do it to the RAM before loading the kernel.

@dallasjim: Operating systems create a lot of data, and tend to leave it laying around all over the place. The longer they run, the more havoc they create. The early kernels were very twitchy about all the settings and possibly data in RAM that was left over from winmo. Remember how you used to have to start Haret as quick as you could or it would have all kinds of problems? The lite kernels were mainly helping by booting faster and not running unnecessary junk, so you could launch Haret before winmo had time to leave its socks and underware all over the floor and gum up the works. The better the linux kernels get, the less any of this matters.

The other thing that different roms might do (yes, I'm guessing again) is keep their important bits in different RAM locations. Linux is quite picky about how it boots. If the memory that it wants to start from is already occupied by essential winmo stuff, it will just refuse to play ball. The thing that seems to matter for compatibility with android, is the base stock rom that the cooked rom was based on. Different winmo kernels will put their crap in slightly different locations and make different settings changes.

I'm up past my bed time. See ya later.