Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - asromzek

Pages: [1] 2 3 ... 37
Other / Re: Mobile App Beta 2.0.0-beta.8 (Geo-located Payees!)
« on: July 19, 2019, 11:00:11 PM »
The app was updated to v2.0.0-beta.9, which includes a few very minor enhancements and tweaks. It's not exciting enough to warrant a separate post, so the following is a short list of things that were changed or updated.

  • Adjusted warning banner background colors. Some were minor message and a red background was too alarming.
  • Fixed payee saved location not being editable when location services setting is disabled. (The pin could not be dragged on the map.)
  • Add "Budget Loading" message and spinner to all app route views. When viewing a page that contained budget data, refreshing the browser would cause the budget to be reloaded into memory before the page would display data again. With larger budgets it appeared as if the app was not responding for a few seconds. The "Budget Loading" message and spinner provide better feedback that the app is actually doing something.
  • Update note icon. The old icon just didn't look right.
  • Updated a few minor project dependencies under the hood.

Other / Re: Mobile App Beta 2.0.0-beta.8 (Geo-located Payees!)
« on: July 19, 2019, 01:30:06 PM »
I made a couple of small changes without bumping the version.

  • Changed warning banner colors.
  • Fixed that payee saved location pin could not be dragged on the map if location services setting was disabled.

Other / Mobile App Beta 2.0.0-beta.8 (Geo-located Payees!)
« on: July 18, 2019, 11:08:53 PM »
Disclaimer: Backup your budget before testing the beta mobile app, and make sure to pay attention to the recommendations that were posted here to avoid bloating your database:

Double Disclaimer: This is a big update, so a backup is double recommended.

Changes/Fixes (Where to start...)
  • Updated entire app font from Verdana (default) to Robtoto
  • Adjusted amount bubble value shadows to make them appear as if they are popping out instead of sinking into the bubble.
  • Added transaction search box placeholder text.
  • Removed auto-focus on some of the textboxes since it doesn't work well on iOS.
  • Migrated app project to vue-cli 3/webpack 4. This was a major change that brings the entire project to up to current.
  • Replaced "mathjs" library with "expr-eval" to fix calculator math bug after updating the project. (A total day was wasted fighting with that)
  • Fixed back button navigation issues when certain editors are open.
  • Enabled location services for geo-located payee feature.
  • Overhauled payee manager and payee combining editor.
  • Added the ability to clear all location data from the payee editor view.
  • Added a filter to display only payees that have location data saved.
  • Added transaction list to payee editor. This list displays all of the transactions linked to the payee.
  • Added saved location list to payee editor. The coordinates and distance/direction to payee are calculated and listed for each. Individual locations can be deleted.
  • Added saved location editor. The default category for the payee/location can be changed, and a the location can be changed by dragging a pin around on an embedded map.
  • Added location saving when entering a transaction when location services are enabled. The category chosen is linked to the payee at that location for future transactions.
  • Added a banner warning that is displayed if the location services setting is enabled in the app and the browser is set to block location lookups.
  • Updated pouchdb library to v7.10 which forces IndexedDB usage. This results in the 50MB database size limit being removed when using iOS (I think).
  • A bunch of other small refinements that were lost in the mix when committing the bigger changes.

Geo-Located Payees
I have been working on this feature for over a year (on and off), and it's finally, finally, finally working. With the beta, I am not going to give any hints as to how the feature works. I want to see how intuitive it is for every to use, and any feedback regarding issues or improvements that can be made is more than welcome. This feature is disabled by default and can be turned on via the main app settings. Once enabled, the app will attempt to use your mobile device's GPS receiver through the browser to record payee locations when entering transactions. When starting a new transaction the app will attempt to use your current location to lookup payees that may be in range based on saved location data from previous transactions. The location data is saved in the budget file so multiple devices can share the payee information.

Up Next
Geo-located payees was the last major feature that I wanted to add to the mobile app. I am going to slow down a bit and let the dust settle before making anymore major changes. The next beta version will likely be refinements and bug fixes based on internal testing and feedback from users. Again, please provide any feedback that you may have, good or bad.

Beta App:
Current App:

Only a few minor kinks to work out before the geo-located payee feature will be ready to release to beta. Itís going to be a hefty update so Iím going doin extensive testing before send it out into the wild. But so far things are coming together really nicely. Hopefully it will streamline transaction entry on the go.

And just like that, literally a minute or two after I made the last post, the transaction loading is fixed (sort of). I have some other weird scrolling issues to fix, but hopefully I can have it all wrapped up by tomorrow night.

My wife went to the grocery store this evening to test out the new location stuff, and the app saved the coordinates for our apartment to the grocery store payee. The first field test was a failure! However, it's likely already fixed since the app was set to use the last known location in its memory cache on lookup failure. This was also due to the app not throwing an error due to no timeout value being set, so that was added as well. We'll see how further testing goes tomorrow.

I am currently buried under the payee manager revamp, mostly due to going slightly overboard on the functionality. When viewing a payee, a list of the saved locations and transactions for that payee will be displayed. Unfortunately, I'm having issues with the transaction list loading all of the transactions for the payee at once instead of 50 at a time like the account view does. This is critical for performance, so I need to make it work. Transactions will have full editing capability from the payee view, and locations will as well. In fact, a location editor will be added that will have a built in map so you can tweak a saved location if the GPS coordinates were not accurate when the location was saved. Well... that's the current plan depending on how easy it is to implement a google map interface.

I also updated the font across the entire app to Roboto, and tweaked the amount bubbles so the numbers look like they're popping out instead of indented. The next beta release is going to be a significant update, so I'm really looking forward to seeing what's broken!  :parrot:

Search is going to get some more attention before I call it complete. I wanted to get the basics working before moving to wrapping up the geo-located payees and payee manager changes. I'm not sure if I will build a special search panel for advanced searching, or implement some sort of parsed search "language" that you type into the existing text box.

Example: "date>=2019-01-01 amount>10.00 amount <20.00 memo~beer payee!~walmart"

That search string would show transactions that were created on or after January 1st, 2019, that have an amount greater than $10, an amount less than $20, a memo that includes the word "beer", and limited to payees that do not include "walmart" in their name. It's a lot to type into that small textbox, and remembering that out in the field may be a challenge considering how infrequently searching may be needed. The alternative is build an advanced search panel that includes a limited set of common filter types, but is much more intuitive to use. I will do some more homework before proceeding.

After some considerable difficulty last night with the advanced calculator being broken on iOS/Safari, the solution was to replace the "mathjs" library with "expr-eval" to handle parsing of the calculator entry string. After updating the entire app framework and libraries to the latest versions, I found that mathjs just does not work in Safari like it used to. So, out with the old and in with the new, and I can finally get back to updating the payee manager UI. I am already "alpha testing" the geo-located payees with my own budget on special build, so it won't be long before that feature is pushed to the beta app for everyone else to play with.

I took it a step further and completely replaced the vuejs/webpack framework that the app is built on, which brings it up to current. It took all evening just to get the app to build, but itís mostly functional. There are a few things that are completely broken, like the calculator, and that is mostly due to libraries that have been updated. A few imports and deprecated functions need to be fixed, removed, or replaced, and then I can get back to business on the app development.

Geo-located payees is coming along nicely.  I forgot how much I had working last year before the big UI update. In fact, the only thing left to add is a method for clearing all location data from the budget and the abiity to remove individual payee locations. The payee editor needs an overhaul to streamline both of those functions, and that should be working within the next day or two. After that I'll take the app out for some field testing before rolling the changes into the next beta app version later this week.

One thing to note is that the location data is saved in the data for each payee, so it is included in the syncing mechanism. This serves two purposes: logging out and clearing data will not lose your location data, and two or more mobile devices will have access to the shared location data. If my wife saves a location for a payee, I will have access to it when I visit that payee in the future. I considered making the payee location memory work also with local storage (clearing your browser data would clear the location memory), but it would be a lot more complicated to support both methods. Location services is turned off by default with the app so it will ignore any location data saved in the payees and will not save any location data when entering a transaction. Enabling location services in the settings will instruct the app to use your mobile device's GPS via the browser. You will likely have to allow the browser to access your location through a dialog on the first transaction entry. If you block the browser from accessing your location, geo-located payee lookups and saving will not work even if you have the location setting enabled. You will have to re-enable location services for the mobile site in the browser settings if this happens.

I am also taking the plunge and updating almost every dependency library in the app, which is just a little bit risky. The good news is that some manual patches and hacks are no longer necessary due to improvements in some of the libraries. The bad news is that there is definitely some risk for things to break, but that's what a beta is for!

Disclaimer: Backup your budget before testing the beta mobile app, and make sure to pay attention to the recommendations that were posted here to avoid bloating your database:

  • Implemented the All Accounts view which displays a combined list of transactions from all on-budget and off-budget accounts.
  • Added basic transaction search.
  • Fixed transaction memo editor not accepting blank memo value.

Transaction Search
Basic transaction search is now available on the Account view. Look for the magnifying glass icon next to the account balance values, and tap the icon to toggle the search box. Typing a value in the search box will filter the transactions based on matches found in the following list of fields. All search terms must be present in at least one of the fields for the transaction to be included in the results. This is just a first revision so there may be some bugs and odd behavior.  Let me know if you have any issues or a specific type of search that you would like added!
  • Payee
  • Category
  • Memo
  • Amount

Up Next
Geo-located payees is a feature that I have been missing, and it's about time to finish the implementation since it's the last major feature that I have planned for the mobile app. I started working on it last year and ran into quite a few UI/UX issues, and that spurred the complete app rewrite. Now that all of that is out of the way, I can finally get back to business. The goal is to utilize the GPS receiver on your mobile device (which should be available to the browser) to add location memory for a payee when entering a transaction on the go. When adding a new transaction in the future, the mobile app should look for payees that are within a certain physical range from where you are currently standing and either auto-fill the payee or give you a short list of nearby payees to choose from. This should speed up transaction entry considerably for frequently visited payees. Of course, this will be an optional feature that will have to be explicitly enabled in the mobile app settings.

Beta App:
Current App:

Other / Mobile App Beta 2.0.0-beta.6 (Bug Fixes & Minor Improvements)
« on: July 13, 2019, 12:45:12 AM »
Disclaimer: Backup your budget before testing the beta mobile app, and make sure to pay attention to the recommendations that were posted here to avoid bloating your database:

  • Fixed multiple instances where clicking the browser back button would not cancel active editors correctly.
  • Added the ability to display the account name for a transaction in a list. This is only active in the budget view when listing the outflow transactions for a category.
  • Account reconciliation balance values can now be entered as positive numbers for accounts that have a negative balance. This matches the functionality in the main app.
  • Minor UI cleanup.

Summary/Up Next
I didn't have a lot of time this week, so most of the changes are bug fixes or minor changes. There is currently a known bug in the memo editor where the app will not allow blank memos to be saved. You can get around this temporarily by typing a value in and then immediately clearing it, and the Save button should then become active (I think). This was discovered shortly after building the beta app, and it's too late in the evening to fix it, so I'll get it tomorrow. The "All Accounts" view will be coming next, which is why the ability to display the account name in the transaction item view was added. You can see how it looks when tapping on the Outflow for a category that has transactions for the month in the budget view.

Beta App:
Current App:

I didnít realize that it took an absolute value for the reconciliation balance, probably because I interpreted the code in the main app incorrectly. Should be an easy fix which Iíll probably have sorted out tonight. I also have quite a few minor improvements nearly ready to deploy, mostly navigation tweaks and some minor UI polishing. Unfortunately, nothing major was added this week due to lack of free time. Hopefully I can hammer out a few features this weekend.

Disclaimer: Backup your budget before testing the beta mobile app, and make sure to pay attention to the recommendations that were posted here to avoid bloating your database:

  • A spinner is shown next to the budget name when opening to give better feedback that the app is working.
  • The transaction category editor automatically scrolls to the previously selected category if one is set.
  • Pinned categories are shown at the top of the list in the transaction category editor.
  • Split editor displays the transaction total, other splits total, current split value, and remaining value above header.
  • A "Cover Remaining" button was added to split editor to set the current split's value so the remaining amount is zeroed.
  • Minor UI cleanup.

Up Next
Transaction search will have to wait until a future release since I want to do it right, and it's going to take some significant work to wedge it into the UI. I am envisioning both a simple search that will filter based on all fields, and an advanced search that can be used to specify which fields to search in (payee, category, memo, etc.) and/or in a range (date, amount). I also want to get the All Accounts view working since that has always been just a static display of the budget total. To do that I need to figure out how to display the account name with each transaction in the list, which will be interesting to figure out considering how packed each transaction line already is.

Beta App:
Current App:

Other / Re: Mobile App Beta 2.0.0-beta.5 (Account Reconciliation)
« on: July 07, 2019, 08:30:14 AM »
I just realized that I typed the wrong version in the header. It's actually v2.0.0-beta.4.

And fixed.

Other / Mobile App Beta 2.0.0-beta.4 (Account Reconciliation)
« on: July 06, 2019, 10:24:59 PM »
Disclaimer: Backup your budget before testing the beta mobile app, and make sure to pay attention to the recommendations that were posted here to avoid bloating your database:

  • Account reconciliation was added.
  • Budgets can no longer be opened while the application is syncing.
  • Increased main menu item height.
  • Long budget names will overflow better with an ellipsis in the app header.

Account Reconciliation
This feature is a feature that has been missing in the mobile app for way too long. The long holiday weekend provided the right opportunity to buckle down and get it done. A small button with a lock icon has been added next to the "Add Transaction" button in the Account view. Tapping that button will start the account reconciliation process. The button's icon will change to an "X" and reconciliation can be cancelled at any point in the process by tapping the button again. The process should work the same as in the main Financier app.

Keeping Budgets From Being Opened While Syncing
This was implemented mostly to keep a partially synced budget from being opened on initial login and syncing. I am not certain what the consequences are for opening a partially synced budget on initial sync, so it's better to be safe than sorry.

Up Next
The next version should have improved category selection when adding/editing transactions, and some much needed improvements to the split editor. Both of these areas have been a little clunky and can definitely be improved. Transaction search is also a possibility, but that might be pushed out a little further.

Beta App:
Current App:

Pages: [1] 2 3 ... 37