Create a contact form using webform module and webform conditional. Find out how to use different types of fields, setup recipients' emails and have dependent fields on the same page.
Here's a useful one you may not know about: field_get_items(). Basically, if you're trying to get field values off an entity, it can be fiddly - dealing with language, indices, etc. This function makes it much simpler.
The problem:
When clicking "add more values" to add another field to a cck multi-value field, and if you're using ckeditor, the existing multi-value fields will disappear.
I spoke at Drupal Camp Austin about developing mobile apps on top of Drupal. Most of the talk was about PhoneGap, but I also covered configuring the Services module to set up Drupal to serve content to mobile apps.