As part of my final year studying Computer Science at uni I'm required to take on a 400 hour project. I've been wanting to create a mobile app for a while now and given that CiviCRM is lacking such a feature I thought it would be a good idea to embark on developing one. Hopefully the end result will be good enough to incorporate into core! I've started a specification here: http://wiki.civicrm.org/confluence/display/CRM/CiviMobile+Specification I'm required to have the project finished by May 2012 which sounds like a long time but given that I'm working and studying full time 400 hours is a lot of weekends! I'm plan to iterate 2 development phases as detailed in the spec. The first will consist of some simple features contact search, event check-in, etc... The second stage will implement some more advanced features integrating with CiviPetition & Campaign, providing the ability to collect survey information and generate walk lists. If you have any comments or suggestions please do leave them either here or on the specification page. It's probably also worth mentioning that there are a couple of CiviMobile projects, one developed by Kurund the other by Xavier and Kyle. I'll be looking at both of these during the initial stages of the project as a starting block.
I have experimented to create the Andriod APP which talks with my Drupal website. You can have a loot at this http://www.impossible.co.in/blog/admin/my-first-android-application-talking-my-drupal-website
This currently uses the Services moudule and you can create your own module too which actually defines the services which can be used in the mobile app to fetch/Save the data.
You might look at DiOS, the Drupal iOS sdk. It may be useful in creating a mobile version of a Drupal CiviCRM site.