Inheritable Mobile Forms
How does Personal Capital use forms in our mobile apps?
Two important things:
- Linking financial accounts you want to track with Personal Capital and editing account information once it’s been linked. For example, assigning a nickname to an account or adding account-specific information that wasn’t automatically aggregated like the interest rate on a credit card.
- Editing a person’s profile information, which allows us to provide a more personalized experience (e.g., a person’s date of birth, risk tolerance, or financial goals)
There are plenty of other forms in the app, but those are the two most important types that affect the user’s experience.
What is a “person” form?
A “person” form is the UI used for capturing profile data about a user. We have a “person” data model and an instance of this model for the main user, the user’s spouse, and any children. This allows us to encapsulate core information about a person and display or update the information in a unified manner.
What are some of the ways we personalize the app experience based on user data?
When a new user starts the app, we don’t have any information to personalize the experience, so we ask some brief questions to get the user started on the correct path. The wording might be different at this point because the user hasn’t developed a relationship with our application yet and may still be in a “trial-mode” mindset. After the user has dived deeper into the application and had a better understanding of what they want out of it and what we offer, we want to make sure we’re asking questions in a consistent manner. This allows the user to see how the answers they provide are used to build a fuller financial picture across different features in the application. For example, information provided to get an idea of current investment health in the Investment Checkup tool directly affects the user’s future goals accessed in the Retirement Planner tool.
How does the mobile team perform quality analysis (QA) of the forms in the app?
We have manual and automated tests. Having a uniform method of accessing, displaying, and updating data minimize the amount of redundant testing we have to do and builds confidence in the development process for QA. They know we’re not reinventing the wheel each time and can have confidence that a question asked in one feature will behave the same in another.
A crucial aspect of forms that we have to QA is the caching behavior in the app. In comparison to the web version of Personal Capital, on mobile, we try to minimize the amount of network traffic that the app pushes. This way screens load quicker because we don’t have to query for data on each screen.
However, caching comes with the risk of retaining stale values when we should be fetching newer/fresher data — so this is a super important area for QA on mobile apps.
When it comes to UI automation test, we implement Xcode XCTestCases and use Espresso for Android.
Thank you for sharing :)
Looking forward to more tools showing up in the app soon!