I’ll be candid: there is a lot to understand when it comes to field service management. We feel that the best way to explain key topics is to give our ServiceMax experts in product management a whiteboard and hit record. This first video features Colby Lavin, Director of Product Management talking about mobile synchronization—how mobile apps work while offline by syncing up with the online server.
Did you know 73% of Americans feel panicked if they misplace their smartphone? Now think about a field service technician or engineer stuck without internet connectivity. He is constantly on the road and expected to not only represent the company, but also deliver exceptional service. And sync for the needs of field service is a harder problem than you might expect for software developers—which is why we have spent over five years building our Smart Sync engine for optimal offline performance. Watch this Maxpert whiteboard session to learn more.
Hi field service pros. Welcome to our Maxpert field service series. My name’s Colby Lavin. I’m a Director of Product Management here at ServiceMax, and today I want to talk with you about why mobile sync is a hard problem. And how ServiceMax has designed Smart Sync to be the best performing mobile offline experience available today.
1. Day in the Life of a Technician
This is a great way to start the discussion about what mobile sync means…In the context of a technician.
Configuration Sync – New iPad
So, first, what if our technician has a brand new iPad? What does sync do for that person? For a new iPad, first they need the application and then they need to have all the data relevant to that technician and to their job and all the data that configures the app so it performs in the way that is optimal for that technician.
Takes a Photo
While they’re there that tech might take a photo…maybe take a photo of the installed product before they worked on it and after they worked on it to document what work was done.
Debriefs Service and Gets Signature
Once the work is done the technician can generate a service report and get a signature on that service report so that the work that is done is confirmed and the company that the technician is working for can get paid for the work that was performed. That document has to be shared back to the home office so they can start billing for it that same day.
System Admin Updates Workflow
And next when you are working with ServiceMax or any field service organization what if you need to update your best practices? What if technicians aren’t using a field, for example, you don’t want it to be available to them, so they don’t get confused by why it’s there. Or what if your technicians aren’t updating data you need to write some validation rules some formulas to help them out. Things like this are all part of the configuration of the application. And once again this is accommodated and accounted for using ServiceMax Smart Sync technology.
2. Why Sync is a Hard Problem
So, Sync itself is really hard and let’s talk about what makes it such a hard problem. to give some context about what it takes to get there.
Workflows and processes are specific and disparate to technician groups
So first of all, workflows and processes are specific and disparate to tech groups. Depending on your organization you might have some techs who are working on installations, some techs who are working on break/fix, and some techs that are working on preventative maintenance. Each of those use cases for example might require a different workflow. Well we want to make those flows only available to the technician to which those apply. So that’s one use case about why Smart Sync is so hard.
User Behavior and Expectations are Hard to Predict
How do you get the right workflows to the right people? User behavior and expectations are difficult to predict. So we’ve been working on Sync for many years and we’re always surprised by what technicians do. A great example is technicians sometimes have a habit of tapping or overtapping or maybe double tapping on records when they don’t need to. In some applications when you start launching transactions over and over again it can break the application. Well, we’ve encountered this, we’ve accounted for it, we’ve designed around it and our Smart Sync works perfectly with conditions like this.
Don’t Know What Needs to be Synced Until Runtime
Next we don’t know what needs to be synced until run time and this perhaps one of the biggest challenges of a great sync engine our Smart Sync technology. Is that we are not taking an entire database that exists on the server, perhaps terabytes of data, and trying to squeeze it onto a mobile device. What we’re really doing is at runtime we’re saying what does that technician need on that day at that instance to be on their iPad and only for that data on the device itself so the download criteria are determined at runtime. That is a very hard problem.
Purpose Built Database
Next, we must have a purpose built database. You can’t design a database for online usage and someday come back and say, “Hey it would be better if this was an offline data base.” We actually have to go back to scratch, start from the beginning and design it for some of these use cases I’ve described.
So in the cloud we can have lots of data, terabytes of data. So these top three tables here… what if those are price books for example. What if you’re a global company and you have a different price book in each country your technicians operate in. So for this black price book maybe I want all my technicians to have that price book. So in this diagram tech 1 and tech 2 they would both get that price book. Maybe that’s a US price book? Now what if technician 1 operates in APAC maybe Japan and technician 2 goes to Europe and operates in say France. Well, through our Smart Sync technology this orange price book table, which is specific to Japan, can go to tech 1, the blue price book table, which is specific to France, can go to tech 2, and we can account for that in our Smart Sync. So this is a download criteria for price books for example. Well next now let’s go a little more granular and now we’re not going to make just tables available to different technicians what if we want specific rows of tables to be available? A good example of this is maybe tech 1 needs a certain set of installed products that are relevant to what that technician is working on and technician 2 needs a different set of installed products. Well with Smart Sync technology we will only send the install products relevant to the technician’s work to those specific technicians.
3. ServiceMax Smart Sync
Let me get into the details of the different types of Sync that operate on our mobile devices today.
Initial and Reset
Let’s start off with initial and reset. This is a Sync that you would use once again for that new use case we had for that new iPad for example. Where you are going to send all the data and all the configurations metadata for the application to the technician so they can get started. This is a Sync process that typically takes a little bit longer since it is the first download of all the data to the device. But once it’s done that technician is up and running and ready to go.
Next, let’s talk about our incremental data sync. So our technician that went to the site, worked on the job, presumably got the work done, and Sync occurred because the work that technician just completed… we want that data to be available back to the office. So when sync launches we are sending the work that the technician just did back to the office so the office is up to date. One of the great things about Smart Sync technology is that it’s not one directional either. Once again, when that incremental Sync happens we’re going to first look at every record on the device on the client device itself that has been updated and we’re going to make sure those get updated on the server, but during that same incremental sync we’re going to look at all of the data on the server that’s been updated that’s also on that technician’s device and make sure that data comes back to the technician so everybody is operating off the same data set. It’s a very nice bidirectional incremental data sync that’s part of the Smart Sync technology.
Next let’s talk about Configuration Sync. So, in our example we wanted to update our best practices because we found a better way for our technicians to operate. To make them be more efficient, or to make them not have to enter data they don’t need to or to make them enter data. But we had to update our configurations to account for that. So using Configuration Sync we can completely update the application or just pieces of it so once again to make sure those techs are operating the way you want them. This can happen in minutes.
Next let’s talk about attachments. We had two examples of attachments we talked about earlier. One was when our tech takes a photo and one was when our tech gets a signature off a service report. Those are both attachments to a work order, for example, to a record. We see attachments as being important, but not as important as other data. So what if we had just dispatched a critical work order to our technician that we wanted that technician to be on site working on that customers install product in the next hour. Well if we had you know 10, 20, 30 megabytes of attachments that we were waiting for we might not be able to get that critical operational work order data down to that technician soon enough for them to be able to make that call. So for attachments and attachment syncs it actually takes a lower priority to our other critical operational data syncs to make sure that technicians are always working on the most important jobs at the right time.
Next let’s talk about location tracking. So there are many different ways that location tracking works through sync. If you think about a technician who has Internet connectivity, well the device knows the technician’s location. You can configure how often you want to grab that technician’s location and when that time point occurs we send that information back to office so the office knows where that technician is. Well, what if that technician doesn’t have Internet connectivity? A lot of mobile devices today actually have GPS capabilities in them. So as long as they can connect with the satellite they can get the location of the technician. Since we don’t have Internet connectivity and the ability to send it back to the server at that instant, what we do is store that location in a log file and when we get Internet connectivity back later, then we’ll send the entire log file back to the server so that we have the complete history record of where that technician was. So this can be really important if you want to optimize dispatching so you know for example who the closest technician is. It could be important if you just want to keep track of where your technicians are going, make sure they’re doing what you want them to do when they’re doing it. Or for some of our customers they just want to know for historical purposes where their technicians were so they can always say hey we had a technician at this site on this date working on the product and we have the records to show it.
Advanced Sync Features
So these are some of the different types of Sync we offer today. And there are advanced features of Sync too.
So the successive sync is what we talked about earlier and that is where a technician is perhaps rapidly pressing a button to save a record and then try to save it again rapidly without breaking the application and without compromising data integrity.
Next let’s talk about data purge. So a lot of our customers have found they want data to reside on the device for a certain amount of time. So maybe I’m a technician and I worked on a job today. My service manager wants me to have that work order on the device for the next month just in case I have to do a repeat visit or there’s a question about it I’ve got that data on the device. With data purge we can define we want data to reside on the device for X amount of time and after that please remove it from the device. Purge it from the device.
And next I want to talk about Event Window, which I think is one of the best features of our sync technology today. What an event window is… it allows you to specify how far forward and how far back within a technician’s calendar you’d like them to see the work they need to work on. So maybe I want technicians to see all the work orders they have next week and last week and no more. Everything within that event window has what we call a special status that applies to advanced download criteria. Advanced download criteria lets you define at a very granular level how much data and what specific data you want the technician to have as relates to those work orders.
And how do we do this? Well we have over 5 years of a big engineering team working on this. We’ve learned a lot along the way. We’ve accounted for a lot of situations, which we didn’t foresee originally. And we’re very happy this is the most advanced Sync technology available today. Thank you so much.