HTBox / MobileKidsIdApp

Application for enabling storage and retrieval of important information on missing children.
Apache License 2.0
46 stars 44 forks source link

Share Functionality #31

Open alexlarsongit opened 8 years ago

alexlarsongit commented 8 years ago

STORY: As a Kids ID app user, I want to be able to share select information about my missing child with others, so that I can assist in recovering my missing child.

ASSUMPTIONS User is logged in, and has created at least one child profile. User has navigated to the Child Info Screen. User's mobile device has a working default email app installed.

ACCEPTANCE CRITERIA 1) When the user selects the "Share" button from the Child Info Screen, the Share Screen is displayed. 2) The Share screen has the following elements: field to input email addresses, checklist to select which items to share, and a "Share" button. 3) The text field for entering email addresses is limited to 255 characters, and permits the entry of comma-delimited email addresses. a) Email addresses entered will be retained in the app so the user can select them again on subsequent sharing events. b) The user can delete any retained email addresses. Deleted email addresses will not be available on subsequent sharing events. c) Nice to have: The app will validate email addresses are entered in valid email format.

4) The selection of which items to share will be a multi-select checklist of the following items: .. Child Basics ( #6 ) .. Measurements ( #7 ) .. Physical Details ( #8 ) .. Doctor Info ( #10 ) .. Dental Info ( #12 ) .. Distinguishing Features ( #9 ) .. Friends ( #14 ) .. Other Parent(s) & Family ( #16 ) .. Photos ( #29 ) .. Documents ( #30 ) a) The selection list checkboxes are UNchecked by default.

5) The "Share" button is greyed out if no items in the checklist are selected. 6) The user must enter at least one email address and select at least one item from the checklist before the "Share" button is enabled. 7) The user may select multiple items from the checklist. a) The app will validate the presence of information in a selected category for that profile. If there's no information entered in the selected category, the app will display a message "There is no information entered in this profile for the selected category." b) The sharing action will be allowed to continue, even if an empty category is selected. 8) Once at least one email address is entered and at least one item from the checklist is selected, the user can tap the "Share" button, which will share all of the selected checklist items according to these rules: a) All checked items will be shared via a single email. b) All UNchecked items will NOT be shared. c) If a checked item has multiple entries (such as Measurements), only the most recently entered entry is shared. d) If there are multiple images associated with a checked item (such as Distinguishing Features or Photos), only the most recent image from each category/checked item is shared. e) If the Documents category selected, all associated Documents items will be shared. which will craft an email using the mobile device's default email app with the following details:

9) User can send the email or cancel the sending of the email. 10) Once the email is sent or canceled, the user is returned to the Share screen.
11) See also Issue # [TBD] for Sharing multiple profiles. 12) Nice to have: The selected checklist items are retained on the Share screen for the duration of the session.

REFERENCES Kids ID App screen flow v5.pdf

Document capture and conversion to PDF for Sharing exists in the mobile app called CamScanner. CamScanner for iOS: https://itunes.apple.com/us/app/camscanner-free-pdf-document/id388627783 CamScanner for Android: https://play.google.com/store/apps/details?id=com.intsig.camscanner

souptown commented 8 years ago

Would sending the data in an encrypted/password protected zip file be feasible? The password would be communicated out of band (phone call) to law enforcement.

alexlarsongit commented 8 years ago

@souptown Short answer: we don't think this will be needed.

Longer answer: After discussion with Teresa: The overall goal of the requirement is to share the information with as few barriers as possible. The users of this app (parents) are not expected to be technically savvy enough to establish and communicate zip file passwords, nor the law enforcement and child find organization recipients, either.

The parents are already responsible for the security of the information about their child, and we're looking at just adding some help text to remind parents that sharing to email is only as secure as email.

dnordquist commented 8 years ago

Just a note: since we're creating an API for crafting the email (and sending via SendGrid) I assume that there is not actually a requirement that the user have an email client installed. (It's all sent server-side.)

rockfordlhotka commented 8 years ago

That is correct.

rockfordlhotka commented 6 years ago

This depends on #234