Thanks for sharing.
I'm sure other people are thinking the same things so I'll try to explain where we are.
We're stalled a bit waiting on things that are outside our control right now.
Kernel source code that is essential to solving many of the problems is not available to us from Samsung, and so we're doing what we can without having any documentation of the hardware or source code that actually works with our hardware that is not from Froyo. Regardless of what some idiots who show up now and then say, porting over drivers from the mess that the Froyo kernel drivers are, over to the clean world of Gingerbread from Nexus S is not trivial - especially not when you're twiddling bits that you have no idea what they do to hardware because you lack documentation and are trying to support multiple models of phone while even Samsung seems to segregate their kernel trees by model. Also, many of the drivers were in binary form even on Froyo, and we cannot use that in Gingerbread for the simple reason that binary modules from one kernel do not work in a newer revision of the kernel if enough changes happen between revisions(and enough has changed between linux 2.6.32 on Froyo and linux 2.6.35 on Gingerbread).
Second, comparing SGS to the other manufacturer's phones doesn't really make sense given that this is the first time an SGS has run CyanogenMod while the other phones have a path already because they've been made to work much earlier with previous versions. Samsung also did things very differently in SGS from Nexus S, let alone from say HTC, and this is an issue that has not been addressed in the CyanogenMod sources and so we have had to make changes that we are waiting on the CyanogenMod team to approve before we can merge with mainline.
It is best to think of the SGS phones are an outlier in the Android world - it is almost as if Samsung was really building it to run another OS and then switched at the last minute to Android. When they switched, they hacked stuff in so that they did not follow the Android model for how the kernel and Android talk to each other. Instead they put in their own custom hacks that are not portable across phones, and break many of the clean interfaces that Android is based on. This is why Samsung Apps from their Gingerbread release will *still* not work on CyanogenMod because CyanogenMod is a clean AOSP build that uses the same code base for all phones, only the underlying hardware interfaces are different. The Nexus S is not a Samsung phone internally in that it has been re-implemented to follow Android guidelines and therefore it was trivial to have CyanogenMod working on it (trivial compared to SGS anyway). We wish we could take more of the drivers from Nexus S given that the hardware is similar, but there are critical pieces that are different and those are exactly the parts that we haven't been able to fix completely.
Hope that clears things up. We're waiting on:
1. Samsung source for Gingerbread for the SGS phones.
2. CyanogenMod team approvals for our submissions for merge to mainline. We have a few critical ones that are pending, after that the merge should be much easier (we hope).
I am working on headset issues for Vibrant, and will be doing some investigation on battery issues after that. The compass is being worked on, and so is the camera. We just haven't had anything to commit, but it isn't for lack of trying (though sometimes it is just that real life constraints give us less time as well).
As far as complaining, or talking about donations that some people do - neither of those things motivate us. I don't ask for donations (except for people to sign up as organ donors, but that isn't directly for me obviously), and anyway, donations are just that - donations. We aren't doing this for the donations, and donating does not give anyone any extra support than not donating. We're doing this because it is a challenge, and is fun, and because we want our own phones to work better. Donations are a nice thank you, but a straight thank you is fine too and means as much. What is appreciated more is taking over some of the support on these threads to give us time to concentrate on coding.
Last I'm saying on this . . .