Bill Split-ter

Collin Tucker

App Link


If there’s one thing I’ve learned from this experience, it’s that the contents of a book are much more complicated than the book’s cover. What I mean to say is that the inner workings of an app can be extremely complex, but what the user experiences can be a simple and intuitive. One of the complex things I came across while designing my app was the need for a text string to be recognized as a numeral value. To do this, many variables need to be defined, set to an element of the user interface that can carry values, and used in an equation that will define the start value that is transferred over to the Bill Manager. Adding an option to include details for a purchase required the start value to be a list of the bill and details. The Bill Manager screen displays the list of bills and optional details as a list within a list. In order to adapt to this very different way of problem solving, I had to change my way of thinking. I intend to work on computer software as an occupation, so this experience has been very beneficial as a foundation to my understanding.


When the Confirm button is clicked, the cost and tip are all defined as a global variable (number of people involved is already defined with the counter is pressed). These three variables are all entered into an equation. The result is displayed on a label and defined as a global variable.
This block takes the user to the Bill Manager screen while storing the entered details and defining the start value that will be added to the list. The start value contains the split bill and any details about the bill that the user has included.
When the Bill Manager screen opens, it loads the list with all of the previously split bills and stores this list in the case that the user deletes an item or clears the list and wants to undo. The Bill Manager checks the start value from the Split Bill Screen. If the start value doesn’t equal zero, then it adds the start value to the list of bills.

App Screenshots

Leave a Reply

Your email address will not be published. Required fields are marked *