The Power of the Hub!

It was a cold and stormy night…. Nope, not the start of yet another horror story. In fact this story is the exact opposite. At 2 AM on a chilly Bangalore night, there I was typing responses into an online spreadsheet. And feeling pretty good about it. But let me start at the beginning…..

In the summer earlier this year, TJ Warfield put up a wish-list for an Event check-in tool for nonprofits on the Power of Us Hub (The Hub, as it is sometimes called, is an online community for Salesforce.org customers, certified partners and staff). Caroline Renard, who knew of our work in the mobile app space for nonprofits, brought us into the conversation. Over a lively discussion on the Hub involving multiple people, a detailed list of functionality came up. Looking at that list, it seemed to us as something we could deliver, given that we had so much of the Salesforce and mobile infrastructure already. So we took it upon ourselves to deliver an Event add-on to our V4S Kiosk product over the next couple of months. That started a hectic round of design, development and testing internally, running into September.

Come the end of September and it was Dreamforce time. And time for virtual conversations to become real. At the Amplify breakfast, I met  with TJ and Caroline and spoke about what we had done with the wish list for Events. It was truly exciting for all of us to see how a conversation in the Hub had turned into something concrete.

Back home after Dreamforce in mid-October, we connected across the world, our team in Bangalore with TJ in San Francisco and Caroline in Seattle. And we were back in the virtual world to review the Events add-on. TJ was very happy with what we showed and graciously offered to demo and test the add-on at the Salesforce.org Open Source Community Sprint, held in Portland, OR  (#SFDOsprint) in end-Oct.

We were of course thrilled with the idea, but we were also very aware of the many things that could go wrong. TJ had seen the app near-complete, but the last 10% takes 50% of project time, right? Our team in Bangalore worked pretty much round-the-clock to put together a demo org for the Sprinters to use. We made sure there was a reasonable amount of data, a clear set of instructions and other resources for the Sprinters and a shared Google spreadsheet to collect suggestions and feedback.

The Salesforce.org Community Sprints are amazing events. Participants discuss everything from best practices to general experience to solution requirements. Working in teams, participants go all the way to produce solutions with documentation, code and data models. And everything produced by the teams goes back into the Community, making the whole ecosystem better for everyone. The Portland Sprint had that same terrific energy and enthusiasm. With 130 people at the event covering the Nonprofit and Higher Education sectors, we had a large number of people trying out the Event add-on.

With our mobile app still in beta on the iTunes Store, we did some pretty hairy

Across the world on a mission for nonprofits
Working for a mission

back-and-forth using the iTunes TestFlight platform to get our friendly Sprinters in Portland on board. It was incredible seeing the Sprinters in Portland, our awake-at-midnight team in Bangalore and the Test flight platform (wherever that is hosted :)) all coming together for a good cause. Watching from across the world as multiple Sprinters installed V4S Kiosk via TestFlight was awe-inspiring, to say the least. And as suggestions and feedback came flying into the Feedback sheet from the Sprinters, it truly felt great to be typing in responses at 2 AM :).

Kudos to all the Sprinters who dedicated their own time to test and review the Events add-on, all for the cause of enriching the product range for Nonprofits. Thanks to these hard-working Sprinters, there’s now a terrific set of feedback and suggestions that we will add into the product. A product that nonprofits can use to raise money, manage volunteers and deliver education. Which goes to prove that “All for One and One for All’ is not just the Three Musketeers slogan but a way of life for a lot of people!

Integrating Salesforce addresses with Google Maps on your mobile phone

Have you ever futzed around trying to copy addresses from within Salesforce to Google Maps to figure out where you need to be next? It can be incredibly frustrating.

One of the great things about the Salesforce platform is that there are an infinite number of little features that can make life easier for users. Take for example, a little feature called the Compound Address data type and let’s see how you can use it to make life simpler and easier for your road warriors.

Compound fields group together multiple elements of individual data types, such as numbers or strings, to represent complex data types such as a location or an address. Compound fields are an abstraction that can simplify application code that handles the values, leading to more concise and understandable code. Compound fields are accessible as a single, structured field, or as individual component fields. The values contained within the compound field and the values in the individual fields map to the same underlying data in Salesforce.

Standard addresses – addresses built into standard Salesforce objects – are accessible in SOAP and REST APIs as an Address, a structured compound field that combines several address fields. Using API 30.0 and later, you can directly access the Address data type using both SOAP and REST APIs. Geolocation fields are also accessible as Location. Location is another compound field that combines latitude and longitude. You can only access these compound fields using the SOAP or REST APIs.  Also, they are read-only. If you want to edit the field values, use the individual field components.

Any record with an address in Salesforce can be displayed on Google Maps. So in terms of Standard objects, that’s Leads, Accounts, Contacts and Users.

Access the Address data type on a mobile app using SOAP or REST APIs.

Salesforce address on Google maps
Displaying address on Google Maps

Integrate that Address with Google Maps and voila! Suddenly your mobile users can use that address to open up directly in Google Maps from inside the mobile app that they are using. No need for copying and pasting addresses from Salesforce to Google Maps. Your road warriors more productive now. And much safer, without having to juggle between multiple applications on their mobile phones!

That’s exactly what we’ve done in the dftly Time Tracker mobile app. Field Service technicians can view the address of their next assignment within the Time Tracker app on their mobiles. Clicking on the red location icon, opens up the address on Google Maps or on Apple Maps. It’s really that simple!

 

 

 

 

Reward, recognize and retain your volunteers.

Volunteers are the lifeblood of most nonprofit organizations. Most of them dedicate their time to volunteer for a cause that they believe in. And that is rewarding in itself. For nonprofits, volunteers are priceless. They add value to your organization, bring new ideas and enthusiasm and connect your organization to the local community. The success of your volunteer program depends completely on your ability to retain and celebrate volunteers.

Recognize and reward volunteers
Recognize and reward volunteers

Volunteers not only need to feel valued, but really should be valued. They need to be respected and recognized in order for your volunteer program to function effectively. Knowing the financial benefit of the work that volunteers do, will justify the costs of volunteer celebrations and rewards.

Recognizing volunteers is one of the easiest things to do that has really high impact. But it often gets overlooked because of the difficulty of tracking what volunteers are actually doing. This happens even in the best organizations. When everyone is over-worked, it’s easy for things to slip between the cracks. That’s where volunteer time tracking can make a huge difference, ensuring that all volunteer time is tracked and transparent.

Volunteer Tracking and Rewards
Volunteer Tracking and Rewards

If your volunteers are tracking their time every time they come in, you have complete insight into who’s active and how much time they are spending with you. You can easily set up automatic milestones like 50 hours, 100 hours. When your volunteers reach those milestones, give them a small gift. Maybe a pin, a certificate, coupons for cookies, perhaps just a public mention of the milestone.  Nominate your volunteers to the President’s Volunteer Service Awards. Any of these will make your volunteers feel special. Knowing that someone else knows what they are doing makes it all worthwhile.

When volunteers track hours and that progress is visible to everyone, it makes a volunteer fell connected to the organization and to other volunteers. Post a volunteer leader-board in your newsletters, on your websites, at a central position in your organization. Kindle a little competitive spirit among your volunteers. Give your best volunteers a huge morale boost.

Do you know how your employees are spending their time

Add in costs for compensation, federal, state and local taxes and other benefits

How do you track employee time?
Employee time tracking

and I’m fairly certain that employee costs are the single biggest expense for most companies. Every hour that your employees spend working has a certain cost attached. Do you know how your employees are spending their time? Are you able to track what unproductive tasks are sucking time away from your employees?

A good time tracking tool that is simple and easy to use by everyone in your company will help you answer this question. After all, time is a finite quantity and you would really want to know where that time is being spent. While the underlying reason for time tracking for most companies is easier payroll or faster billing, a good time tracking solution can actually give you a lot more insights into your business. As a manager, if you could get a clear view into the actual use of time by your employees, you could do a lot more analysis.

  • Are your employees spending a lot more time on unproductive meetings,
    Analyze employee time
    Time Tracking reports

    administrative tasks rather than on revenue generation tasks like sales or customer service?

  • Can you identify opportunities to improve processes such that you can reduce costs and increase customer satisfaction?
  • Compare actual time spent on a project vs the initial time estimates that you made. Are your projects actually profitable?
  • Can you make your estimates more accurate? Can you identify scope creep and modifications to project scope?
  • How about increasing employee satisfaction by removing unnecessary tasks and steps?
  • Can you move resources from under-worked teams to overworked teams?

When you begin to track employee time at a granular level and have a base of actual data to analyze, you’ll definitely find areas that you can improve your processes and cut costs. While at the same time, improving customer and employee satisfaction.

Configuring dftly Time Tracker to your requirements.

Last week, we spoke about how powerful Salesforce’s configuration options are. It is configuration that allows Salesforce to fit into many different business situations.

With the dftly Time Tracker, we give you a layer of configuration above and beyond those provided by Salesforce. You get several configurable options to make the Time Tracker fit your business needs and requirements closely, without having to go through the time and expense of a “customized” solution.

The idea is to enable you to match dftly Time Tracker to your business process as closely as possible. And to do all this easily and quickly, without having to depend on busy programming staff. You can configure everything that you need with a series of drop downs, clicks and check boxes.

You can select the specific objects in Salesforce to which you want to track time

Select objects to track time to
Objects to which your org tracks time to

to. Let’s say you want your Sales team to track time to Opportunities and Tasks related to them rather than to Projects and Tasks. So now your Sales team would see Opportunities and Tasks as the two drop downs on their mobile phones.  You can do that by selecting Opportunities and Tasks as the two drop downs that your users see, when you configure the Time Tracker. You can also choose the specific fields from those two objects that will actually show up on your user’s mobile phones. If you want each user to see only those Opportunities that are assigned to him/her, you can set that up as a filter condition, when setting up that specific configuration.

Let’s say now, you want your Service Engineers to track time to Orders and Cases. You can set up another App Key that will allow you to set up a different set of drop-downs from what you set up for your Sales team. Again with the same level of granularity for Orders / Cases assigned to specific Service Engineers.

With Time Tracker, you get a whole set of options for configuring the product to your exact requirements:

  • You can choose what specific work types or Check-in Types
    Configure Time Tracker Check-in Types
    Configuration options for Time Check-in

    your mobile users can track time to. Let’s say you have construction teams and you want to track time when they Travel, Load/Unload Equipment, Lunch Breaks and Work, you can do that very easily. Now let’s say you are a healthcare business where your therapists travel to patient locations, you could choose to track time for Travel and Therapy.

  • For each Check-in Type, you can select whether your users need to take a photo at the beginning and end of each transaction.
  • You can set up specific instructions for your users at each step
  • You can set up whether GPS Location Tracking should be enabled at Start and Stop of each Check-in Type
  • You can set up whether your users need to add Notes at the Start and End of each Check-in type
  • You can configure the icon for each Check-in Type to be something that your users are familiar with
  • And you can even configure the colors for the icon to match your company colors.

All of these options go back to our original premise that configuration allows a business-focused user to personalize aspects of a system, without having to depend on programmers to do so.

Point and click Salesforce configuration

Salesforce is an extremely flexible and powerful platform that works for many different implementations. Its power comes from the degree of configuration that it provides, out-of-the-box.

Taking off from our previous post, configuration allows a user to personalize aspects of the system without having to depend on an experienced programmer. With customization, you need bespoke programming done by an experienced programmer.

With Salesforce, there’s a huge range of things that can be done with just configuration. Starting from adding a few simple custom fields to let’s say an Account or Contact object in Salesforce to configuring complex workflows to automate tasks to managing security and data access through profiles and roles – all of these are possible with just configuration. All with a point-and-click interface, without needing to know any programming. The key is for the user (generally the Salesforce Administrator) to understand the business processes of the organization and to have a clear understanding of objects and how they relate to each other. Configuration is a fast, intuitive and relatively simple way to tailor Salesforce to work exactly the way that your organization needs it to work.

The individual making the changes needs to be business-focused, not code-focused. With no dependence on understanding coding or dependence on syntax of a programming language, a person who understands the business is empowered to completely configure the powerful Salesforce platform to the organization’s exact requirements. And with the vast Salesforce ecosystem, you have an almost unlimited amount of tutorials, knowledge bases, forums, videos and documentation to help you in your configuration quest. Configuration is several orders of magnitude less problematic to deal with than customization. But you really need to understand what you are trying to configure and to understand the complexities of the platform, before you attempt making changes to the system. Fortunately, Salesforce gives you the additional comfort of a “sandbox” system where you can make all your configuration changes and test it out before deploying the changes to your production environment.

As an example, let’s consider Salesforce’s Process Builder.

Process Builder.

One of Salesforce’s most powerful tools is the Process Builder. The Process

Process Builder diagram
Process Builder diagram

Builder is a relatively easy-to-use, visual business process automation tool that can trigger a wide variety of automatic tasks or actions. Process Builder takes the work out of repetitive tasks by automating them and streamlining them. Process Builder has a simple user interface, but is powerful enough to send out emails or update fields or for activities to automatically occur based upon preset triggers. The vast majority of automatic tasks can be automated using this simple point-and-click mechanism.

So the crucial question to ask yourself as you start to setup Salesforce for your organization is how deeply you need to modify Salesforce to serve your specific requirements. Break your business process down into various options. See how much of that can be met with configuration. Only after you exhaust all avenues for configuration, should you even consider the possibility of customization.

Some Process Builder examples.

You could use process builder to send out automatic email to a manager when the value of an opportunity value is greater than a preset amount. You could set up an email alert to be sent to a service manager if a Case is not responded to in a specified time-frame. In using dftly Time Tracker, we have customers who set up an automated rule to pre-populate Account related information such as Address to custom fields on the dftly Projects object, when an Opportunity Stage changes to Closed Won.

The bottom line is that with all the configuration tools at your disposal with Salesforce, you really should be able to fit between 70 – 80% of your requirements with configuration. Consider customization only for the remainder of your requirements.

Next week, we’ll talk about how we build on top of the Salesforce configuration to add configurability to the dftly Time Tracker.

Configuration or Customization – what makes sense?

As a society we are increasingly using online or cloud-based software in everything from buying clothes to managing our bank accounts. As you look around for cloud software for your organization’s needs, you’re quite likely to hear the terms “configurable” and “customizable” being thrown around, sometimes interchangeably. It’s critical that we understand the difference between these two terms.

A configurable system is an out-of-the-box solution that allows a user to personalize some aspects of the system themselves, without having to depend on experienced programmers. Configurable software is generally flexible and scalable and can be shaped to meet an organization’s requirements. While the system comes with a default configuration that works out-of-the-box, it generally lets you tweak the system with simple drop-down menus and lists to more closely reflect your own business. Configurable software gives you the advantage of best practices from the industry and other organizations. But overall, may not fit your requirements exactly. Since you can do the configuration on your own, there is generally no additional fee that you need to pay.

Customizable software, on the other hand, requires bespoke programming, generally done by the software company’s technical team or by a partner. With customized software, you get software that fits your requirements exactly. But because you are getting it specifically developed for you, the software itself does not evolve with usage from multiple companies. Whenever you need changes, those changes need to be specifically made for you and therefore will be both time-consuming and expensive.

The best example of configuration vs. customization is that of clothes. You

Configuring a shirt
Configuring a shirt

could get a shirt custom stitched to your exact size OR you could buy a shirt at a store. The custom stitched shirt is the equivalent of customized software, whereas buying a ready-to-wear shirt in a store is the equivalent of configured software. You can “configure” the shirt in the store by choosing your specific collar size, sleeve length from the variations available in the store. The custom shirt is specifically tailored for each of your lengths and sizes, but takes longer to make and may not have all the bells and whistles that come with the factory-made shirt. In software terms, we would say that the “configured” shirt has all the best practices from the industry.

Coming back to software, configurable software allows for users to re-arrange key elements of the software to suit their own business requirements, without programming changes. While customized software that works exactly to your specifications is alluring, the overall cost and time involved is generally prohibitive.

Like with most things, the 80-20 rule holds true for software implementations too. Check to see if out-of-the-box solution fits 80% of your requirements. If it does, you should be able to get the remaining 20% of the functionality through configurations, eliminating customization completely.

This post is the first in a 3-part series on software configuration. Next week, we’ll talk about how configuration makes Salesforce so powerful that it has become the platform of choice for many different implementations. The following week, as an example, we’ll look at how configuration works with dftly Time Tracker.