Wednesday, August 3, 2016

SFDC: First Impressions

I spent some time familiarising myself with SFDC, and I present to you a summary of my initial thoughts after a week on SFDC from the perspective of a developer who has never used SFDC before.

General:
SFDC objects can have a "Master-Detail" relationship or a "lookup" relationship. This is not an object-oriented relation, but more like a relational database relation.

SFDC allows you to create custom views for the created instances, and can be assigned to specific users. This can be done in four ways:
  1. Customising list of instances visible under a tab (after clicking on the tab, the "View" picklist on the top)
  2. The detailed information available when we click on a specific instance (modify using "Edit Layout" link). Within layouts there is an option to add specific related information for mobile devices by utilising "Mobile Cards" (applicable to Salesforce1 only)
  3. The mini page layout that comes up when you hover over a link (go to layout editor as in point 2, and click "Mini Page Layout")
  4. Creating specific compact layouts for mobile devices (option available in the object). Please note that compact layouts also determine which fields appear when a feed item is created

Things I thought were really useful:
  1. The "Schema Builder" can be extremely helpful as the org becomes increasingly complicated, and should be a good place to start when analysing  a new org (especially when documentation. is thin)
  2. Multiple class instances can be created by uploading a CSV file. Therefore custom objects can be reverse engineered to seamlessly migrate excel data to SFDC. (Set up >> Import Custom Objects).
  3. Chatter puts a good spin on collaboration and alerting users about changes to objects. Users can also comment and share files. I think this would be much more productive than emails, and would provide a clearer audit trail if things go wrong. To enable mobile notifications: "Setup >> Salesforce 1 Setup >> Notification Option", and select "Include full content in push notifications"


Things I thought can be made better:
  1. The tutorial says that the layouts for custom views can be further customised for individual users for desktop, tablet, or mobile. This is not strictly true as views are simply assigned to users based on the anticipated use (e.g. if we expect a user to use mobiles, we create a specific mobile view for him and assign it to him).There is no "smart" view allocation which may allow SFDC to store and consider two different views for desktop/laptops and mobile devices. The application can detect the browser and select the view accordingly. This is something that I have done in the past for my web applications, and I think it may be a handy feature to have.

The double-edged swords:
  1. The system is very flexible and can be used in a zillion ways. However, this means that it can grow organically to become a complete mess/ nightmare to manage. This is expected as SFDC the product becomes less important than SFDC the platform. For the organization using SFDC it simply means tighter controls and documentation along with a clear understanding of the purpose of using SFDC. The flexibility means that you can use it to do a lot of things, though it may not always be the most efficient or economical way of doing it. 
  2. I gather that SFDC is increasingly getting more complex, and would need more effort to integrate into a system. This means ultimately implementing it is going to become as expensive as SAP or any other complex ERP system. Not sure how this will play out. However it also means that it offers a great deal of flexibility in meeting business needs
I would use SFDC for
  1. Managing marketing and sales, including their traditional strengths of CRM, sales management, and service centres. Its flexibility means that the system can be modified to suit the exact needs of the system. 

I would NOT use SFDC for
  1. Making application that need very fast, real-time response
Will update this article as my understanding gets better.