DigitalBlue is a public safety company offering iOS and Android apps designed to make life easier for police officers in the field. Their apps enable access to a Computer-Aided Dispatch (CAD) from a smartphone or tablet and as such, require the highest security standards.
The company’s goal, first and foremost, is to improve public safety. They aim to do this by creating a network of first responders using open standards and a mobile-first approach that addresses the needs of these professionals while in the field. They turned to Making Sense for help with developing the required software.
Officers need to be able to communicate under all kinds of extreme conditions with a variety of support agents that provide varying types of data. To help fulfill that need, DigitalBlue envisioned a system that could be integrated with any Computer-Aided Dispatch (CAD). The goal was to create an optimum experience for public safety officers while providing highly accurate information for call-for-service situations in an efficient, optimal, synchronized, and secure way.
Officers in the field interact with a dispatcher - an officer sitting in the police station and coordinating the efforts of the officers on the streets. The dispatcher is responsible for providing instructions and specifies important details that help prevent unexpected (and therefore dangerous) situations.
The exchange of data is complex and exhausting for public safety officers. All too often, they find themselves in extreme situations while trying to absorb important, life-saving information.
We first started with a formal study of the day-to-day activities of a patrolling officer and what problems they’re typically faced with. The team followed an intense, rapid research process to understand the DigitalBlue business and its users.
We gathered information through:
- Interviews with the users to get to know them.
- Collaborative design thinking workshops with stakeholders to shape the experience.
- Metric analysis to define what success is.
- Personas to identify user types.
- Journey maps to understand touchpoints.
- Features brainstorm to visualize the experience and its iterations.
- Features summary and prioritization to define an MVP.
- Roadmap and product vision workshops to plan the work to be done.
With this information in hand, we began the work of creating proto-personas. Injecting personality into the equation would help us to bring users to life, thereby keeping them at the center of our decisions, where they need to be.
From our analysis emerged several approaches to UX. The process also helped highlight any limitations on the solutions we’d actually be able to employ with our product. For instance, typing on a phone was not a good strategy because officers usually need to be able to react quickly during critical situations.
Next up, we discussed the architectural approach that we would take. It was agreed that we would have to build microservices loosely following a Command and Query Responsibility Segregation (CQRS) approach. This utilizes a pattern in which each feature gets its own piece of code instead of having code spread all over the system.
This allows for easier auditing as well as tight control of the feature’s behavior (which is very important in a system as critical as this one, where a bug may end up costing lives).
- An instant messaging server.
- A backend server.
- A queue server.
- Two channels of communication with the front-end mobile application.
a. A REST API (requests on demand).
b. A real-time push notification mechanism.
Thanks to our years of experience working in the public safety industry, we were already aware of several constraints that add a level of complexity to these types of projects.
Nevertheless, every project is new and fresh challenges can still arise. One of the main difficulties was developing real-time apps and full-tracking apps in the iOS space, especially in the age when data privacy and app restrictions are on the rise.
To answer security concerns, the entire team immediately began compliance training with the Criminal Justice Information System (CJIS). This certification is required by the Federal Bureau of Investigation as basic security training on how to protect data.
CJIS specifies several requirements, most of which need to be implemented by the platform provider. The app structure and technologies we used needed to conform to and implement Federal Information Processing Standard-approved algorithms for cryptographic security.
Under those strict guidelines, we worked toward the goal of end-to-end encryption for all transmission of data.
We needed to create a standard for communication since one of the long-term objectives was to be a central hub of communication between the different public-safety organizations. The first order of business was to create a standard for communication. So we adopted different standards of the industry that allows unifying all the concepts that are used among the different industry related companies.
Among them, we embraced the Association of Public-Safety Communications Officials (APCO) standards, National Emergency Number Association (NENA) standard and the National Information Exchange Model (NIEM), that represents a collaborative partnership of agencies and organizations across all levels of government and private companies.
We decided to work with Docker 18 to encapsulate apps into services, .NETCore 2.0 as a development platform for our Backend services, RabbitMQ 3.7 as our queue server to process messages asynchronously and PostgreSQL 10.4 as our database storage.
We choose Xamarin as our Mobile development framework, Google Maps and Google Routing API as a map location and routing service.
The created app is CJIS Compliant and Mobile first approach. It integrates with an existing CAD installed on the officers’ iOS or Android smartphones and tablets. This public safety software facilitates the receipt of near real-time emergency alerts, including “Be On the Look-Out” (BOLO) alerts, mapping, alert system, chats, records, and more.
Every day, officers are inundated with radio-delivered information which they need to process and retain. Our solution reduces cognitive load, allowing them to focus on the crisis situation or the tasks at hand. The software prioritizes the input the officers receive while information that could generate confusion or distraction is hidden. Relying on visual resources to achieve this hierarchy of information, we focused on the management of icons to establish functional hierarchies.
All parties involved agreed that it was key to produce a fresh and simple-to-use design, in light of the context of the product’s use in crisis scenarios.
Here are the main features of this CJIS Compliant app.
Unit Status Updated
Police officers can update the status of their patrol among different options dictated by APCO, NIEM and NENA standards.
Day / Night Themes
We came up with a dark theme for the app so it can be used at night by inverting the contrast and with some color tweaks.
Officers Needs Assistance
This is a button that officers can use when they think that their lives are at risk. When pressed, an alert to the dispatcher and nearby patrols will be sent.
Officers handle a lot of information around a case: Cars, people, locations, records, alerts and so on. A strong communication system for them to be ready to solve situations in a fully informed way is key for the success of the product.
Position and Historical Information Tracking
Public safety officers can track their position and historical information.
“Even though the public safety industry is a difficult one, Making Sense was able to deliver an incredible user experience and robust implementation.”
WADE POWELL, FOUNDER & CEO