Skip to content

Latest commit

 

History

History
210 lines (122 loc) · 9.89 KB

readme.md

File metadata and controls

210 lines (122 loc) · 9.89 KB

Fair Change Starter Kit

This solution starter was created by technologists from IBM. The goals of this starter kit is to provide a solution for the theme of Police & Judicial Reform and Accountability.

Authors

Product Managers:

Architects

User Researchers:

Development

Contents

  1. Overview
  2. Video
  3. The idea
  4. How it works
  5. Diagrams
  6. Documents
  7. Datasets
  8. Technology
  9. Getting started
  10. Disclosures
  11. License

Overview

What's the problem?

"Racism isn't getting worse, it's getting filmed" - Will Smith.

The sad reality is that police interactions with members of the Black community disproportionately end in unnecessary and avoidable escalation. Unless such interactions are captured, catalogued and analyzed, informed change, re-education and true reform will not be possible.

Whether related to routine traffic stops, stop and search or other scenarios, we aim to use technology for good to capture real-world data, provide insights and make recommendations that will drive racial equality. The key intentions behind this solution starter kit are to help enable transparency, re-education and reform as a matter of public interest and public safety. Over time, equipping good officers with information to perform their duties without bias.

At the heart of the solution resides an intelligent visualisation system, based around a map view which makes it easy for users to find single or grouped incidents. In order to facilitate the capture of incidents, a mobile application has also been created with the ability to capture incidents on behalf of a "contacted person" or an “upstander”. The solution also contains an API which could be used in order to capture data from additional sources such as existing mobile applications.

How can technology help ?

Video

*** ***

The Idea

image

We are team "Fair Change". The inspiration behind this starter kit comes from the lived experience of some of our team members who have been subject to unprovoked physical mistreatment, harassment, campaigns, and racial abuse from police officers or members of the public who intend to "weaponise" the police against Black individuals or communities. As we shared our experiences, it became evident to our diverse team residing in both the UK and US that the mistreatment of Black communities by the police is widespread.

At the same time, we recognized this is a very complex issue. The job of police officers who genuinely want to serve and protect the community can inherently be made more difficult based on their peers' actions. This overall can diminish the trust between the police force and the public.

This starter kit aims to create a solution that could aid in the avoidance and de-escalation of incidents and provide visibility and opportunities for long-term education for reform.

At a high level the Fair Change starter kit can :

  • Enable members of the public to record incidents through a moble app in a quick, near real time and safe manner
  • Capture data such as geo-location, timestamp, incident description, video and audio recordings and potential details such as officer ID numbers
  • Save and Map data on a web application for reporting and future AI analysis (AI is a roadmap item at this stage)

While we recognize that our solution cannot address all of the complex challenges in current law enforcement practices, we hope that the solution presented in this starter kit can :

  • Encourage members of the public to capture incidents which may otherwise go unwitnessed.
  • Display patterns and correlations of incidents that can be grouped by time, location, and type to better understand the scenario.
  • Inspire developers to shed light on this issue and provide them a starting point to develop future reform functionalities.
  • Educate police officers, community members and corporate partners on the issues of racial injustice, police reform and accountibility.

How it Works

The solution itself focuses on the core functionality of being able to take incident alerts and video recordings from the mobile app and post them into the back-end system. Once posted, the incident will appear on the map view and can be clicked in order to reveal more information. Here is a high-level flow:

  • The user captures video, geo-coordinates, timestamp and an incident description using the mobile application.
  • The video and other data is tranferred securely to the backend via the API.
  • Video is stored in Cloud Object Storage and the other data is stored in the Cloudant DB.
  • The web application facilitates the viewing of incident related data held in the DB via the API.

Diagrams

Mobile Application

****Insert Mobile application Architecture Diagram ****

  1. User launches mobile application and records a video
  2. The payload (geocode, timestamp, description / type of incident and video) are all passed to the backend which writes json to the Cloudant database and video directly to IBM Cloud Object Storage (COS).

Web Application

****Insert Web application Architecture Diagram ****
( Include back end service with web application )

  1. Incident captured by mobile device and save IBM Cloud Object Storage can be viewed on a map in a web application.
  2. User can click on the popup link within the map to view more detail related to that incident (the link will auto expire after a short period of time to prevent unauthorised sharing).

image

Documents

Tutorials and documentation:

  • ***** Add developer.ibm.com tutuorials and docs referenced ****

Datasets

  • *****Add APIs used ****

Technology

IBM technology

  • Video storage with IBM Cloud Object Storage (add link)
  • Data storage with IBM Cloudant (add link)

Open source technology

  • Google Maps (Add link)
  • React Native (Add link)
  • Expo
  • Node.js

Getting started

Prerequisite

Register for an IBM Cloud account.

Provision Instance of Cloud Object Storage on IBM Cloud

Log in to IBM Cloud and provision a Cloud Object Storage Service.

Step 1. From the IBM Cloud catalog, search for an instance of Object Storage.

Step 2. Give your service a name and create a Lite version of the service

Step 3. Once you have the object storage service created go to your service in your Dashboard and click on Create a bucket in the Getting Started tab

Step 4. Click on Create a Custom Bucket . Give your bucket a unique name and select Smart Tier. Create Bucket.

Step 5. Go to the Service Credentials tab and click on New Credential. Give your Service Credentials a name. Select role as Writer . Select Advanced Options and set Include HMAC Credential as ON. Add your service credentials.

Step 6. Take a note of your Service Credentials for the Web Appliciation Back-end

Provision Instance of Cloudant on IBM Cloud

Step 1. Go back to IBM Cloud catalog and search for an instance of Cloudant

Step2. Give Service a name and create a Lite instance of Cloudant

Step 3. Once your instance of Cloudant is created click on Launch Dashboard

Step 4. Once Cloudant Dashboard is lauched click Create Database

Step 5. Give database a name and select Non-partitioned . Click Create.

image

Step 6. Go back to the cloudant service page and create New Service Credentials. Select role as Manager and take a note of your service credentials for the Web Appliciation Back-end

Web Appliciation Back-end

The back end is built in Node JS and handles the following:

  • Writing of data from the mobile app to the Cloudant DB.
  • Writing of video from the mobile app to IBM Cloud Object Storage (COS).
  • Reading of data by the Fair Change Website in order to populate the map view and also to view further data related to an incident / video URL.

Follow these instructions for setting up the web application's back end

Web Appliciation Front-end

The main purpose of the Fair Change website is to host the map view and search capability. The map is built using Google Maps and the site itself is built using React.

Follow these instructions for setting up the web application's front end

Mobile App

The mobile application is built using React Native and will run on either iOS or Android.The purpose of the mobile app is to record real time incidents to and to submit this data to the Fair Change Incident directory.

Follow these instructions for setting up mobile app

Disclosures

License

This solution starter is made available under the -----(LICENSE).