We have been working long hours to bring our customers a new product: crewsControl. It was a substantial development effort that involved a lot of field testing from our team and we are pleased to finally bring it to market. The crewsControl solution is made up of a GPS-enabled Blackberry app and a unique web reporting application designed to track and report distracted driving infractions in an effort to assist organizations in policy enforcement and corrective action planning.
The initial idea for the solution came from our customers: we are repeatedly asked for forensic usage data to help ascertain if employees were using their device during incident investigations. Most organizations have a distracted driving policy (some even more strict than the law) yet everyone lacked the ability to enforce and prevent.
Motion-usage detection algorithm
At the core of the product is a motion-usage detection algorithm running on the Blackberry device. The first part of the app is designed to detect motion. A simple call to the GPS chip, onboard nearly all Blackberry devices, is made to acquire a satellite-based location including speed and heading information. If the reported speed of the device is faster than average walking / running speed, we flag the device as being in motion.
Accessing the GPS chip on a device uses a lot of battery power. In our initial field tests, we created a version that was constantly interacting with the GPS chip (similar to what you see if you launch your ‘maps’ application) to measure the impact. Not only did we find that it killed the battery in about 3 hours, the device itself got incredibly hot. Ignoring the market potential for a ‘hand warmer app’ we designed the detection algorithm to sample at regular intervals and then expire.
The sampling rate, controlled by configuration, allows us to continually monitor the device for motion in a way that doesn’t have a noticeable impact on battery life. When a new GPS speed is reported, the old one is retired and the motion flag is reset to the new value. In a similar way, the old GPS reading is also set to expire automatically after a pre-defined time interval. This GPS expiration is important as the next reading may be blocked by a concrete structure – say an office tower – and without expiration we could produce false positives.
The detection part of the algorithm leverages the Blackberry phone, sms, mms, and email listener APIs to monitor and detect usage activities. Combined with the motion flag, the application is alerted when both of these activities occur simultaneously. When this alert comes in, the app sends a note of the activity to our repository with information such as speed, usage type, GPS coordinates, GPS reading timestamp, the usage event time stamp, and whether or not the device had a headset plugged in.
Tracking discrete events like email / sms / mms turned out to be simpler than phone call tracking. The application monitors for when you hit ‘send’ on your message and compares that to the motion flag. However, with a phone call, this isn’t as straightforward. For example, I could start a call in my office on the 10thfloor (not moving), leave in my car and drive down the highway, arrive at my destination and then end the call (not moving). In order to catch these types of events we always check whether or not a call is in progress after we discover we are in motion. This allows the application to track and report on any portion of the call: did I answer a call in motion? Did I make a call in motion? Did I end a call in motion? Was I in the middle of a call while I was in motion?
Configuration and Reporting
Leveraging our deployment infrastructure, this application is bundled as a feature of the IntrigaConnect application that can be turned on / off depending on our customers’ requirements. When turned on, the crewsControl application code is instantiated and receives configuration parameters from our server infrastructure. Elements such as the GPS timeout, frequency, and expiration can be configured for each customer depending on their circumstances and requirements.
So where does all this data go? All the data is encrypted and securely logged into our infrastructure and presented to a key set of authorized personnel. Leveraging the Wireless Manager repository, we align and report on the infractions tied to divisional reporting structure. These divisional lines, defined by our customers, segment and isolate the data between departments, or groups of departments, for reporting. We also define a Health, Safety and Environment (HSE) role in the application that can view all of the reports. In a multi-tenant environment, the data isolation between customers is important, but so is the isolation between divisions and corporate hierarchy.
Each event is reported with both the GPS timestamp (the moment in time the sampling occurred) and when the event occurred. This is the trade-off in battery life that still gives management the information they need to understand behaviour patterns, dismiss false positives and initiate corrective actions.
The list of enhancements and new ideas is as long as… <well, just insert really long object here> … if you are interested in providing feedback, have a cool idea, or want to join our team and help us develop the next app, we are on the prowl for talented individuals. Drop us a line! … Just make sure you pull over, first.