Stat Tracker

Saturday, June 8, 2013

My Salesforce Mobile Developer Challenge Entry 2013

I just entered my Developer Force 2013 Mobile Challenge entry. For this challenge I built a HTML5 Hybrid Application leveraging Salesforce Mobile SDK, Cordova (PhoneGap), NFC Plugin, and HTML5 Canvas for signature capture. Here is the demo video:


And here is the SourceCode: https://github.com/corycowgill/MobileFieldServiceApp

The general idea for the application is a mobile application that field engineers could use. The application uses NFC technology to scan a tagged device and display the relevant case information to the engineer. The general idea being that if you can use NFC tags on your products, it would allow the Field Service agent to simply touch his phone or table to the device they are servicing and see all the details automatically.

Here are some additional screenshots to show the simple UI using jQuery Mobile.





I also added HTML5 Canvas to do signature capture and upload as a attachment to the Case in SFDC.

There was so much more I wanted to do but just didn't have the time. Therefore I decided to focus my time implementing the NFC plugin and functionality. My current client work just didn't afford me the time I would have liked to dedicate to this personal project. For example I would have liked to add:

1. SmartStore for Offline Access. For example, when working at a client site in a basement or where signal strength is weak.

2. GPS and Geolocation. Basically for address directions / map and checkin.

3. Checkin / Checkout status pushes for Chatter.

4. Add backend Javascript Framework instead of inline HTML / JS that I used to rapidly build this project. I just didn't have the time to learn a new framework like Angular or Backbone.js. Next Time!

5. Additional Error Handling Logic

6. User Interface Updates & Design - Add a little flair.

I had a lot of fun creating this challenge. I may re-vist this just to complete those items above.


Tuesday, May 7, 2013

Salesforce Mobile Developer Challenge 2013!

The Salesforce Mobile Developer Challenge 2013 is live. I'm pretty excited to see the entries that folks come up with this year. You have until June 3 to finish your applications so you have a few weeks to get moving. There are a number of Mobile Packs that you can use to get started rapidly building applications.

I have started on my entry last weekend. Once I submit my application on June 3rd I'll post my GitHub Repo and the YouTube video on this entry so folks can see what I built and how.








Monday, March 18, 2013

Person Account & Contact Formula Fields

With the latest Spring 13 release of Salesforce.com Formula Fields were enabled for Person Accounts. For those who are unfamiliar, Person Accounts are the B2C (Business to Consumer) feature for managing accounts. It is often used in Financial Services implementations where a sales person may sell to both Institutions as well as individual investors. Person Accounts blend Accounts and Contacts objects in the Salesforce.com front end to appear as one record.

Under the hood Person Accounts are actually two distinct records, one Account and one Contact. The Account object has a field called "PersonContactId" which links the Account to the contact record. Therefore there is a link from the Account to the Contact record (Account.PersonContactId), and a link from the Contact record to the Account (Contact.AccountId). A number of fields from the Contact record are then made available on the Account object. Standard Fields from the Contact are available on the Account via the "Person" prefix. For example, Account.PersonMailingStreet or Account.PersonTitle bring up the values from the underlying Contact record. Custom fields on a Contact are brought up to the Account record with fields ending in __pc. For example, Account.ContactTotalWorth__pc for a field called "Contact Total Worth" on the contact record.

Previous to Spring 13 you could not use Person Account fields in a formula field. For example, on an Opportunity record you could not do a Formula Field like "Account.PersonMailingStreet" to bring the field onto the Opportunity record. Now you can do this for all the standard and custom fields with the exception of PersonContactID.

For some reason PersonContactID is not available in Formula Fields. This also applies to any Formula Fields on the Contact that may use the Contact ID.

So when creating Formula Fields for Person Accounts just remember that the Contact ID is currently not accessible.