jameskokoska / Cashew

đź’¸ An app created to help users manage a budget and purchases
https://cashewapp.web.app/
GNU General Public License v3.0
1.52k stars 216 forks source link

[Feature Request] Uniformity and Usability update #143

Closed jaredkz closed 6 months ago

jaredkz commented 7 months ago

Greetings from Australia! First of all, big fan of the app, looking through your code has really been a great learning resource.

I have listed a few suggestions/recommendations below.

  1. Clicking on the + button on the home screen brings up Enter Title which is immediately confusing. Perhaps change to Add Transaction or similar?

  2. Also, there are a bunch of empty squares on my homescreen with no indication of what they are. Maybe just add icon.plus (or w/e) and text below saying Add Goal in a color.

  3. In goals, the examples given are fantastic. This isn't uniform with Budgets, however. I didn't look deeper.

  4. When you decide to merge accounts (which is really cool that this exists) you can't merge say bank1 (default) into bank2 and remove bank1. It merges fine though, you just have an empty bank1. You can then merge bank2 into bank1 and bank2 is deleted. You could seamlessly do it with, say, a merge that, instead of merging bank1 into bank2 because bank1 is default, it merges bank2 into bank1 and renames it bank2.

  5. I clicked on Bank and on the top, what is Decimal Precision, and why does it pop up when I click the 3 dots that usually indicate a menu? They could all be in a menu, or if you wanted to get fancy and if it's possible, the 3 dots drop down a menu which makes the icons up the top disappear and appear in the menu next to their names.

  6. Transfer balance seems redundant as you could just make a transaction that does that.

  7. Those animations. Those damn animations. You've addressed them many times. yt: shorts/nLqE_u_jgP4 You get the idea. I looked at the code and couldn't figure out much other than what you stated, that the animations on iOS and Flutter are... well... a WIP. curves.easeout is not playing nice. Really feels like it lags down the app on iOS, but android is fine of course. My suggestion was to try a different animation on iOS, like maybe curves.linear? or even an option in settings to set it to something else like the minimum animations possible. I couldn't test any of these theories because no build tool for ios.

Details

Additional notes

jrom99 commented 7 months ago

Transfer balance seems redundant as you could just make a transaction that does that.

They're really convenient for me as I have to frequently transfer values between my accounts.

ngocanhtve commented 7 months ago

Transfer balance seems redundant as you could just make a transaction that does that.

They're really convenient for me as I have to frequently transfer values between my accounts.

That's right. I wonder if he wants to remove this feature. Every time we withdraw money from an ATM or transfer money between two bank accounts, how will it be handled?

jaredkz commented 7 months ago

If the transfer balance is a frequently used item, then it would be correct to have its own button, and it does. I wasn’t talking about removing or changing the functionality, but perhaps adding a switch in the Add Transaction button that allows for transferring of funds that way, for example. That was the suggestion, but if the general consensus is to keep it the way it is, then that particular point is already fine and doesn’t need changes.

jrom99 commented 6 months ago

If the transfer balance is a frequently used item, then it would be correct to have its own button, and it does. I wasn’t talking about removing or changing the functionality, but perhaps adding a switch in the Add Transaction button that allows for transferring of funds that way, for example. That was the suggestion, but if the general consensus is to keep it the way it is, then that particular point is already fine and doesn’t need changes.

If I understood correctly, that's already enabled, you can add more complex transactions via a long press on the add transaction button (every day I discover a new wonderful functionality in this app lol)

jaredkz commented 6 months ago

If the transfer balance is a frequently used item, then it would be correct to have its own button, and it does. I wasn’t talking about removing or changing the functionality, but perhaps adding a switch in the Add Transaction button that allows for transferring of funds that way, for example. That was the suggestion, but if the general consensus is to keep it the way it is, then that particular point is already fine and doesn’t need changes.

If I understood correctly, that's already enabled, you can add more complex transactions via a long press on the add transaction button (every day I discover a new wonderful functionality in this app lol)

Oh, you're right. I hadn't noticed this functionality before. Very cool.

jameskokoska commented 6 months ago

Glad you enjoy the app! Keep in mind the code isn't refactored using best practices as early development was a learning tool for me. I've addressed your comments below:

1) Ideally it should say add transaction title, however the UI within Cashew only shows the major action at hand. Because 'Add Transaction' can be seen in the background and it becomes obvious once the add button is pressed once, I don't think it's necessary to have. Also the 'Add Title' workflow can be disabled, so the popup title should reflect the current step.

2) That's a good idea, it should be labelled. Added here: https://github.com/jameskokoska/Cashew/commit/cf7a57767112dc53e4c5f432e3d102a008e94b71

3) When the user first uses the app, onboarding sets up a budget. Therefore, it's unnecessary to provide examples. When goals were first added too, it's use case was a bit confusing. Now that long term loans are introduced, the Goals examples are somewhat redundant.

4) I think merging the main account into something else is a somewhat rare use case. However, I have made it so it will do as you suggested if the main account was to be deleted. Added here: https://github.com/jameskokoska/Cashew/commit/cf7a57767112dc53e4c5f432e3d102a008e94b71

5) I've added a description in the decimal popup and changed its icon to make it more clear. Added here: https://github.com/jameskokoska/Cashew/commit/cf7a57767112dc53e4c5f432e3d102a008e94b71

6) Already addressed in this thread

7) Yea it's a bit unfortunate. For now, the animations are going to stay the way they are. They provide a seamless transition between workspaces. The curve is an important fluidity design choice in motion. Newer devices are able to handle animations better.

ngocanhtve commented 4 months ago

Really feels like it lags down the app on iOS, but android is fine of course.

I realized this animation on Android is just as bad, not smooth at all, even on a flagship device.