iOS: Prompt to dial
iOS: Waiting to Connect to Agent
iOS: Stream Live Video
iOS: Setup User
Agent: Waiting for Call
Agent: Call Available
Agent: Connected to user
- Thinking outside of the box
- 911 is a service that we all take for granted, yet nobody has taken significant steps to innovate such a core part of our society
- We used new, cutting-edge technologies rather than antiquated phone systems that naturally cannot provide the data needed by an operator
- Solving more than needed
- We looked beyond just the issue that we set out to solve to issues in the health care system in general and implemented an allergy and health information database to increase efficiency
- Allows for realtime AV communication without ever having to leave the app. Phone APIs are not available natively, and video is also unavailable natively.
- The AV communication allows high quality, low-latency calls where an agent can see the problem that the user describes
- The user is given the option to silence the operator's voice if they are in a situation that mandates being discreet.
- Real Time location tracking allows first responders to track the person they are trying to help
- Preloaded User Info
- The user can input their health data before they need to use it to expedite the process and ensure that healthcare providers don’t make life-threatening mistakes
- WebRTC stands for web real time communication
- It provides browsers and mobile applications with Real-Time Communications via peer-to-peer connectivity. WebRTC browsers and apps talk to each other instead of just to web servers.
- We used Skylink, a free library, in order to transmit live video and audio via webRTC
- No Swift code and very little documentation - had to go through over 200 Xcode build errors and port Obj-C code to Apple’s newest language: Swift.
- REST API
- We used a REST API to allow simple and efficient communication between web pages and iOS and the server’s data.
- Ours is implemented with Express.js.
- Persistent DB (PostgreSQL)
- We used it to communicate between the operators’ web client and the server, signaling call queue status and facilitating the peer-to-peer webRTC connection.
- It interworked heavily with the PostgreSQL code (also asynchronous) to serve the database information to operators.
- It also is able to share the same server and port as the REST API.
- Lightweight, event-driven backend
- *Using enterprise database software *
- P2P connections provided by WebRTC do not bog down the server