Challenge

Design a standalone bill splitting app for iOS or Android.
Must have the ability to split bill and tip with multiple people.
Must have the ability to specify tip amount or percentage.

While you can split many things such as rent, I interpreted this as splitting restaurant bills only. I will also be sticking to an iOS app.

 

Problem

Getting food with friends is something everybody looks forward to. But the last thing anyone wants to do is worry about how much to tip, who ordered what, how to split the bill, etc. Number crunching is annoying and tedious, and nobody likes taking the effort to figure it out.

The goal is to design a mobile app to help groups efficiently and accurately split their restaurant bills.

 
 
assumptions.jpg

Assumptions

I began by listing out some assumptions I had about my target users and the problem. Because I face this problem myself frequently, I am also designing a lot for myself. By listing out my assumptions, I can test them and make sure I’m not too biased by my own needs.

 
 
online-interview.png

User Interviews

From my assumptions, I had a number of questions for various user groups I defined. To that end, I interviewed 2 college students, 1 young adult, and 2 established adults. Asking questions like “Recall the last time you were out eating with other people and had to split the bill. Walk me through what happened when it came time to split the bill.” This helped me understand the difference between users and the overall problems and goals.

I found that bill splitting is a problem for all groups, but it just happens less frequently with age.

One interesting finding is that small groups are usually able to get separate checks without a problem. This means that larger groups need this the most, and any design should be able to easily accommodate them (think 4+ people).

As a side note, I didn’t realize how much of an impact culture has on bill splitting. I grew up in a Chinese household where it was normal for adults to fight over paying the bill. Based on my interviews and online research, American culture tends to split bills evenly.

 
 

Personas

While my original user groups aren’t largely different, I found that there were 3 ways that people tend to think about bill splitting. The type of splitting the entire group follows usually depends on who is paying and how fairly the bill gets split.

If I can change a fuzzy splitter’s behavior, I only need to accommodate even and exact splitting.

Even splitter

The even splitter usually likes to keep things simple. They’ll add an estimated tip, divide the entire bill by the number of people, then ask everyone to pay them back. This person might not like doing any extra mental math or may not feel confident about their ability. The even splitter is also very situational. If some people ordered a lot more/less than others, they might try fuzzy splitting instead.

Fuzzy splitter

The fuzzy splitter sits in the middle ground of effort between the even and exact splitter. They think that fairly splitting is important, but a dollar more here or less there will even out in the end. Tips are guessed without a calculator and so are the final amounts that others owe.

From my interviews, fuzzy splitters, given an easy/fast/exact tool to split bills, would become exact splitters.

Exact splitter

The exact splitter is a rarity and tends to enjoy the number crunching and exactness that comes with it. They will pull out a calculator, calculate an exact tip, document exactly who ordered what, and end up with exact numbers.

 

Competitive Analysis

None of the people I interviewed mentioned using apps specifically for splitting bills. At most they would use Venmo’s basic feature to split something evenly between everyone.

That said, I still wanted to see what other apps were available to evaluate their features, strengths, and weaknesses.

Tab and Divvy both let users take a picture of their receipt to automatically record orders and tax. I also found it interesting that all 3 apps had different models of how users go about assigning certain costs/orders to people.

 

Main Needs

Based on my prior research, I laid out the critical features for my design.

  • Create a new check

  • Add people to the current check

  • Add dishes and prices to the current check

  • Specify the tax amount and tip %

  • Take a picture of the check and automatically populate dishes, tax, tip

  • Split the entire check evenly between everybody

  • Split the check based on who ordered what

  • Be able to split dishes between multiple people

  • Link w/ other payment services like Venmo, Square, Paypal

  • Interactions must easily accomodate a large number of people and orders, as well as be easy to visually understand

  • Track money you owe and owed to you

I’ve left out certain ideas I didn’t deem as important such as more convoluted splitting methods, rounding amounts, and adjusting small amounts of money between people.

Also, I considered how this would work assuming you are the only person who has this app. Payment features like Venmo/Paypal would not be available, but you should still be able to add people manually. I also don’t think you should be able to do something like “split it with 4 people” without adding names. This would invalidate many features like money tracking. Also if it’s a simple split, a calculator is an easier alternative anyway.

 

User Flow

I created a flow diagram of how someone might use this app. It helped me concretely define the steps a user would need to take to split a bill. Since I’m not worrying about the interface, there’s less stuff to worry or distract me.

 
 

Rough Sketching

With the general flow down, I moved onto brainstorming ideas on the actual screens. The main point I wanted to explore was dealing with people and items at the same time. Based on my research, it didn’t seem intuitive to split those into discrete steps, so I played around with ways of combining them together.

wireframes2.jpg
 

First Iteration

After a couple paper iterations, I moved onto digital wireframes. Here, I chose to go with a standard table of items, but with a sliding menu that contains all the people. I wanted to make sure it was easy to handle many people, hence the expanding menu.

 
 
 
 

Prototyping

This type of app is extremely interactive, so it’s not good enough to just show some still screens. You need to test interactivity by handing users something they can play with, so I created an interactive prototype. This is the next iteration of screens and a more fleshed out flow.

 
 
 
 
 

User Testing

I ran one user test with the above prototype. Some of the feedback was about prototype bugs or features that weren’t part of the test such as deleting items. Some valuable feedback was that selecting users from the bottom and picking what they got wasn’t initially obvious. Another thing I learned was that the advanced feature of swiping left and right to select the next person wasn’t obvious.

Overall, I got really positive feedback. They said they would use this app next time they went out eating.

 

Future Work

If I were to continue working on this project, there’s a lot to still be ironed out. Most obviously, I would work on the visual design of this app. There’s also a lot of edge case features that would need to be designed and tested. For example, editing/deleting items you’ve added. I would also want to spend more time exploring the interactions of how people pay each other back (via apps like Venmo).

 

Larger shot of the screens. These are the same screens used in the interactive prototype.