UX/UI:
Split Transaction

My Role

Design Lead

Duration

3 Weeks Concept Exploration;
2 Weeks Iteration (Web);
3 weeks Iteration (Mobile);
1 Week Handoff

Platform

Webapp;
iOS, Android Handset, Tablet

Background

A Feature Users Have Wanted for Years

Split Transaction is a tool that enables users to split an individual transaction into multiple spending categories so that users can better tracking the spending. It's a feature that our users have wanted it for years; for ages, you could find reviews on third party websites saying things like "Personal Capital is a great tool overall, but the inability to customize the transaction is a non-starter for budgeting."

The purpose of launching this feature is to make our current product more robust and to retain more users. Accordingly, we planned several projects to add onto the existing transaction management platform, by allowing users to customize their transaction, including customizing the category, assigning customized tags, and spliting a transaction.

How does the freedom to customize transactions benefit our users? 

Split Bills with Friends

Let's say you and your friend go to a coffee shop, and you split the bill afterwards. How can you mark that half of this transaction was paid by your friend and is reimbursable?

Categorizing Big Spending

Now imagine that you've purchased lots of stuff on an e-commerce site, and some of that stuff is food and drink products, but most of the purchases belong to the category of electronic products. How can you better manage your spending?

Design Beyond Product Requirements

1. Leading Design Confidence When Mobile Can't Be First

Ideally I was planning to start with mobile design first; however, during that cycle, the mobile team didn't have the bandwidth to work on it. As a result, I had to work on the web design first since the web team was able to deliver the feature sooner. When designing the web version, I also needed to consider how to scale it to mobile, and thinking about the feasibility was a big challenge for me.

2. Discover User Needs Beyond the Product Requirements List

When we kicked off the projects, I had a long list of the product requirements, it's not a bad thing for designers to have a rough idea of these things for certain time-bound projects, but when I looked at these requirements, I wondered: What's the main problem that we want to solve for our users? Should I design based on the feature requirements list or on my understanding of the users' needs?

Re-define the Design Problems

Narrow the Scope

In order to deliver a better product, I checked around with some competitors and learned how they're dealing with the split transactions to get more insights. I also consolidated the key functions that the users wanted in the tool, and I found that our requirements list included most of these functionalities, but we wanted to provide more. I synced with the PM and dev team to re-evaluate the problems, trying to narrow down the scope and re-prioritize certain functionalities based on the my findings.

After syncing with the PM and dev team, we determined the following core functionalities that we wanted to achieve in this MVP:
1. Enable users to create a split transaction;
2. Enable users to assign tags and category to child-transactions;
3. Enable users to edit/remove a split transaction.
4. Enable users to download/export the CSV for split transactions
5. Enable users to multi-edit split transactions;
6. Enable users to undo a split (added from research)

Part I: Design for Essential Functionalities

Although there's a plenty of room within web design to add as many functionalities as we want, I'd still like to present the most essential parts of the low at beginning. This is how the transaction model looked on web. The tricky part is understanding the freedom we give users to customize transactions, which means we had to ask ourselves: Within the split transaction model, what are the goals that users want to achieve? What functionalities do they need?

Discovering Users' Needs From Competitors

As I mentioned before, I conducted some competitor research, and realized that most of the transaction tracking on the market looks very similar to Excel. That's not particularly surprising since some users are over the age of 50 and are not familiar with tech products, so they chose to use an Excel spreadsheet to track their Net Worth, monthly spending etc. In order to reduce the cognitive load for users, I wanted to keep the Excel paradigm as the framework, then make some tweaks to the details afterwards.

Most of our competitors have decided to use a modal to split a transaction, and inside this modal they only show the child transactions. This means that if you are just looking at those screenshots, you probably have no idea what parent transaction they're referring to. (In this example of a spreadsheet, you can clearly see "Costco - Groceries" and "Costco - safe" but you don't know the total amount of the original transaction unless you scroll down.)

Another reason we opted for a different treatment is because we want to enable users to edit the description of a parent transaction at this step, because the original description pulled from the server end just captures the merchant information, which sometimes is not enough to remind the users of what it was for -- was it a team-building or a birthday party? Our users are quite fussy about the ability to customize transactions, so we wanted to make sure the parent transaction description also makes sense to them. Thus, we wanted to incorporate the parent transaction details here as well.

Secondly, I think it's better to show the original total amount in the same column as the child transaction amount (Mint has done a good job here; Yodlee shows the original total amount in the table instead of on the modal.) This way, when users are working on their transactions, it's easier to map and compare.

Yodlee allows users to add a note to each child-transaction, whereas Mint only has the ability to assign them to different categories. We allow users to not only can assign transactions to different categories but also assign them to multiple tags (including default tags and customized tags). For example, if you split your transaction in half for something reimbursable, you can assign that half to the tag "reimbursable," and that half won't be calculated in your monthly budgeting and cashflow.

Edge Use Cases: Undo Split, Error (Edit Split)

When looking at Error State and scanning from top to bottom, you'll find it's way easier to figure out the remaining amount to assign by checking these highlighted red text, and then you can fix it at that amount in the text input field.

Part II: Design for More Than Consistency

Making It Contextual on Mobile Behavior

After the framework of the web version was locked down, I started to work on the mobile version in lower fidelity. In the meantime, I was working closely with the mobile team to check the feasibility and get their input about the design. The first approach I took was leveraging an iOS contact editing pattern here so that users can easily add another split or remove a split, as well as edit a specific input field to modify the amount or assign a category or tags. The second approach was one I got inspiration for from receipts in the real world - it lists everything down and shows the total amount at the bottom.

There were two points that the team kept arguing about. The first one was about how to launch the feature from the entry point - did we want to expand the function on the existing page or take users to a separate page? That was something I wasn't sure about myself at the beginning. Personally, I prefer to have a separate page so that everything is visually clean and users can focus on the child transactions like in the web version. However, as I brought this to user testing, users preferred to keep everything on one page, since it meant they didn't need to drill in too deeply to complete their tasks.

The second point of contention was about how users actually use the tool on a mobile device. Do they customize child transactions one by one, or assign the amount in the beginning and then finalize the other input fields, such as tags or categories afterwards? We thought the first option, to scan all the child transactions and split amounts, would be easier, whereas with Option 2 users might need to scroll down to see each amount. To clarify this point, I conducted user testing with some co-workers from another team, and the result was half and half. It seems that users might have different habits and therefore the test results in this case couldn't help us make a design decision here.

Make Design Decisions Not Only Based on User Testing

I took some feedback from the user testing session, and continued to iterate on these two options. After syncing with the web team and mobile team together, an interesting viewpoint emerged: they thought the first option had too many actionable components, so users might get lost.

To some extent, I agreed that the card option (Option 2) was better at displaying the information progressively rather than throwing everything in the user's face. Secondly, the card approach was more aligned with our mobile design system, so we decided to go with the Design Option 2.

Results & Implications

After the split transaction feature was released on web, the company received lots of great reviews. I received lots of feedback along the way prior to delivering the design, not only for the split transactions, but also for how to manage and tracking transactions. I consolidated the feedback and noticed that the more freedom we can give to users, the more flexible and competitive our product will be. Based on some of the user feedback, we decided to add a feature that allows users to add images to individual transactions later on.

Let’s Talk

Are You Ready? So I am

CONTACT ME