Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share Functionality #31

Open
alexlarsongit opened this issue Feb 17, 2016 · 5 comments
Open

Share Functionality #31

alexlarsongit opened this issue Feb 17, 2016 · 5 comments

Comments

@alexlarsongit
Copy link
Collaborator

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 ( Create Child Info > Child Basics Screen #6 )
    .. Measurements ( Create Child Info > Measurements Screen  #7 )
    .. Physical Details ( Create Child Info > Physical Details Screen #8 )
    .. Doctor Info ( Create Child Info > Professional Care Provider Screen #10 )
    .. Dental Info ( Create Child Info > Dental Info Screen #12 )
    .. Distinguishing Features ( Create Child Info > Distinguishing Features Screen #9 )
    .. Friends ( Contacts Functionality - Friends #14 )
    .. Other Parent(s) & Family ( Contacts Functionality - Other Parent(s) and Family #16 )
    .. Photos ( Photos Functionality #29 )
    .. Documents ( Documents Functionality #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:

  • From: [user's email address]
  • To: [email address(es) entered in the Share screen]
  • Subject: Information about Missing Child, [Child Profile Name]
  • Body: [text info from these categories: Child Basics, Measurements , Physical Details, Doctor Info, Dental Info, Distinguishing Features, Friends, Other Parent(s) & Family]
  • Attachments: [latest image from Distinguishing Features, Photos categories in JPG or PNG format & all items in the Documents category, in PDF format]
  1. User can send the email or cancel the sending of the email.
  2. Once the email is sent or canceled, the user is returned to the Share screen.
  3. See also Issue # [TBD] for Sharing multiple profiles.
  4. 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
Copy link
Collaborator

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
Copy link
Collaborator Author

@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
Copy link
Contributor

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
Copy link
Collaborator

That is correct.

@rockfordlhotka
Copy link
Collaborator

This depends on #234

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants