Ledger/README.md

284 lines
12 KiB
Markdown
Raw Permalink Normal View History

2025-01-11 18:04:52 +00:00
# Ledger
2025-01-06 12:49:19 +00:00
2025-01-11 18:05:32 +00:00
## What is Ledger
2025-01-11 18:04:52 +00:00
Ledger is a personal finance management app that enables users to log and track their income and expenses. Users can create entries by specifying the transaction type (income or expense), amount, category (e.g., groceries, salary, entertainment), and date. The app includes a summary screen for a quick overview of finances and a detailed transaction list for reviewing all logged entries. Users can edit or delete entries as needed, ensuring accurate record-keeping. FinanceFlow helps users stay on top of their budget with a clear and organized interface.
## The Team
2025-01-11 18:15:29 +00:00
[Xaver Drabik](https://www.linkedin.com/in/xaverdrabik/) & [Florian Kraushofer](https://www.linkedin.com/in/florian-kraushofer-16892b26a/)
## App Concept
### Use Case
2025-01-22 13:52:29 +00:00
2025-01-11 18:15:29 +00:00
Primary Use Case:
2025-01-22 13:52:29 +00:00
2025-01-11 18:15:29 +00:00
- Tracking and Managing Personal Finances
- Viewing Financial Summaries
- Logging Transactions
- Organizing Finances by Categories
- Financial Planning
- Monitoring Budgets
### Target Users
2025-01-22 13:52:29 +00:00
2025-01-11 18:15:29 +00:00
People who want a simple and effective way to manage their personal finances.
People who want to stay organized by tracking their income and expenses, categorizing transactions, and gaining insights into their financial habits.
Like:
2025-01-22 13:52:29 +00:00
2025-01-11 18:15:29 +00:00
- Freelancers
- Students
- Budget-Conscious Individuals
- Small Business Owners
### Mockups
2025-01-22 11:34:19 +00:00
![Mockup](ReportImages/mockup.png)
![Userflow](ReportImages/UserFlow.png)
2025-01-17 14:21:10 +00:00
2025-01-22 13:52:29 +00:00
### Database
2025-01-22 12:30:25 +00:00
![Database Design](ReportImages/database.png)
2025-01-22 13:52:29 +00:00
The database structure consists of two tables: entry and category. The entry table stores individual records with fields like `entryid` (`primary key`), ` name`, ` amount`, ` date`, and `categoryID` (`foreign key`), while the category table stores categories with fields like `_id` (`primary key`), ` categoryName`, and ` icon`. The `categoryID` in the entry table is designed to link entries to specific categories, enabling categorization and organization of data. This structure ensures efficient data management and retrieval based on categorized relationships.
2025-01-22 12:30:25 +00:00
2025-01-17 14:21:10 +00:00
## Usability Testing Plan
2025-01-22 13:52:29 +00:00
2025-01-17 14:21:10 +00:00
### Experimental Questions & Variables
2025-01-22 13:52:29 +00:00
2025-01-17 14:55:38 +00:00
1. Question: Did you find the app easy to use?
2025-01-22 13:52:29 +00:00
- IV: App navigation design (e.g., layout, menu structure, or usability features).
- DV: User-reported issues or difficulties while navigating.
- Methods: SEQ Question
2025-01-17 14:21:10 +00:00
2. Question: Does the user find Categories useful?
2025-01-22 13:52:29 +00:00
- IV: Presence or design of the Categories feature.
- DV: User perception of usefulness (e.g., measured via survey or rating).
- Method: Likert scale How useful was it?
2025-01-17 14:21:10 +00:00
3. Question: Does the user find Categories?
2025-01-22 13:52:29 +00:00
- IV: Visibility or accessibility of the Categories feature.
- DV: User success in locating or using Categories.
- Method: Task Completion Testing
2025-01-17 14:21:10 +00:00
4. Question: Does the icon selection affect user satisfaction?
2025-01-22 13:52:29 +00:00
- IV: Icon design or selection (e.g., different icon styles or clarity).
- DV: User satisfaction (e.g., measured via survey or rating).
- Method: Open Question
2025-01-17 14:21:10 +00:00
5. Question: How long does it take for a user to add a Category?
2025-01-22 13:52:29 +00:00
- IV: Process or interface for adding a Category (e.g., number of steps, clarity of instructions).
- DV: Time taken to complete the task.
- Method: Time till completion
2025-01-17 14:21:10 +00:00
6. Question: How long does it take for a user to add a Transaction?
2025-01-22 13:52:29 +00:00
- IV: Process or interface for adding a Transaction (e.g., simplicity, number of fields).
- DV: Time taken to complete the task.
- Method: Time till completion
### Heuristic Evaluation
2025-01-17 14:21:10 +00:00
2025-01-17 14:37:34 +00:00
Based off of Nielsens 10 Heuristics. Done by both team members based on the Mockup. Results were implemented in the android application.
2025-01-22 13:52:29 +00:00
2025-01-17 14:21:10 +00:00
1. Visibility of System Status
2025-01-22 13:52:29 +00:00
- Issue: Users may not be immediately aware of changes to their balance after adding or editing a transaction, as there is no clear feedback.
- Recommendations: Implement a visual or auditory feedback system (e.g., a confirmation message or animation or redirect to the Balance overview) to inform users when their balance updates.
2025-01-17 14:21:10 +00:00
2. Match Between System and the Real World
2025-01-22 13:52:29 +00:00
- Issues: None
- Recommendations: None
2025-01-17 14:21:10 +00:00
3. User Control and Freedom
2025-01-22 13:52:29 +00:00
- Issues: Users might want to create their own categories rather than use the predefined ones.
- Recommendations: Introduce a feature to add and delete your own categories.
2025-01-17 14:21:10 +00:00
4. Consistency and Standards
2025-01-22 13:52:29 +00:00
- Issues: The "Your Balance" and the name of the transaction do not share the same font
- Recommendations: Standardize all texts to use the same font, and color scheme for a cohesive user experience.
2025-01-17 14:21:10 +00:00
5. Error Prevention
2025-01-22 13:52:29 +00:00
- Issues: Users might enter invalid data, such as symbols as the amount, without receiving a warning, leading to potential errors.
- Recommendations: Add validation checks and warnings to prevent users from entering incorrect data, ensuring errors are caught before submission.
2025-01-17 14:21:10 +00:00
6. Recognition Rather Than Recall
2025-01-22 13:52:29 +00:00
- Issues: Users may need to remember details about past transactions, such as categories or dates, which could increase cognitive load.
- Recommendations: Display a detailed transaction history with categories and dates visible at all times, reducing the need for users to recall information.
2025-01-17 14:21:10 +00:00
7. Flexibility and Efficiency of Use
2025-01-22 13:52:29 +00:00
- Issues: Users may find it time-consuming to navigate through multiple screens or steps to perform common tasks, such as adding or editing transactions.
- Recommendations: Ensure that all frequently used actions, like adding or deleting transactions, can be completed in as few steps as possible, with clear and accessible buttons for quick access.
2025-01-17 14:21:10 +00:00
8. Aesthetic and Minimalist Design
2025-01-22 13:52:29 +00:00
- Issues: The interface might include too many visual elements or colors, which could distract users from focusing on their primary tasks, such as managing transactions or checking their balance.
- Recommendations: Ensure that the design remains clean and focused by using a limited color palette and removing any unnecessary decorative elements, keeping the interface visually simple and task-oriented.
2025-01-17 14:21:10 +00:00
9. Help Users Recognize, Diagnose, and Recover from Errors
2025-01-22 13:52:29 +00:00
- Issues: Error messages may not clearly explain what went wrong or how to fix it, leaving users confused.
- Recommendations: Provide detailed error messages in plain language, including actionable steps to resolve the issue.
2025-01-17 14:21:10 +00:00
10. Help and Documentation
2025-01-22 13:52:29 +00:00
- Issues: Help and Documentation may be important and nice to have but out of scope for this version of the design.
- Recommendations: For now, focus on maintaining the clarity and simplicity of the current help documentation. If these advanced features are considered in future updates, ensure that corresponding help resources are developed to support them.
2025-01-17 14:21:10 +00:00
2025-01-20 11:22:18 +00:00
## Results
### Participant Demographics
2025-01-22 13:52:29 +00:00
2025-01-20 11:22:18 +00:00
- **Number of Test Subjects:** 5
2025-01-22 10:33:16 +00:00
- **Demographics:** University Students aged 19-23
2025-01-20 11:22:18 +00:00
2025-01-20 12:21:19 +00:00
---
2025-01-20 11:22:18 +00:00
### Quantitative Evaluation
#### Task Completion Time
##### Adding a Category:
2025-01-22 13:52:29 +00:00
2025-01-20 11:22:18 +00:00
| Participant | Time (seconds) |
2025-01-22 13:52:29 +00:00
| ----------- | -------------- |
2025-01-20 11:22:18 +00:00
| 1 | 18 |
| 2 | 69 |
| 3 | 40 |
| 4 | 18 |
| 5 | 15 |
**Average Time:** 32 seconds
##### Adding a Transaction:
| Participant | Time (seconds) |
2025-01-22 13:52:29 +00:00
| ----------- | -------------- |
2025-01-20 11:22:18 +00:00
| 1 | 18 |
| 2 | 11 |
| 3 | 60 |
| 4 | 43 |
| 5 | 30 |
**Average Time:** 32.4 seconds
2025-01-20 12:21:19 +00:00
![Time to add Category vs. Time to add Transaction](ReportImages/timeToAddCategory_vs_timeToAddTransaction.jpg)
**Time to Add Category vs. Time to Add Transaction:**
2025-01-22 13:52:29 +00:00
2025-01-20 12:21:19 +00:00
- The box plot shows variability in task completion times, with some participants taking significantly longer than others.
- For **adding a category**, Participant 2 took 69 seconds, which is an outlier compared to the others (1540 seconds).
- For **adding a transaction**, Participant 3 took 60 seconds, while others completed the task in 1143 seconds.
- This variability suggests that some users may have struggled with the interface or navigation, particularly for adding categories.
---
2025-01-22 11:34:19 +00:00
#### User Satisfaction Scores
2025-01-22 13:52:29 +00:00
2025-01-22 11:34:19 +00:00
##### Ease of Use (Scale: 1-7):
| Participant | Score |
2025-01-22 13:52:29 +00:00
| ----------- | ----- |
2025-01-22 11:34:19 +00:00
| 1 | 7 |
| 2 | 5 |
| 3 | 7 |
| 4 | 7 |
| 5 | 6 |
2025-01-22 11:48:40 +00:00
**Average Score:** 6.4
2025-01-22 11:34:19 +00:00
![Ease of use Graph](ReportImages/easeOfUse.jpg)
2025-01-22 11:48:40 +00:00
**Ease of use:**
2025-01-22 13:52:29 +00:00
2025-01-22 11:48:40 +00:00
- The bar chart shows that most participants rated the app highly for ease of use, with four out of five giving scores of 6 or higher.
2025-01-22 11:34:19 +00:00
- Participant 2 gave a lower score of 5, which aligns with their feedback about difficulty finding categories and longer task completion times.
- The chart reinforces the overall positive perception of the app's usability but highlights the need to address specific pain points for users like Participant 2.
---
2025-01-20 11:22:18 +00:00
2025-01-22 11:48:40 +00:00
#### Finding Categories and their Usefulness
2025-01-22 13:52:29 +00:00
##### Usefulness of Categories (Scale: 1-5) & Found Categories (Scale: Yes/No):
2025-01-20 12:21:19 +00:00
2025-01-22 11:48:40 +00:00
| Participant | Score | Found |
2025-01-22 13:52:29 +00:00
| ----------- | ----- | ----- |
2025-01-22 11:48:40 +00:00
| 1 | 3 | Yes |
| 2 | 4 | No |
| 3 | 4 | Yes |
| 4 | 5 | Yes |
| 5 | 5 | Yes |
2025-01-20 11:22:18 +00:00
**Average Score:** 4.2
2025-01-22 10:49:58 +00:00
#### Task Success Rate
2025-01-20 11:22:18 +00:00
2025-01-20 12:21:19 +00:00
![Success rate of finding categories.jpg](ReportImages/successRateOfFindingCategories.jpg)
2025-01-20 11:22:18 +00:00
**Finding Categories:**
2025-01-22 13:52:29 +00:00
2025-01-20 12:21:19 +00:00
- The bar chart visually confirms that the majority of participants (80%) successfully found the categories.
2025-01-22 11:51:11 +00:00
- However, 1 participant who struggled is representing areas for improvement.
2025-01-20 11:22:18 +00:00
2025-01-20 12:21:19 +00:00
---
2025-01-20 11:22:18 +00:00
2025-01-22 10:49:58 +00:00
#### Usefulness of Categories vs. Found Categories
2025-01-22 10:49:31 +00:00
2025-01-22 10:45:58 +00:00
![Usefulness of categories vs. Found categories](ReportImages/usefulnessOfCategories_vs_foundCategories.jpg)
**Usefulness of Categories vs. Found Categories:**
2025-01-22 13:52:29 +00:00
2025-01-22 10:45:58 +00:00
- The stacked bar chart shows a strong correlation between finding categories and perceiving them as useful.
2025-01-22 13:52:29 +00:00
- Four out of five participants found the categories and rated their usefulness highly (scores of 4 or 5).
- Participant 2, who did not find the categories initially, still rated their usefulness as 4, suggesting that they recognized the potential value once they located them.
2025-01-22 10:45:58 +00:00
- The chart highlights the importance of making categories easy to find, as discoverability directly impacts perceived usefulness.
---
2025-01-20 12:21:19 +00:00
### Qualitative Feedback
2025-01-20 11:22:18 +00:00
**Positive Feedback:**
2025-01-22 13:52:29 +00:00
2025-01-22 11:34:19 +00:00
- "The app is easy to use."
- "Categories are useful for organizing transactions."
2025-01-20 11:22:18 +00:00
**Negative Feedback:**
2025-01-22 13:52:29 +00:00
2025-01-22 11:34:19 +00:00
- "I could not find the categories initially."
2025-01-22 13:52:29 +00:00
- "The icon selection is missing a Pets category."
2025-01-20 11:22:18 +00:00
**Suggestions for Improvement:**
2025-01-22 13:52:29 +00:00
2025-01-22 11:34:19 +00:00
- "Add a Pet Icon.”
2025-01-22 13:52:29 +00:00
- "Improve the visibility of categories in the app."
2025-01-20 11:22:18 +00:00
2025-01-20 12:21:19 +00:00
---
### Updates Made to the App
Based on the feedback and insights from the charts, the following updates were made:
1. **Improved Visibility of System Status:**
2025-01-22 13:52:29 +00:00
- Added headings for _Category_ and _Transaction_ screens to make navigation more intuitive.
2025-01-20 12:21:19 +00:00
2. **Improved Category Visibility:**
2025-01-22 13:52:29 +00:00
- Redesigned the categories section to make it more prominent and easier to find, addressing the issue raised by Participant 2.
2025-01-20 11:22:18 +00:00
2025-01-22 12:30:25 +00:00
---
### Reflection
#### Xaver Drabik
2025-01-22 13:52:29 +00:00
2025-01-22 12:30:25 +00:00
I really enjoyed working with Florian on this project. Combining our strengths helped us create a functional and user-friendly app. Usability testing was particularly rewarding, offering insights into UI/UX design I wouldnt have considered otherwise. Watching real users interact with the app revealed areas for improvement I might have missed. This experience deepened my appreciation for user-centered design and the importance of testing in creating a polished product.
#### Florian Kraushofer
2025-01-22 13:52:29 +00:00
I had a great time working on this project. My main focus was on the backend, and I really enjoyed tackling the coding challenges and making sure everything ran smoothly. It was cool to see how my work connected with the frontend to create a functional app. The usability testing phase was eye-opening, it showed me how small design tweaks can make a big difference for users. Overall, it was a fun and rewarding experience, and I learned a lot about both development and the importance of keeping the end user in mind.