With all the different OS versions I was wondering how it is possible to build one version of your app that can run on 2.2 but still use 3.0 or even 3.1 features when running on those platforms. Here is a great article that explains how it is done.
http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/