Sunday, January 12, 2014

Clutter free Salesforce schema builder experience

I recently spent quite sometime on Schema builder. One thing I always desired was more real estate to visualise more objects and stuff. Simplest things I could do to achieve this were

  1. Take chrome in full screen mode,  ⌘-Shift-F on Mac and F11 on Windows/Linux
  2. Hide side bar after adding required objects to the canvas. 

Next, I don't need this 1-2" of following Salesforce header while visualising objects.

salesforce website header

As I could easily quit schema builder by hitting browser back button or Close button (see screenshot below):

Salesforce Schema builder close button





Being a developer I use chrome developer tools a lot, so next quick dirty hack I could always do is hide/kill this Salesforce header, by deleting it from DOM using Chrome developer tools. 

But its not really neat, and I always have to do it. Some better solution should be there... ?


Solution ?

Chrome extension is first thing that came to my mind, when thinking of solution. This could be due to the fact, that I am already enjoying a lot of chrome extensions, not only from popular apps like Evernote, but also from Salesforce community like Force.com Utility Belt,  Force.com LOGINS, etc.

Next started my favourite task i.e. is researching around chrome extensions api for creating this extension. It was surprisingly easier then I thought to write such a chrome extension. My key design goals were
  1. It shouldn't always show up as an icon next to chrome omnibox and occupy space.
  2. Extension shouldn't be trapping all the stuff around all pages, it should be loaded/fired by chrome only when I am on Schema builder page.
Here is what I came up with:



Web Store Download Link : If you like this extension, you can get it from here:
 https://chrome.google.com/webstore/detail/salesforce-schema-builder/mhmpcpfhhfdoeiejndcmogmnlomkfdkk

Thoughts ?

Chrome extensions are amazing, I have ideas and might crack something more on chrome soon. 
But I request all developers and specially admins to share your thoughts about other use cases which could be addressed by chrome extensions.