= SAMBRO Mobile Application = [[TOC]] [[Image(http://eden.sahanafoundation.org/raw-attachment/wiki/BluePrint/CAPBroker/CAPsymbol.png)]][[BR]] - [wiki:UserGuidelines/SAMBRO/Mobile Mobile SAMBRO User Guidelines] - [wiki:Deployments/SAMBRO SAMBRO Server Deployments]. == Current Status == [https://docs.google.com/spreadsheets/d/1N9xUqZQhignq7QM_7CtrV4zv86sq4lMdJj81IQuch3Y/edit?usp=sharing Fit-Gap analysis spreadsheet] [InsightsWebapp Insights from testing the web app] ==== Available features: ==== 1. Edit and issue alert to restricted, private, and public audience 2. View listing of alert messages with event type specific icons 3. Work both online and offiline 4. View a summary of the alert message and access the full alert on the web ==== Missing features: ==== 1. Localization: a. have the app run in different languages b. make the app configurable to see alert messages in different languages 1. iOS support 1. Welcome procedure for new app users at first install 1. Initiate an audible alarm based on user set priority, location, and event types 1. Use multiple channels; i.e. mobile data and SMS, for communication with server 1. Relay, Update, Cancel, Error, and All-Clear messages to be issued 1. Approve or Disapprove alerts for dissemination 1. Proper authentications and digital signing of messages == Introduction == The app is supposed to be a mobile app to issue alerts for several hazards to be included into SAMBRO/Sahana. The app will complement the web based GUIs for issuing alerts to enable a mobile solution even working in areas with weak internet connectivity. An existing similar solution is [http://www.capacitylab.org/mobile4d mobile4D], a bi-directional hazard reporting and alerting tool developed at the Capacity Lab at the University of Bremen. {{{#!comment [[BR]] [[BR]] [[BR]] [[BR]] }}} == Stakeholders == [[BR]] [[BR]] [[BR]] Tip: Engage these stakeholders in the development of your !BluePrint. == User Stories == An authorized user finds himself in a situation where he/she is in the need to issue an alert, but does not have access to a computer or/and a sufficiently stable internet connection. The user can now use the app and fill in the data via a structured interface. After confirming the data, the app takes over and sends the data to the Sahana server as soon as internet connection is available again without the user having to take care of it. (Alternatively, the app uses SMS to send the data. This is transparent to the user.) ==== Publish ==== '''Scenario''' - heavy rains have caused a bridge, over a river, and surrounding area to be inundated with flood waters. The bridge accommodates a rail road track and motor vehicle lanes. 1. '''Intent''' - the local police must issue an alert to inform the transportation authorities (rail road and motor vehicle) and other relevant first-responders in the area of the of the situation. The Police Superintendent in the area will use his mobile phone to issue an alert. a. '''Actions''' - to be carried out by the Alert Editor (Issuer) i. Access the designated SAMBRO server, using the MobileSAMBRO app to login and then begin creating a new alert. ''Question: Are there specific reasons to explicitly login (security contraints)? Otherwise the user should be automatically logged in after a one-time authorization at the inititial usage)'' i. Select the relevant flood CAP template and add/edit information including drawing a polygon on the map indicating the alert area. i. Alert is issued by clicking the submit button. At this point the alert message is saved to the SAMBRO server i. Immediately after saving the alert message, the designated person required to Authorize the message is sent a SMS and Email requesting to approve/disapprove the alert a. '''Actions''' - to be carried out by the Alert Authorizer (Approver) i. The designated person, required to authorize the message at the District Emergency Operation Centre (DEOC), will receive an SMS and Email requesting to authorize the message. i. The alert Authorizer will login to the SAMBRO server, using their mobile phone, and approve (or disapprove) the alert message. i. If approved, the SAMRBO server will issue alerts to all alert subscribers registered as first responders through SMS and Email. ''Question: a Push message could also be an option here, but SMS is safer - can we rely on SMS availability on the server side? Should Push be an optional feature?'' 2. '''Intent''' - the DEOC decides to extend the alert to the public. The DEOC authorized Alert Editor (Issuer), happens to be at home (away from the desktop terminal), will need to use their mobile phone to relay the alert message to the public. a. '''Actions''' - to be carried our by the off-site NEOC Alert Editor i. The NEOC Alert Editor will first login to the SAMBRO server using the MobileSAMBRO app. i. They will search and locate the message issued by the Police Superintendent. i. When the NEOC Alert Editor clicks the Relay button the message is stored on the MobileSAMBRO app i. The message scope is first changed to Public and then rest of the message is edited, including defining a larger alerting area by drawing a polygon on a map. i. The Alert Editor clicks the submit button, which saves the message on the server and invokes the Authentication process (similar to above) i. Once approved, the alerts are issued to the public through the various channels: RSS, post on the wen, cell broadcast, radio, TV, social media (twitter, facebook) ==== Subscribe ==== '''Scenario''' - A Community Emergency Response Team (CERT) member subscribes to receive alerts from the SAMBRO that are issued for the area of residence because he/she is responsible for responding to various events that effects the village 1. '''Intent''' - manage a copy of the full alert message on the mobile phone to be able to refer to the message with instructions. a. '''Actions''' - to be carried out by the CERT member i. Once the CERT member receives the alert via SMS, he/she will turn on their mobile data services or connect to a WiFi hotspot to update the alerts on the MobileSAMBRO app i. The CERT member will open the new alert to read the complete message, then mark it as important (or favourite) i. Once the event is clear the message can be deleted from the phone (but not on the server) or marked as hide or is archived. == Requirements == === Functional === * Simple interface. Must adhere to the web application interface. At best, it is auto-generated (or semi-auto-generated) from the web templates. * step by step input * must work without internet connectivity * drawing a polygon on the map must be easy, seamless and exact. Map should be centered around the current position. Adequate initital zoom level. * summary at the end to show all the information again, must be explicitly confirmed by the user. * Login only necessary at initial use. (to be discussed) ==== Optional === * alerts are a buffered and automatically sent as soon as the internet connection comes up again ''(Currently I do not think this is mandatory for the usecase. If the issuer can not create the alert due to lacking internet connectivity, he/she should take steps to make the alert go out other than waiting for internet connectivity. Fallback to SMS would be an option (either automatically parsed by the server or just to somebody else). === Non-functional === http://en.wikipedia.org/wiki/Non-functional_requirements === Interoperability === === Standards === * Native communication with the Sahana data types. Compliance to CAP === System Constraints === The system has to be operational by late March. == Design == === Data Model === (e.g. EER or class diagrams) === Workflows === === Site Map === === Wireframes === === Technologies === == Current Implementation == {{{#!comment <*a brief description of the implementation (date/time, name, design options chosen)> <*a link to the code> <*list of deployments of the implementation> <*links to case studies> <*short analysis of achievements/problems> }}} The current implementation is based on Cordova (!PhoneGap): * https://github.com/waidyanatha/mobileSAMBRO/ Old: * Step 1. Test the current SAMBRO GUIs for its responsiveness to mobile handhelds. If necessary suggest some GUI tweaks to harmonize the desktop version with the mobile screens. * Step 2. Design hazard specific alert authoring and issuing GUIs. For example, Alerting Authorities, in a local area (Barangay, Gramaniladari, Thaluk, etc) do not need the full CAP message but a few attributes like the area and water level. We will target on delivering 3-5 mobile GUIs for Landslide, Flood, Accident, * Step 3. Develop the requirements/design for using the concept of Pictographs in Alerting and other features such as a wake up function to sound an Audible Alarm etc. I think we should do the same with the web GUI such that we can set a siren audio to sound for a specific warning_priority threshold. We may have to look for funding outside of the ESCAP project for step 3. I would propose to have a standalone solution for Step 3 and concentrate on the alert-issuing part first. == Planned Implementation == To meet the time constraints given above, the plan is as follows: * Use a stripped-down version of the mobile4D mobile client (for Android) * enhance the functionality by the needed report types not supported yet * have the client deliver valid CAP directly from the device (the current implementation uses the mobile4D protocol and converts this to CAP server-sided) The current functionality includes: * Send hazard reports: * filling in needed fields (numbers, contact details, urgency, etc.) * detect the current location * alternatively give a location and specifying a polygon on a map * Buffer issued reports and re-send them upon network connectivity. * Retrieve alerts and display them as list and map. This will most probably not be included. * Many more communication features that might not be included either. == Future Extensions == * Send SMS when no TCP/IP network is available. == Outstanding Questions == * Photos: does CAP support photos? Should photos be sent from within the app? * IES Solutions, technical coordinator of the IDIRA project (www.idira.eu) has used EDXL-DE v2.0, CAP 1.2, EDXL-RM, EDXL-SitRept in accordance with the mandatory conformance clauses specified therein and OASIS policy. The work has been carried under the general coordination of Fraunhofer-IVI and a group of 17 Partners from several EU countries (Italy, Germany, Greece, Austria, UK, Czech Republic, Switzerland). == References == * [http://eden.sahanafoundation.org/wiki/BluePrint/CAPBroker SAMBRO CAP Broker Blueprint]