mobile site question here's my plan to build a site w a mobile site:

1)  develop all my core modules with robust api's.
2)  build a pair of ui modules for each above module.  These ui modules are just ui's for the api's of the above module.  There will be two ui modules for each above module: one for the normal site and one for the mobile site.
3)  use a device detection library and if the client is a mobile device, then use the mobile ui/theme.

example:

I'll build a 'friends' module with an api that allows for adding friends, deleting friends, etc...  This module has no ui.  Then I'll build a normal site ui module and a mobile site ui module that will all for controlled interaction w the ui.

what do you guys think?  Anyone have a better way?
Drupal already has a UI layer in the theme. There are modules which will allow you to switch the theme depending on the device (have a look at mobile_theme), so you can have different themes for different devices. This way your modules should only send data to the theme layer which then acts appropriately for the device viewing. 

However with the increasing sophistication of mobile devices it is possible to create a site which has the same markup but adapts to the device using clever css and jquery.