The Blue Dot: Workforce and Mobile Worker Location

3295
8
10-19-2017 01:16 PM
Kylie
by Esri Regular Contributor
Esri Regular Contributor
2 8 3,295

Wall-mounted maps have "You are here" bubbles, and our phones use a dot on the map to show current location. But those are clearly not determined the same way: a wall-mounted map always has the same location, while your phone moves about with you. And how your location is determined varies between devices and even app to app on a single device. To best understand the location information presented for mobile workers in Workforce (both our own as a mobile worker, those of other mobile workers, and those of our mobile workers when a dispatcher) we need to understand how location is determined in Workforce.

First, let's understand what the dispatcher is seeing. The location presented for each mobile worker is simply the location the mobile worker's device is passing to Workforce. Once we understand how the mobile device is handling the mobile worker's location, we'll also know how the location the dispatcher is seeing is determined. The only catch is that the location isn't updated for dispatchers continuously; instead, the mobile worker's device updates the mobile worker's current location every minute. This is the location displayed in the web app.

When a mobile worker sees the location of another mobile worker in the same project, their view of that other mobile worker's location aligns with that the dispatcher sees. While they are receiving the same information from the project, it might not exactly match the dispatcher's view. In addition to the offset introduced by mobile workers updating their location with the Workforce project every minute, the mobile worker reading the location is also only checking for updated locations every minute, so the position seen can be up to 2 minutes old.

Now let's look at the mobile worker and their device, as that is the key to all the locations. Workforce uses the location provided by the device's location services. What exactly that means depends on the device and its setup, but what we need to know is that location services determine position information from various sources, such as GPS, cellular, Wi-Fi, and Bluetooth networks. Here is a bit more detail into location services:

  • The location reported on the mobile device depends on the information available to the device. If your device doesn't have GPS, it uses a combination of cellular and wireless signals to determine your location. If your device also doesn't have GPS or cellular service, wireless signals are used. GPS generally provides the most accurate locations, after that Wi-Fi, then cellular.
  • A more accurate location means that its margin of error is less. Your position might be identical, but if you know you have 10 meter accuracy, you know you are likely within 10 meters of the location shown. If you have 30 meter accuracy, you know you are likely within 30 meters of the position shown. In Workforce, the blue circle around your position indicates the accuracy. In the image below, Workforce believes you are between the tree and the other mobile worker (green pin). However, you might be closer to the green dot, or you might be with the other mobile worker. But it is pretty sure you are inside the bigger blue circle.
    Workforce location accuracy
  • On Android, you can choose a mode for your location (High accuracyBattery savingDevice only). This changes what is used to calculate location. High accuracy (the default) uses GPS, Wi-Fi, cellular, and other available sensors through Google's Location service to get the highest-accuracy location. Battery saving doesn't use GPS, using only Wi-Fi and cellular through Google's Location service, saving battery. Device only uses only GPS, turning off Google's Location service. Changing this value affects the location you see in the app.

One last thing to understand about location services on iOS: they never provide an accuracy less than 5 meters. Even if you are using an external GPS with sub-meter accuracy, Workforce uses location services and while the position used could be more accurate, the accuracy reported will still be 5 meters, at best. You might notice this if you look at the historical tracks of where mobile workers have been.

A mobile worker will see their position updated continuously. However, as mentioned earlier, they don't update the Workforce project with the same frequency. The project is updated every minute. Additionally, if the mobile worker sets their status to On Break or Not Working, their location is not updated to the project at all until they return to Working. And if the mobile worker didn't set their status to On Break or Not Working before shutting down Workforce, the location the project has for them might be outdated and show them still working.

Got it, you might think. But then you open Collector, and see that your location has better accuracy than you are seeing in Workforce! What is going on here? Well, it actually isn't too complicated: Collector doesn't always use the device's location services, bypassing it for the information coming straight from the location sensor (such as an external GPS). Location services are limited in the accuracy that they'll report, even if the device is getting a better accuracy from the location sensor. Because accuracy is critical in data collection, Collector uses the most accurate information available. Workforce, on the other hand, doesn't have the same requirements, so uses the most easily accessed information.

Now you should understand how Workforce determines the location of mobile workers, what factors contribute to its accuracy, why it might vary between members of the same project, and why it might vary when using other apps. Now when you see worker location and it doesn't seem they are in the right place, yet the workers insist they are, you'll be able to figure out what it is you are actually seeing and how, if necessary to your project, to improve that information.

8 Comments
MikeOnzay
Occasional Contributor III

Just to clarify: "...instead, the mobile worker's device updates the workforce project every minute." - is it every minute regardless of how you set the time interval when location tracking is enabled in a Workforce project?

Also. "One last thing to understand about location services on iOS: they never provide an accuracy less than 5 meters" and (from the paragraph about Collector) "Location services are limited in the accuracy that they'll report, even if the device is getting a better accuracy from the location sensor. " - does this mean that even if you have an external GPS connected to iOS running Collector, iOS will still limit the stored accuracy? Or, does it mean that iOS won't report (to the screen) anything less than 5 meters but the app will store the value from the external GPS?

Kylie
by Esri Regular Contributor
Esri Regular Contributor

Thanks for the questions Mike!

Just to clarify: "...instead, the mobile worker's device updates the workforce project every minute." - is it every minute regardless of how you set the time interval when location tracking is enabled in a Workforce project?

The location that is updated on the minute interval is the worker's current location, and that is always done every minute. The updates to the historical tracks are done on the interval specified when you configure the location tracking in the project. There was confusing language about that in the post. I've updated that paragraph, and hopefully, it is more clear now. 

Also. "One last thing to understand about location services on iOS: they never provide an accuracy less than 5 meters" and (from the paragraph about Collector) "Location services are limited in the accuracy that they'll report, even if the device is getting a better accuracy from the location sensor. " - does this mean that even if you have an external GPS connected to iOS running Collector, iOS will still limit the stored accuracy? Or, does it mean that iOS won't report (to the screen) anything less than 5 meters but the app will store the value from the external GPS?

The key here is in the Collector paragraph: "Collector doesn't always use the device's location services, bypassing it for the information coming straight from the location sensor (such as an external GPS)." So if you are using Collector with an external GPS, iOS won't limit the accuracy because Collector won't be using location services. Instead, Collector gets information straight from the external GPS. That allows it to show sub-meter accuracies. So you will both see on the screen in Collector, and in the data, the actual accuracy (which may be sub-5 meters). Workforce, on the other hand, would see the 5 meter limit because it does use the device's location services.

Christopher_L_Rogers
New Contributor III

Actually Kylie we have been using Workforce from it's very humble beginnings and we have found the this information is partially correct;

1) The One Minute interval is experienced by us when using what we call the Dispatch Console or Workforce Web Client for making assignments. These assignments then arrive on the Workers mobile device within about 1 Minute (60 seconds approx.).

2) The Workforce Application on the mobile devices that the Worker logs into sends the Workers Present Position Updates (Latitude/Longitude) every 30 seconds and we have watched this diligently to validate and verify this occurrence. I have actually used Operations Dashboard to create a monitoring tool so we can see when each of our users mobile devices updates their present position and in a list have it automatically resorting to put the person/mobile device which last updated the Workers layer on the top of the list. We also have another list that watches the Workers to see if any of them stop updating their present position and when this happens we reach out to them to find out why is it 1) they've changed status to On Break or Not Working, 2) is it because they are no longer in an area that has Internet or Cellular connectivity or 3) has their mobile device caused and issue perhaps because it has gone into power saving mode when the battery gets low as most mobile devices shut down the GPS first in order to save power or 4) it the mobile device's OS or the Workforce App experiencing a problem and keeping these present position updates from being written back to the Workers layer. When the system is operating in best case scenario the Workers layer is updated every 30 seconds rather than the aforementioned 60 seconds.

Now that I've covered that I'd like to chime in on something you said... "Because accuracy is critical in data collection, Collector uses the most accurate information available. Workforce, on the other hand, doesn't have the same requirements, so uses the most easily accessed information." This is a bit frustrating and I feel was an faulty assumption and judgement call on the development teams part without having explored this with the end-users. Point in case we the Oklahoma Department of Public Safety and Oklahoma Highway Patrol have been using Workforce since Beta 0.0.1 and have worked closely with Craig Gillgrass and Jeff Shaner on trying to enhance and trouble shoot Workforce's use in our Public Safety / Law Enforcement environment where accuracy is absolutely critical for our use cases whether we are using that information for Situational Awareness to locate and manage our Workforce or using it to place on Collision Reports and/or Violation/Citations our needs require us to have immediate incremental updates of present position within 1-5 seconds and accuracy of their location to within one meter (approx. three feet) and even greater accuracy when using the location data for a fatality collision. I'm quite aware that there are a multitude of solutions outside of Workforce that would give us this level of accuracy and present position refresh rates BUT when these limitations are based on arbitrary design/development decision rather than technical or FCC communications limiting factors it is very frustrating and reflects poor on what is a fabulous product and capability.

Hence; it would be awesome if Workforce would allow the end-user to determine at what frequency rate / interval the Workers layer will be written to just like we can do with the Locations layer for breadcrumb tracking purposes which by the way is much less important than Near Real-Time Present Position information especially in life and death situations. As it stands now we can have the Locations layer set to update as frequently as every 15 seconds so why wouldn't we want to be able to have at least this for where a Worker currently is or in the case of Public Safety even faster than that down to 1-5 seconds even if the system has to record ten one second intervals and transmit that every ten seconds if technical limitations are at play. This would provide the Dispatchers and Command and Control viewers a much smoother and more accurate picture from which to make solid decisions of personnel deployment for "Calls for Service" to Public Safety users' Fire, EMS, Police, etc.

Last but not least the Workforce team at Esri has been doing a phenomenal job and this has become such a powerful product but I feel as if it is being held back from being as great as it could be including not being able to run it in the Windows environment since development stopped their (supply and demand) however; I have run up a few Android emulators on Windows 7 Enterprise and Windows 10 Enterprise and it works though it's reliability rate is scary at best and brings with it an entirely new layer of latency and trouble.

Our device typically provide GPS data to within one to three feet and sometimes even better so here are the high points and take away from this long discussion;

1) Make the frequency rate that the Workers layer is update upon a user definable setting from 1 second to ?????

2) Re-engage in the Windows version OR create a few widgets one for Web AppBuilder (WAB) and/or one for Operations Dashboard (OPD) where folks like me can tie into the GPS on a device (regardless of OS/Platform) and then integrate with the Workers layer just as we can with other Widgets like the Smart Editor, etc.

3) Provide within this Widget(s) and possibly one or two others the ability to have the same functionality as the mobile device apps have a) login and select the proper Workforce Project, b) provide the end-user the ability to set the frequency they desire that the device the WAB or OPD is running on (this would be a setting in the widget), and c) be able to send/receive Assignments etc. information in another Widget that could also be integrated with WAB/OPD.

If a little bit of time was spent doing these few items I suspect the adoption rate of Workforce would jump through the roof as you would be removing the biggest limitations Workforce currently has and needs to overcome.

Thanks in advance for all the awesome work and products you and every one of Esri's team members are producing and enhancing everyday. It's almost unbelievable that truly rich and powerful applications can be built by smartly designing and taking advantage of a hand full of Esri's offerings such as; ArcGIS Online, Collector, Survey123, Navigator, Explorer, Workforce, Operations Dashboard, Web AppBuilder, AppStudio, and then when you really need to get your hands dirty and build a Ferrari or Space Shuttle break out the power tools and crank up AppStudio and QT. As I see it the only limitations these days is in the minds of the designers/developers the tools speak for themselves!  

Sincerely,

Chris Rogers

Full Stack Engineer

MarkBennett
Occasional Contributor

In Workforce there is "Workers" layer and the "Status" data will change in real-time when a field worker is logged in or off the Workforce mobile app. Is there something similar for other mobile apps. Or it will be even better, can we create a "workers" feature layer and its status field will update in real-time when a user logged in any EASR AGOL mobile app or account? We'd like to use this layer in a web map to see where the users are if they are online.

Thanks,

Ming

Kylie
by Esri Regular Contributor
Esri Regular Contributor

Hi Ming -- That behavior is currently unique to Workforce. However, location tracking as a capability of the ArcGIS platform is coming. Please see Location Tracking Debuted at Esri User Conference (July 2018) 

LindsayKing1
New Contributor III

Hi Kylie, 

Is it possible to capture the locations of field workers while they are offline, and have that location information "sync" back to the project when they reconnect?  We have field workers using Collector for ArcGIS (not Classic) on iOS devices, and we've learned that the classic location tracking option does not work in this version of Collector.  I understand that the functionality is coming in the Tracker for ArcGIS app, but we need something in the interim until Tracker supports working against ArcGIS Online. 

Our field workers are about to head into the mountains where they will have limited or no connectivity, and we're hoping there is some way to still capture their location.

Thanks,

Lindsay

CraigGillgrass
Esri Regular Contributor

Hi Lindsay,

Workforce does not support this capability with offline.  We are targeting Tracker to be available for ArcGIS Online at the end of June.

Craig

LindsayKing1
New Contributor III

Hi Craig,

We suspected as much, but wanted to ask just in case.  Thank you for your response.  We're eager to take Tracker for a spin with ArcGIS Online once it's available.

Regards,
Lindsay

About the Author
Our kids need GIS in their problem-solving toolboxes. I'm working to get digital maps into each K-12 classroom and the hands of each child. A long-time Esri employee, I've previously worked on Esri's mobile apps, focused on documentation and best practices. Out of the office I'm a runner often found on the trails or chasing my children.