MK Partners Archive for June, 2009

Welcome our new Summer Intern

Join me in saying “Welcome!” to our new summer intern, Alex Corre. Alex is currently a student at the University of California, Berkeley (Go Bears!) and is active in the nonprofit community. For the next few months Alex will be learning the ropes about salesforce.com, Google Apps, and everything it takes to make a nonprofit operate like a fine-tuned machine. He will be regularly posting from the beginner’s perspective on the blog. Welcome, Alex!

Parachute right down to your donor’s front lawn

Salesforce and Google have joined forces again to help out Salesforce’s world of nonprofit users.  Google Earth is now integrated into Salesforce and available for use for all licensed nonprofit users.  The application takes all the cool features of Google Earth and combines it with the meaningful data in Salesforce to give the user a bird’s eye view of where all their donors are located.

There are many practical uses for such a tool in the nonprofit world.  Much of organizations’ donations come from donors in specific geographical regions, usually those close to the organization.  With Google Earth, organizations can pull the list of their donors and see exactly where they are located in relation to themselves, other donors, or the organization’s cause (if the cause is based on a community or location of some sort).  This can prove very useful when looking to solicit donations for different causes.  Based on the user’s specifications, there is a Google Earth tab in Salesforce that will automatically create records based on other object records with the coordinates of the corresponding location.  Google Earth can then use these coordinates to map out one location or many locations, depending on the type of view you choose.

The workflow to create the records with the coordinates can be assigned to any object, so you can create a list of companies/organization, contacts, and opportunities.  This allows for organizations to also use this tool to map volunteers.  This will help out when they need volunteers to help out at specific locations outside the organization’s office.  The organization can quickly pull up a list of view of likely volunteers who live within a set radius from the event location.  To make it just a little more fun, users can use pins as the indicator on a map, or can get more creative with custom pictures, logos, or some basic information that appears as a hover field.

Check out a demo of Google Earth in Salesforce for more info:

http://www.youtube.com/watch?v=uCnzbHygORQ

Vote for our Dreamforce ‘09 Ideas

This is a shameless plug for our ideas for sessions for Dreamforce ‘09.

We appreciate your vote:

http://dreamforce.ideas.salesforce.com/people/mkaufmanmkpartners/articles

Increase Your Productivity with Google Apps

In our current economic climate, it’s critical to assess your internal business processes from time to time, and evaluate how to reduce costs while still increasing productivity and efficiency.  In addition to deploying CRM solutions like salesforce.com to accomplish this feat, many companies big and small have begun using Google Apps for their productivity and messaging needs.  Google Apps enables employees to stay connected through messaging apps like Google Calendar and Gmail, which includes voice, video, and IM capabilities.  It also increases productivity and facilitates the sharing of company information through collaboration apps like Google Docs, Google Video, and Google Sites.  Check out the Google Apps site for more information on the rich set of features included with Google Apps.

At $50 per user for a year, Google’s Premier Edition for businesses offers an affordable solution to organizations of all sizes.  Furthermore, its web-based platform eliminates the need for businesses to spend exorbitantly on hardware, software, and ongoing maintenance.  As part of their longtime partnership, Google and salesforce.com have developed Salesforce for Google Apps, integrating the two applications and allowing you to access Gmail, Google Calendar, Google Talk, and Google Docs all from within Salesforce.  For all of these reasons, many larger corporations have begun adopting Google Apps internally.  At MK Partners, we use it in conjunction with salesforce.com quite extensively, enabling us to stay connected all the time and share key information with each other easily.

For more information on implementing Google Apps within your organization and syncing it with salesforce.com, contact us at sales@mkpartners.com.

Force.com IDE update

This weekend I updated to the latest version of the Force.com IDE, 16.0.0.200906151227 which was released last week. The upgrade process is simple, as always. This release now supports Eclipse 3.4, which based on my non-scientific tests seems to handle memory much better!

More info can be found at developer.force.com.

Salesforce.com – A Solution for Revolutionary Figures Young, Old, and Neil Young

As a salesforce.com user, I continue to be impressed by the ability of salesforce.com to consistently reinvent itself and evolve. As the seasons turn, so do the capabilities of my salesforce.com license. Salesforce.com has been able to go from being a product used by sales people to store data and build relationships, to an integrated solution for users regardless of their industry, title, or business needs. Perhaps nothing highlights salesforce.com’s reputation as a revolutionary leader in the industry than when revolutionary figures in other industries endorse your product. When legendary musician Neil Young stepped on stage at Dreamforce, salesforce.com’s annual user’s conference, I knew salesforce.com had once again cemented its place as an industry leader.

Neil Young, who has always been on the cutting edge of music, attended Dreamforce to share that he is now on the cutting edge of technology. Dedicated to rivitalizing the automobile as a vehicle  that is not only an effective means of transportation, but environmentally friendly and cost-efficient, Neil Young discussed how he is using salesforce.com to create a community that will continue to push his idea for transforming the automobile.

Using the force.com platform, Neil Young is using salesforce.com ideas to generate feedback and new thoughts on his Linc Volt  car. By leveraging salesforce.com’s technology, Neil Young is striving to build a grassroots movement around something as traditionally American as apple pie and baseball, the car.

If you are interested in learning more about how Neil Young is using salesforce.com to change the automobile, check out his key note address at Dreamforce at the links below.

Neil Young at Dreamforce Part 1

Neil Young at Dreamforce Part 2

Neil Young at Dreamforce Part 3

The Power of Information

What do you value in a workplace environment?  Is it having a fun, social atmosphere with plenty of “water-cooler” chatter and communal after-work happy hours?  Is it an office with a view and catered lunches?  Or how about company-sponsored parties and outings?  There’s no doubt that my post-college graduation self would’ve been thrilled at the prospect.  I even held a job in corporate America after college offering similar perks, and while I enjoyed them, I still remember feeling that something was missing.

Now, with the post-collegiate haze far behind me and having firmly settled into the working world, I finally know what was missing.  I’ve come to learn that what truly matters most are the opportunities a workplace provides — to grow both personally and professionally, to help build a winning and successful business through collaborative ideas and execution, and to see and feel your daily impact on that success.  It starts with giving your employees the power of the company’s information at their fingertips and the ability to express and contribute their ideas freely.

With salesforce.com, all of this and more is possible.  Not only can you access the company’s vital information at your fingertips (as long as you’ve been granted the access, of course), but you can use salesforce.com’s Ideas functionality as a forum for submitting new ideas for products, services, or even just general internal process improvements.  We use salesforce.com in that manner within our own organization, to view and access key performance indicators and share ideas about new products for the company, among other things.  Starbucks has even opened this up to their customers quite successfully through their “My Starbucks Idea” campaign using salesforce.com, allowing anyone with an online account to submit new ideas, vote or comment on existing ones, and see all ideas in action.  This has helped them launch successful new promotions like their Starbucks Gold Card, which offers member benefits and savings.

They say that a company’s greatest asset is its employees.  Now give them the information and the freedom to express their ideas, and the sky’s the limit.

No More Leaky Radiators

On a recent trip to the East coast, I enjoyed a healthy dose of humanity while troubleshooting a home-repair issue.  We’d assembled an able-bodied team of my sister, brother-in-law, and me to fix a noisy, leaky radiator in my nephew’s room.  After numerous attempts to fix the problem ourselves and with building management, we turned to the web.  Much to our delight, there were not only ample resources out in the cyber community, but actual fix-it warriors who made it their mission to help us solve our problem quickly.  Within minutes of posting our issue, people from all over responded with suggestions on how to resolve it.  It was enlightening, and even inspiring, to get such an overwhelming response.

In today’s swiftly advancing technological world, more and more people are turning to the web for advice on everyday problems, from a leaky radiator to a computer error.  With the growing appeal and popularity of social networking sites like Twitter and Facebook, people have increasingly begun to use these sites as forums for discussing issues, rather than calling customer support lines for answers. Salesforce.com’s Service Cloud, which launched in January, enables users to find and manage customer service conversations in the cloud through blogs, forums, search engines, and social networking sites, and assemble that data in a knowledge base that can be used by customer service agents.  Furthermore, salesforce.com added a Twitter integration to the Service Cloud earlier this year, which allows you to search for relevant “tweets” on a particular topic, track responses, and respond through the company’s Twitter account, all within salesforce.com.  As someone who was recently enlightened by my fellow philanthropists on the web, I, for one, am very excited about the Service Cloud.  And here’s to no more leaky radiators too.

For more information on MK Partners and how we’re solving our clients’ business problems through salesforce.com, find us on Twitter and Facebook.

Composite Application Case Study

The following is a fictitious case study that addresses the need to synchronize data between Salesforce and an external system in near real-time. This case study is intended for Apex developers and managers who would like to understand the potential of the Force.com platform.

Business need:

Custom software producer (Company X) manages very large data sets for their clients (TB+) and wants to tap into the growing Salesforce market with a new AppExchange offering that ties Salesforce data with theirs. Contact data must be synced between their cloud and the Force.com cloud in near real-time. After initial synchronization, changes in Salesforce need to be reflected in their cloud for each client that purchases their product.

Solution:

An AppExchange application is developed to satisfy the business needs. Initial data export from SF involves using the Force.com API but this case study focuses on synchronizing the data once the export has been completed. Ongoing synchronization from Force.com involves database triggers and asynchronous callout methods. A trigger fires on Contact after insert and after update. Trigger instantiates an Apex class (less governor limits than within trigger code) that records data for future synchronization. A separate update class uses a web service or HTTP Post (RESTful) callout, whichever makes more sense for Company X.

I know what you’re all thinking: “That’s IMPOSSIBLE! Even with the reduced governor limits of an Apex class versus an Apex trigger, Salesforce absolutely forbids callouts from anywhere if the initial entry point was a trigger.” Good thinking! This used to be true. However, now you can use the @Future Apex annotation to declare asynchronous callouts that fire when resources are available. You can expose a web service to receive the results when the data is finished processing at Company X.

A few considerations about the @Future keyword:

  • You can have no more than 10 @Future calls per Apex invocation.
  • There is a limit of 200 @Future calls per Salesforce license per 24 hours.
  • @Future parameters must be primitive dataypes, arrays of primitive datatypes, or collections of primitive datatypes.
  • Methods with the future annotation cannot take sObjects or objects as arguments.
  • Methods with the future annotation cannot be used in Visualforce controllers in either getMethodName or setMethodName methods, nor in the constructor.

Considering the limitations of functions leveraging the asynchronous @Future keyword, one possible method to accomplish the goals of this case study is to store all update data that needs to transfer over the web to Company X’s cloud and read it from the Salesforce database in the @Future function. This eliminates the need to pass in sObjects or other complex data to the function. When the insert or update trigger fires the appropriate data is written to the “update” table. Then either a user initiated synchronization can transfer the new/changed records (via Visualforce page button, for example) or a timed based process can fire – such as Company X calling in via a web service and telling the AppExchange program to wake up and send the latest changes. The @Future function might look something like this:

HTTP Callout

This function can be called from a trigger that was fired from a Contact insert/update since the execution happens in the @Future and the parameters passed in are primitive data types.

Salesforce.com Summer Release is Here

Whether you are a long-time salesforce.com user or a neophyte, you probably know salesforce.com is committed to frequently updating its product based on user’s feedback. As we kick off the summer with bbqs, sunshine, and the beach, we also welcome the Summer Release of salesforce.com! As a salesforce.com user, you’ll automatically be upgraded to this release by salesforce.com at no charge.

This release brings a variety of additions to the service cloud. We’ve listed highlights of the summer release below, but we encourage you to check this salesforce.com summer release page for more information.

Summer Release 09 Highlights

  • Chart Analytics 2.0
  • Automated Campaigns
  • List Views for Sales Teams
  • Cases in Salesforce to Salesforce
  • Advanced Case Workflow
  • Advanced Customer Portal User Management
  • Workflow Visualizer
  • Visual Force Support Within Dashboards and Help
  • Advanced Application Distribution