Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7f64366a78 | ||
![]() |
06fa75ecc0 | ||
![]() |
46b5ab236c | ||
![]() |
9ae8e1d15e | ||
![]() |
d4b52e9720 | ||
![]() |
5b9b538a9a | ||
![]() |
a1b030afdc | ||
![]() |
797a7fecb0 | ||
![]() |
d3f11f4d12 | ||
![]() |
4b80a3a78a | ||
![]() |
21061a26bf | ||
![]() |
3cdb3a0ae7 | ||
![]() |
0c9ad997d3 | ||
![]() |
f720a7ba30 |
@ -54,7 +54,7 @@ fun Add(
|
||||
var name by remember { mutableStateOf("") }
|
||||
var categories = addViewModel.categoryUiState.categories.collectAsState(emptyList()).value
|
||||
|
||||
var spending by remember { mutableStateOf("") }
|
||||
var spending by remember { mutableStateOf("0") }
|
||||
var selectedDate by remember { mutableLongStateOf(System.currentTimeMillis()) }
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
var selectedIconIndex by remember { mutableStateOf(0) }
|
||||
|
150
README.md
@ -11,7 +11,9 @@ Ledger is a personal finance management app that enables users to log and track
|
||||
## App Concept
|
||||
|
||||
### Use Case
|
||||
|
||||
Primary Use Case:
|
||||
|
||||
- Tracking and Managing Personal Finances
|
||||
- Viewing Financial Summaries
|
||||
- Logging Transactions
|
||||
@ -20,10 +22,12 @@ Primary Use Case:
|
||||
- Monitoring Budgets
|
||||
|
||||
### Target Users
|
||||
|
||||
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:
|
||||
|
||||
- Freelancers
|
||||
- Students
|
||||
- Budget-Conscious Individuals
|
||||
@ -31,12 +35,21 @@ Like:
|
||||
|
||||
### Mockups
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
### Database
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||
## Usability Testing Plan
|
||||
|
||||
### Experimental Questions & Variables
|
||||
|
||||
1. Question: Did you find the app easy to use?
|
||||
|
||||
- IV: App navigation design (e.g., layout, menu structure, or usability features).
|
||||
- DV: User-reported issues or difficulties while navigating.
|
||||
- Methods: SEQ Question
|
||||
@ -46,16 +59,19 @@ Like:
|
||||
- DV: User perception of usefulness (e.g., measured via survey or rating).
|
||||
- Method: Likert scale How useful was it?
|
||||
3. Question: Does the user find Categories?
|
||||
|
||||
- IV: Visibility or accessibility of the Categories feature.
|
||||
- DV: User success in locating or using Categories.
|
||||
- Method: Task Completion Testing
|
||||
|
||||
4. Question: Does the icon selection affect user satisfaction?
|
||||
|
||||
- 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
|
||||
|
||||
5. Question: How long does it take for a user to add a Category?
|
||||
|
||||
- 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
|
||||
@ -66,12 +82,16 @@ Like:
|
||||
- Method: Time till completion
|
||||
|
||||
### Heuristic Evaluation
|
||||
|
||||
Based off of Nielsen’s 10 Heuristics. Done by both team members based on the Mockup. Results were implemented in the android application.
|
||||
|
||||
1. Visibility of System Status
|
||||
|
||||
- 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.
|
||||
|
||||
2. Match Between System and the Real World
|
||||
|
||||
- Issues: None
|
||||
- Recommendations: None
|
||||
|
||||
@ -79,14 +99,17 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
- 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.
|
||||
4. Consistency and Standards
|
||||
|
||||
- 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.
|
||||
|
||||
5. Error Prevention
|
||||
|
||||
- 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.
|
||||
|
||||
6. Recognition Rather Than Recall
|
||||
|
||||
- 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.
|
||||
|
||||
@ -94,10 +117,12 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
- 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.
|
||||
8. Aesthetic and Minimalist Design
|
||||
|
||||
- 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.
|
||||
|
||||
9. Help Users Recognize, Diagnose, and Recover from Errors
|
||||
|
||||
- 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.
|
||||
|
||||
@ -107,19 +132,21 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
|
||||
## Results
|
||||
|
||||

|
||||
|
||||
### Participant Demographics
|
||||
|
||||
- **Number of Test Subjects:** 5
|
||||
- **Demographics:** Not specified in the data.
|
||||
- **Demographics:** University Students aged 19-23
|
||||
|
||||
---
|
||||
|
||||
### Quantitative Evaluation
|
||||
|
||||
#### Task Completion Time
|
||||
|
||||
##### Adding a Category:
|
||||
|
||||
| Participant | Time (seconds) |
|
||||
|-------------|----------------|
|
||||
| ----------- | -------------- |
|
||||
| 1 | 18 |
|
||||
| 2 | 69 |
|
||||
| 3 | 40 |
|
||||
@ -131,7 +158,7 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
##### Adding a Transaction:
|
||||
|
||||
| Participant | Time (seconds) |
|
||||
|-------------|----------------|
|
||||
| ----------- | -------------- |
|
||||
| 1 | 18 |
|
||||
| 2 | 11 |
|
||||
| 3 | 60 |
|
||||
@ -140,12 +167,23 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
|
||||
**Average Time:** 32.4 seconds
|
||||
|
||||

|
||||
|
||||
**Time to Add Category vs. Time to Add Transaction:**
|
||||
|
||||
- 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 (15–40 seconds).
|
||||
- For **adding a transaction**, Participant 3 took 60 seconds, while others completed the task in 11–43 seconds.
|
||||
- This variability suggests that some users may have struggled with the interface or navigation, particularly for adding categories.
|
||||
|
||||
---
|
||||
|
||||
#### User Satisfaction Scores
|
||||
|
||||
##### Ease of Use (Scale: 1-7):
|
||||
|
||||
| Participant | Score |
|
||||
|-------------|-------|
|
||||
| ----------- | ----- |
|
||||
| 1 | 7 |
|
||||
| 2 | 5 |
|
||||
| 3 | 7 |
|
||||
@ -154,50 +192,92 @@ Based off of Nielsen’s 10 Heuristics. Done by both team members based on the M
|
||||
|
||||
**Average Score:** 6.4
|
||||
|
||||
##### Usefulness of Categories (Scale: 1-5):
|
||||

|
||||
|
||||
| Participant | Score |
|
||||
|-------------|-------|
|
||||
| 1 | 3 |
|
||||
| 2 | 4 |
|
||||
| 3 | 4 |
|
||||
| 4 | 5 |
|
||||
| 5 | 5 |
|
||||
**Ease of use:**
|
||||
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
---
|
||||
|
||||
#### Finding Categories and their Usefulness
|
||||
|
||||
##### Usefulness of Categories (Scale: 1-5) & Found Categories (Scale: Yes/No):
|
||||
|
||||
| Participant | Score | Found |
|
||||
| ----------- | ----- | ----- |
|
||||
| 1 | 3 | Yes |
|
||||
| 2 | 4 | No |
|
||||
| 3 | 4 | Yes |
|
||||
| 4 | 5 | Yes |
|
||||
| 5 | 5 | Yes |
|
||||
|
||||
**Average Score:** 4.2
|
||||
|
||||
#### Task Success Rate
|
||||
|
||||

|
||||
|
||||
**Finding Categories:**
|
||||
- 4 out of 5 participants (80%) found the categories.
|
||||
- 1 participant did not find the categories.
|
||||
|
||||
**Icon Selection Satisfaction:**
|
||||
- 4 out of 5 participants (80%) were satisfied with the icon selection.
|
||||
- 1 participant noted that "Pets missing" in the icon selection.
|
||||
- The bar chart visually confirms that the majority of participants (80%) successfully found the categories.
|
||||
- However, 1 participant who struggled is representing areas for improvement.
|
||||
|
||||
### Charts
|
||||
---
|
||||
|
||||
- **Bar Chart:** Task completion times for adding categories and transactions.
|
||||
- **Pie Chart:** Percentage of participants who found categories and were satisfied with icon selection.
|
||||
#### Usefulness of Categories vs. Found Categories
|
||||
|
||||
## Qualitative Feedback
|
||||

|
||||
|
||||
**Usefulness of Categories vs. Found Categories:**
|
||||
|
||||
- The stacked bar chart shows a strong correlation between finding categories and perceiving them as useful.
|
||||
- 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.
|
||||
- The chart highlights the importance of making categories easy to find, as discoverability directly impacts perceived usefulness.
|
||||
|
||||
---
|
||||
|
||||
### Qualitative Feedback
|
||||
|
||||
**Positive Feedback:**
|
||||
- "The app is easy to use." (Participant 1, 3, 4)
|
||||
- "Categories are useful for organizing transactions." (Participant 4, 5)
|
||||
|
||||
- "The app is easy to use."
|
||||
- "Categories are useful for organizing transactions."
|
||||
|
||||
**Negative Feedback:**
|
||||
- "I could not find the categories initially." (Participant 2)
|
||||
- "The icon selection is missing a Pets category." (Participant 4)
|
||||
|
||||
- "I could not find the categories initially."
|
||||
- "The icon selection is missing a Pets category."
|
||||
|
||||
**Suggestions for Improvement:**
|
||||
- "Add more icons, especially for Pets." (Participant 4)
|
||||
- "Improve the visibility of categories in the app." (Participant 2)
|
||||
|
||||
## Updates Made to the App
|
||||
- "Add a Pet Icon.”
|
||||
- "Improve the visibility of categories in the app."
|
||||
|
||||
Based on the feedback, the following updates were made:
|
||||
---
|
||||
|
||||
- **Improved Visibility of System Status:** Added Headings for _Category_ and _Transaction_ Screens.
|
||||
- **Improved Category Visibility:** The categories section was redesigned to make it more intuitive and easier to find.
|
||||
### 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:**
|
||||
|
||||
- Added headings for _Category_ and _Transaction_ screens to make navigation more intuitive.
|
||||
|
||||
2. **Improved Category Visibility:**
|
||||
- Redesigned the categories section to make it more prominent and easier to find, addressing the issue raised by Participant 2.
|
||||
|
||||
---
|
||||
|
||||
### Reflection
|
||||
|
||||
#### Xaver Drabik
|
||||
|
||||
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 wouldn’t 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
|
||||
|
||||
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.
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
BIN
ReportImages/database.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
ReportImages/easeOfUse.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 759 KiB After Width: | Height: | Size: 759 KiB |
BIN
ReportImages/successRateOfFindingCategories.jpg
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
ReportImages/timeToAddCategory_vs_timeToAddTransaction.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
ReportImages/usefulnessOfCategories_vs_foundCategories.jpg
Normal file
After Width: | Height: | Size: 42 KiB |