And there we have it! The barebone skeleton of what could become a fabulous gizmo that takes all the different CRMs and provides consistent, drupal-like objects and interfaces for them.
One of the main ideas behind this module was to bring some consistency to how CRMs and drupal interact. Nothing is set in stone yet, but we picked a set of fieldnames that will remain consistent in drupal regardless of what cRM you are using.
The extension modules then provide the information necessary to translate the default fieldnames (eg. "first_name") to the field name that the particular CRM uses (ie. "FirstName", for Salesforce.)
What this will enable us to do is to provide a consistent data model for all Contact-related modules, regardless of the actual software providing the backend CRM data management.
Examples:
Users
By providing a consistent array of contact information in the user object, theming users or forms or using the data for other modules becomes easier, and compatible for the future, if the website decides to switch CRMs at some point.
$user->crmapi['contact'] => Array
(
[uid] => 1
[crm_contact_id] => 102 //This is actually a string, for any CRMs that might employ string IDs
[first_name] => Jonathan
[last_name] => Pugh
[middle_name] => David
);Forms
By providing a standard form for contact information, we give module developers a quick and easy function for adding contact information to any form. Think volunteers, donations, email list signups, etc.
$form = crmapi_contact_form();
$form['volunteer_roles'] = array(
'#type' => 'select',
'#title' => 'Choose which role you would like to volunteer for."
);
return drupal_get_form($form);Please feel free to download and review the code. We haven't tested it beyond a standard 5.1 drupal and CiviCRM 1.7.9379. As neclimdul said, its not pretty, but we're off to a good start!
http://dev.trellon.org/jpugh/crmapi/crmapi.tar.gz
Lets start some conversations around ideas anyone has in the comments.

Comments
Still Anticipating
Hey,
I saw a demo of this at DrupalCamp Toronto and it's quite encouraging. I appreciate that a pre-alpha was cranked out especially for it.
Is there any news regarding its progression in the past month?
I am getting a good amount of pressure from the organization I work with to hook Drupal up with their CRM, and I'm hoping to hear more encouraging news about this API in the near future!
I really wish I was handy with PHP, otherwise I would totally contribute something more than the possibility for module sponsorship.
Hoping to hear back soon!
Thanks,
Tyler