The VA Mobile app currently relies on loading the profile API in order to display user data for each of the app’s features. If it is unsuccessful in loading the profile, the app displays error states in each feature of the app (much like a web site), some of which are providing inaccurate information. The inaccuracy of these messages and the feeling of the app being “broken” could undermine trust in the app and potentially in VA.
Current Experience
User is signed in but profile fails to load
Allows access to the Veterans Crisis Line information, Personal Information (but can’t edit), Share the app, Manage your account
Shows user’s name but no military information in Nametag
User can see category screens & navigation but when attempting to view feature level screens, see a variety of “one size fits all” errors & messages, some of which are providing inaccurate information:
Claims, Messages, Direct deposit, Payments, Notifications Settings, VA Letters & docs “The app can’t be loaded”
Appointments “The app isn’t working right now”
Military info “We can’t access your military info”
Vaccines “We couldn’t find info about your vaccines”
Disability rating “You do not have a combined disability on record”
Webviews: standard “error loading page - internet connection appears to be offline” message
Pain Points
Anecdotally, during the Blind/Low-vision study, we spoke with a research participant who could log into the app with their credentials, but every section showed a generic loading error message. We expect that this was caused by a problem with connecting to profile. The app did not acknowledge what was happening or set expectations by explaining what might be causing the errors.
Users can’t access much of anything in the app (even static data) if profile doesn’t load
The app doesn’t cache much information locally, so if Profile doesn’t load, they can’t see any of their non-static data either.
The app doesn’t set expectations right away about what happens to the app’s feature functionality when Profile doesn’t load properly.
Because the app doesn’t have specific error handling for the Profile fail situation, users will see a variety of errors & messages throughout the app, some of which are providing inaccurate information (see above).
Users complain in app store ratings and in Reddit forums about the app being broken after seeing error messages, and in some cases have created folk model explanations as to what’s happening (“It’s off on the weekends,” “Does the VA update their systems during the weekend ?“)
Technical Approach
Discovery spike with cross-functional teams (internal mobile team, and other partners) to understand:
If the app is able to recognize when Profile has failed to load and differentiate it from other error situations.
What the various failure situations are.
Per Kris Pethtel: If we’re currently only interested in making the error messaging better, this may be entirely front end. but IMO the fix for this should probably come in phases [to address the root cause of the profile failing problem].
Improve the error messaging
Make the back end user request more robust (this is the work jayson was looking into based on the ticket i filed)
Make new backend endpoints for fetching the profile data separately. this will make it easier for the front end to retry if any part of the profile fails to load.
Make the front end use those new endpoints and re-fetch when they fail
Measuring success
Number of complaints about the app being broken, down, or unavailable decreases across channels (app stores, reddit).
Reduction in users trying to access features when they’re not available?
Sprint 0 documentation
The VA Mobile app currently relies on loading the profile API in order to display user data for each of the app’s features. If it is unsuccessful in loading the profile, the app displays error states in each feature of the app (much like a web site), some of which are providing inaccurate information. The inaccuracy of these messages and the feeling of the app being “broken” could undermine trust in the app and potentially in VA.
Current Experience User is signed in but profile fails to load Allows access to the Veterans Crisis Line information, Personal Information (but can’t edit), Share the app, Manage your account Shows user’s name but no military information in Nametag User can see category screens & navigation but when attempting to view feature level screens, see a variety of “one size fits all” errors & messages, some of which are providing inaccurate information: Claims, Messages, Direct deposit, Payments, Notifications Settings, VA Letters & docs “The app can’t be loaded” Appointments “The app isn’t working right now” Military info “We can’t access your military info” Vaccines “We couldn’t find info about your vaccines” Disability rating “You do not have a combined disability on record” Webviews: standard “error loading page - internet connection appears to be offline” message
Pain Points Anecdotally, during the Blind/Low-vision study, we spoke with a research participant who could log into the app with their credentials, but every section showed a generic loading error message. We expect that this was caused by a problem with connecting to profile. The app did not acknowledge what was happening or set expectations by explaining what might be causing the errors. Users can’t access much of anything in the app (even static data) if profile doesn’t load The app doesn’t cache much information locally, so if Profile doesn’t load, they can’t see any of their non-static data either. The app doesn’t set expectations right away about what happens to the app’s feature functionality when Profile doesn’t load properly. Because the app doesn’t have specific error handling for the Profile fail situation, users will see a variety of errors & messages throughout the app, some of which are providing inaccurate information (see above). Users complain in app store ratings and in Reddit forums about the app being broken after seeing error messages, and in some cases have created folk model explanations as to what’s happening (“It’s off on the weekends,” “Does the VA update their systems during the weekend ?“)
Technical Approach Discovery spike with cross-functional teams (internal mobile team, and other partners) to understand: If the app is able to recognize when Profile has failed to load and differentiate it from other error situations. What the various failure situations are. Per Kris Pethtel: If we’re currently only interested in making the error messaging better, this may be entirely front end. but IMO the fix for this should probably come in phases [to address the root cause of the profile failing problem]. Improve the error messaging Make the back end user request more robust (this is the work jayson was looking into based on the ticket i filed) Make new backend endpoints for fetching the profile data separately. this will make it easier for the front end to retry if any part of the profile fails to load. Make the front end use those new endpoints and re-fetch when they fail
Measuring success Number of complaints about the app being broken, down, or unavailable decreases across channels (app stores, reddit). Reduction in users trying to access features when they’re not available?
Related initiative: user endpoint improvement