department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
278 stars 194 forks source link

Business intake form for Mobile App Team #67117

Open ajsarkar28 opened 8 months ago

ajsarkar28 commented 8 months ago

Your Details

  1. Your Name

    • ​Ameet Sarkar
  2. Business Line

    • Flagship Mobile app​

Notification Details

  1. Notification type

    • Push Notification ​
  2. Please describe your use case.

    • The Flagship Mobile App team wants a way to send push notifications to all users, for use cases such as a new feature or a critical bug fix. This is distinct from the Flagship App's existing push notifications which are specific to the user. For example, one notification type is a secure message from a healthcare provider which is sent to the Veteran ​
  3. What actions can the user take based on the notification they receive?

    • Initially, these notifications will be informational. However, future notifications could include deep links to parts in the app, links to surveys, and other actions ​
  4. What is the desired business outcome?

    • The desired business outcome is to better keep Veterans up to speed on the Flagship apps functionality. We strongly suspect this will have a positive effect on user retention.
  5. What system will kick off the notification? Please note the system should be inside the VA or have an ATO.

    • Flagship Mobile App ​
  6. What will trigger the notification?

    • There could be a variety of triggers but they would likely be manual. For example, the Flagship app triggers a push notification for a new feature at noon EST on the day the feature is released. ​
  7. Provide sample content per notification type, if you have it.

    • This request is only for the mechanism for sending notifications to all users and isn't tied to a specifci notification so there is no content yet ​
  8. Has a Privacy Officer (PO) seen and approved the content? If not, do you know who your PO is?

    • This request is only for the mechanism for sending notifications to all users and isn't tied to a specifci notification so there is no content yet ​
  9. Would you prefer to provide contact information for the recipients or would you rather VA Notify look this up for you by Veteran ID? If by ID, please let us know what identifier is used in your system.

    • N/A ​
  10. Do you currently capture communication preferences related to this notification? If so, please describe.

    • No but there would likely be new preference such as "Turn on for push notifications for new features" ​
  11. What is the anticipated volume of notifications per day, week, month?

    • weekly to monthly ​
  12. When does this notification need to be in production?

    • N/A - this is just the mechanism for sending notifications to all users
mjones-oddball commented 8 months ago

@ajsarkar28 "When does this notification need to be in production?" -- Do you have an idea of when your team is interested in implementing this all user notification feature?

ajsarkar28 commented 8 months ago

@mjones-oddball Ideally, we'd like to implement an all user notification in Q4

mjones-oddball commented 8 months ago

@ajsarkar28 What is the verbiage for the new mobile app preference? In the intake form I saw, "Turn on for push notifications for new features" but that seemed a little out of place compared to the existing ones which are shorter and more topic focused. E.g. App Feature Alerts

Below is an example Shane made called "VA General Announcements". Our goal would be to surface this soon, so Shane can enable auto-enrollment. VEText would still need to develop a little script to retroactively enroll all existing app users but we would wait to do that until after we've completed testing. image

ajsarkar28 commented 7 months ago

Hi @mjones-oddball. There isn't a name for this preference because we haven't determined what categories of notifications could be sent to all users.

For instance, two use cases could be:

  1. VA General Announcements
  2. Critical Bug Fixes

Both of these would likely have individual notification preferences.

All that to say, my understanding of this intake request was for your team to create the functionality such that the Flagship Mobile App could send notifications to all users in the future. So a couple questions I've got are:

Happy to hop on a call too!

mjones-oddball commented 7 months ago

@ajsarkar28 In order to do a mass push notification, we need to know who is subscribed to those notifications. That's where the preference comes in. If you don't do auto-enrollment and retroactive enrollment, then you are only going to notify app users who go into the app and enable the preference manually. In what I'm describing, they would be opted in by default, but could opt out if they choose at any time.

If you have multiple preferences, it will be treated like different push notifications because we'll have to track the subscriptions (opt ins) separately to broadcast the push message to the right audience.

When do you expect to know more details about the push notification use case(s)? If you're not sure about all the categories and how you'd like to break it down by preference, should we start with an MVP of one category that is the useful/generic up front? We could add on additional push notifications after that. Let me know what you think.

Below is some technical info about the new push request:

  1. VA Notify is creating a new push notification endpoint for these types of mass push notifications
  2. The request body will require the Mobile App Team to send the following info each time a notification is needed. Personalisation is variable, this is just an example.
    • Because you want the content to be dynamic based off of the update, you would need to provide the content via a personalisation. There are 3 data elements that could be populated by you via a personalisation if desired: 1) Title 2) Message Body 3) Deep Link into the App. I was going to suggest a static title, e.g. VA Announcement, but if you think this will change we can leave it variable. We could also start with a static title and make changes over time.
      { "mobile_app": "VA_FLAGSHIP_APP",  
      "topic_sid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",  
      "template_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",  
      "personalisation": {    
      "Message", "New update for the Mobile App..."  
      }  
      }

      CC @shanemelliott @bevnobev @k-macmillan

ajsarkar28 commented 7 months ago

Hey @mjones-oddball ! Thanks for the explanation on preferences and enrollment logic.

The Mobile team is currently in the process of determining push notification use cases so we don’t know when we’d have one specifically for mass notifications. We mainly wanted help from VA Notify to create the mass notification endpoint so that when we do have a mass notification use case, then we can implement it without needing to get an endpoint created.

mjones-oddball commented 7 months ago

@ajsarkar28 Thanks for the update! Do you have a rough idea of timing for when you'll be nailing down the use cases? Just want to align schedule wise.

ajsarkar28 commented 7 months ago

@mjones-oddball A safe estimate would be mid to late December

ajsarkar28 commented 7 months ago

Hi @mjones-oddball! Wanted to clarify, the mass notification endpoint hasn't been created yet, correct?

bevnobev commented 7 months ago

Tagging @k-macmillan as Melanie is out this week

mjones-oddball commented 7 months ago

@ajsarkar28 That's correct there is engineering work for VA Notify to create that new endpoint and there will also be engineering work for VEText to subscribe/enroll all app users to the new preference(s) you decide on.

Given your recent estimate for finalizing the use case details and our schedule (plus code freeze), we're going to complete the endpoint work in January 2024. Does your team have any concerns with that? CC @k-macmillan @bevnobev

ajsarkar28 commented 7 months ago

@mjones-oddball Got it. That sounds great, thanks!

mjones-oddball commented 5 months ago

@ajsarkar28 Just circling back here! Has your team had a chance to finalize the use cases for this type of push notification?

ajsarkar28 commented 5 months ago

Hey @mjones-oddball! We're working on use cases this sprint. With that said, we haven't decided whether we'll implement them right away

mjones-oddball commented 5 months ago

@ajsarkar28 would you mind sending me an update when you know more about implementation timing? We're working on the new endpoint this sprint, but VEText will also have work to schedule related to the preference(s) and subscribing users once we can discuss your use case details - so I'd like to give them some advance warning.

ajsarkar28 commented 5 months ago

@mjones-oddball Yep I'll definitely let you know

mjones-oddball commented 5 months ago

@ajsarkar28 We had planned to work on the new endpoint this past sprint, but had some other urgent needs arise. Since ya'll don't currently have a target date to implement I'm going to hold off on re-prioritizing this work until I hear back from you. CC @k-macmillan

ajsarkar28 commented 5 months ago

Hey @mjones-oddball! What level of specificity do you need for use cases for this endpoint? For instance, two of the main uses cases we expect would be informing users of new features and critical bug fixes. Critical bug fixes could happen at any time so we'd need that endpoint already built.

mjones-oddball commented 5 months ago

@ajsarkar28 Hi :) Can you please share some sample content? I would also love to know timing of when you're hoping to implement so we can align VA Notify and VEText engineering work with your team's schedule as well. I understand critical bug fixes can happen at any time, but we need to completely develop/configure this across our products before you'd be able to send a notification:

A while back you mentioned you may need multiple preferences/subscriptions for these use cases, which would lead to additional setup effort. Can you speak to this with the use cases you've been investigating? For example, would you need a different preference for features vs bug fixes and if so, why? Are there other use cases you're investigating?

ajsarkar28 commented 5 months ago

@mjones-oddball - Answers to question & comments:

bevnobev commented 5 months ago

@ajsarkar28 I had a side conversation with @rachelhanster about bug fix push notifications. She mentioned that not every Veteran wants/needs to be aware of a bug fix if it doesn't directly affect items they care about. With that in mind, will you need a separate preference for bug types or can you segment which Veterans want/need which bug fixes on the fly? cc: @mjones-oddball @shanemelliott

rachelhanster commented 5 months ago

@bevnobev Mobile app does not need a separate preference for bug types. The ask: one notification instrumentation setup, so all mobile app users get a push notification message from VA. This is still true -- not every Veteran wants/needs to be aware of a bug fix if it doesn't directly affect items they care about; mobile app plans to use existing, in-app content for feature-specific error messaging.

mjones-oddball commented 5 months ago

@rachelhanster @ajsarkar28 Just making sure I've got the requirements captured correctly:

  1. For this request:
    • We need one new mobile app push preference: awaiting naming, i.e. VA General Announcements
      • Default opt-in should be enabled for new app users
      • Retroactive opt-in required for existing app users.
    • Use Case: This is intended for VA-wide notices of new features and/or critical bug fixes that affect the majority of app users. Content will be dynamic based on the type of notice.
  2. Out of scope: For any ad hoc feature/bug notices that only apply to a subset of app users, in-app messaging would be used, not push notifications.

CC @bevnobev

ajsarkar28 commented 5 months ago

@mjones-oddball That looks right!

Could you explain how retroactive opt-in works currently?

mjones-oddball commented 5 months ago

@ajsarkar28 I believe VEText has to write a script to take all existing registered app users and subscribe them to the new preference after it's made. That's why I wanted to be extra sure how many preferences we needed because it affects the engineering work/configuration needed.

mjones-oddball commented 4 months ago

Hi @ajsarkar28, we've developed the new broadcast endpoint. Next step is finalizing content strategy and preference.

  1. Can you please define the new push notification preference verbiage? (example, VA General Announcements)
  2. Because this is such a powerful feature, we'd like to establish content standards for the use case. Can you please provide a couple sample content drafts? a. All new content should be reviewed by VA Notify before sending a mass notification. This may change over time, but as it's so new and manual we want to be extra cautious. b. We would like to define a static subject and possibly a prefix for the messages, since the rest of the content will be dynamic to ensure a consistent communication experience. I would likely align the subject with the preference wording. After reviewing content samples I can assist with suggestions.

Once we have the above we can schedule the work to subscribe app users to the new preference, update the push template, and test.

CC @rachelhanster @bevnobev

ajsarkar28 commented 4 months ago

Hi @mjones-oddball! Thank you for building this! I know there's a lot on your team's plate so we really appreciates it.

Yes, I'll work with our content writer and get back to you with preference verbiage and sample content.

Could you restate this point or provide an example? I'm not following. "We would like to define a static subject and possibly a prefix for the messages, since the rest of the content will be dynamic to ensure a consistent communication experience. I would likely align the subject with the preference wording. After reviewing content samples I can assist with suggestions."

mjones-oddball commented 4 months ago

@ajsarkar28 Sure! This is a very powerful feature as it can notify ALL app users with a single request. Because you all are going to be setting dynamic content for each message it's important to provide some consistent/standard elements so the Veteran can understand where it's coming from, what the intention is, and then the details of the message to act on.

Live Example: Secure Messaging Subject: New Secure Message -- this tells the user what type of message they're receiving Content: Review your messages in the health care section of the VA app. -- this tells the user what they should take action on and if needed, where

Though you may be providing a few different types of updates I'd like to provide some static elements so the Veteran understands which preference this relates to and what the intention is.

Example: Subject: VA App News Content: Issue Resolved: X service has been restored. Please go to the Y section of the app if you need to do Z.

ajsarkar28 commented 4 months ago

@mjones-oddball Makes sense! Thanks for the explanation

mjones-oddball commented 4 months ago

Hi @ajsarkar28 any updates here? As FYI - I'll be OOO 3/11 and 3/12 and 3/18 - 3/22, so if ya'll are going to be ready with samples and preference naming soon I can coordinate with VEText before I'm out of office. Otherwise this may have to wait until I return. CC @bevnobev @k-macmillan

ajsarkar28 commented 4 months ago

@mjones-oddball Hi this is ongoing but we won't be ready to coordinate until you're back.

ajsarkar28 commented 3 months ago

Hi @mjones-oddball! Could you help me understand the preference enrollment process? We are concerned about enrolling all Veterans into promotional/critical update push notifications without their consent.

We're considering other options such as:

ajsarkar28 commented 3 months ago

Hi @mjones-oddball! One other question, do you know whether mobile would be able to target specific users with promotional/critical update pushes? For instance, user who has opted in to receive promotional/critical update pushes AND is on a certain version.

mjones-oddball commented 3 months ago

Hi @ajsarkar28. I'm a little confused. We've been developing this feature (broadcast to all app users) based on the request referenced below. Are the requirements changing?

The Flagship Mobile App team wants a way to send push notifications to all users, for use cases such as a new feature or a critical bug fix. This is distinct from the Flagship App's existing push notifications which are specific to the user.

ajsarkar28 commented 3 months ago

Hi @mjones-oddball . I was under the impression that there would still be the typical preferences where users could opt-in to receive broadcast notifications.

For instance, you requested verbiage for preferences "Can you please define the new push notification preference verbiage? (example, VA General Announcements)" which I thought implied that users could opt-in.

Also happy to hop onto a call to make sure we're aligned!

mjones-oddball commented 3 months ago

@ajsarkar28 you're correct, there would be a preference. However, the discussion of opting in existing app users to the new preference was based on the requirement that your team needed a way to notify all app users. If you prefer to have your users manually opt in to this type of notification then you could do that. Let me know what you decide. If retroactive opt in is needed, we'll need to schedule work with VEText to do so once the preference wording and use case details are nailed down.

For your other question - I need more context/info to answer. Can you clarify what you need and why? Is it for this use case or are you thinking of a new use case? If you feel a call would be easier for you to share what you're trying to accomplish, then I'm happy to meet!

One other question, do you know whether mobile would be able to target specific users with promotional/critical update pushes? For instance, user who has opted in to receive promotional/critical update pushes AND is on a certain version.

CC @bevnobev

ajsarkar28 commented 3 months ago

@mjones-oddball Got it. We're exploring opt-in flows right now so I'll let you know whether we'll need VEText's support if we go the retroactive direction

Regarding the second questions, we're unclear on how much control we'll have when sending a push notification. For instance, is it just users who have promotional push preferences turned on? The reason we're curious is say that we want to inform users of a new feature, we might want to only inform features on a version that doesn't have that feature as an incentive to upgrade their version.

mjones-oddball commented 3 months ago

@ajsarkar28 OK thanks. Do you know when you'll be ready for content and opt in discovery?

For the second question - we are not able to dynamically segment notifications like the version example you mentioned. When a request comes in for this notification, it will use the preference and template referenced. Anyone who is subscribed would receive the notification.

ajsarkar28 commented 3 months ago

@mjones-oddball I would expect in May. As we've worked on this, we've uncovered more questions so it's taking longer than expected.

And good to know regarding segmentation! Thank you