Case Study: Designing a Conflict Simulation Application for Law Enforcement


Background:

The client, an independent contractor that works for law enforcement agencies, approached us with a need for a software application that could simulate conflicts and help them improve their conflict resolution strategies. The application will have an interface that will move scenarios from cooperative to aggravated. The interface will be operated by a training officer. The application would need to be user-friendly, accurate, and easily accessible to all officers going through the process.

The high level requirements that needed to be met

  • Video Simulation Each scenario must have three types of responses (Cooperative, Passive Aggressive, Aggressive, and Responsive). The trainer will decide where to take the engagement
  • Copyright Protected All the video footage needed to be protected and difficult, or impossible to reuse in any other application.
  • SaaS The application will be subscription based allowing for monthly, or annual payments. This provides the ability to generate residual income to further fund revisions and support.
  • Security As law enforcement personnel are in a dangerous role all information entered into the application should be secure and protected.
  • Nice To Have During the initial meetings it was asked if the application could be voice controlled. That is when the training officer responded the application would randomly select responses based on the trainers settings.

Requirements Gathering:

To ensure accuracy, we consulted with experts in the field of conflict resolution and conducted extensive research on the topic. We also conducted multiple rounds of testing to ensure that the simulation accurately reflected real-life conflicts. We asked what "user friendly" meant to the users of the system.

Proposal:

After consulting with the client, I proposed a WPF front end using an MVVM pattern. This allowed us to separate the user interface from the application's logic, making it easier to maintain and update. We also designed the UX to be easily understandable to all officers, regardless of their technical expertise. The data and streaming would be done via a REST API written in C#.NET. The data retrieval would be done using the repository pattern and entity framework. The data would be housed in an SQL database. The database and web API would be hosted using Microsoft Azure.

The voice control would require a POC as there was new technology suggested and would need to be tested to confirm it would work as expected.

Challenges:

Several challenges presented themselves that are noted for future improvement

Directives were given at different points of the SDLC. Attempting to use good agile thinking would have been effective, however at times they would come from someone who wasn't involved in the decision making process. This proved to be unproductive at times.

Lesson Learned: Establishing the different types of stakeholders should have been done from the beginning so as to properly execute the desired outcomes

POC

The voice activated commands POC had issues. The voice activation worked well. When the user spoke into the microphone the response was as expected. he issue encountered was the speaker response was also picked up by the microphone and the system would respond to itself. A set of microphone headphones was used. This worked as expected but was rejected because it was believed to be distracting to the officers trainee

Outcome:

The final product was a highly accurate and user-friendly conflict simulation application that helped law enforcement agencies improve their conflict resolution strategies. The application received positive feedback from officers who found it easy to use and highly informative. Our use of a WPF front end with an MVVM pattern and a RESTful API written in C#.NET allowed us to create a highly scalable and maintainable application that could be easily updated as needed.

Conclusion:

Designing a conflict simulation application for law enforcement was a challenging but rewarding project. By leveraging our expertise in WPF front end development and C#.NET API development, we were able to create a highly accurate and user-friendly application that helped law enforcement agencies improve their conflict resolution strategies.

Description

A scalable user friendly Application used for conflict resolution during officer and civilian interaction.