WWYS Version 2.0

Duncan James-Bell • Apr 14, 2020

Foreign Expenses

I'm starting work on 2.0 of WWYS. This is a significant feature addition which was planned from the initial concept for WWYS. The concept is to add the ability to enter an Expense in a different currency to your home currency, and have the app get the exchange rate from the internet to give a rough value in your home currency. The CSV export would include the actual Expense in its native currency along with the exchange rate used and the converted value in the home currency.

This would allow import to your main finance package, and the foreign Expense can then be identified and corrected against the actual exchange rate used by your bank etc.

The idea is is that using the general exchange rate would give a good idea of what it has cost whist out and about, and provide enough data during reconciliation of the account to identify it correctly.

The difficultly is adding this functionality to the watch without impacting the easy Expense workflow developed so far. To achieve this a new Setting will be added to identify a Travel Currency, which if activated will add a forth page to appear during the addition of an Expense, which will give the user to enter the transaction as either a home currency or travel currency Expense. If no Travel currency has been selected then this page will not appear. Once entered the travel currency value will be converted to your home currency using the rates advertised by the European Central Bank, using the latest data the watch was able to cache. (will try and update once per day, but will use whatever data it has available). The Expense List screen will indicate that a value id an estimation in the home currency, and full details will be available in the CSV export.

One side impact of this change is that the selection of a home currency can't be allowed to change one selected without resetting the Expenses stored in the watch. I doubt this will be an issue because you would expect the home currency to be tied to the bank account being used, so any change would also align with a bank account move so resetting the Expenses would also make sense. This will mean removing the home currency setting and adding it to the Reset Expenses workflow and of course on initial installation.

Please share your thoughts as a comment here or send to wwyssupport@james-bell.net. As I'm only just starting this feature, any comments or ideas are welcome and could be incorporated into the final solution!

Duncan's Blog

By Duncan James-Bell 12 Feb, 2021
Delayed 3.1 Update
By Duncan James-Bell 03 Dec, 2020
After the disappointment of any better messaging API this year, I've been experimenting with better ways to export the data from the watch. In the end I decided the best way forwards was to bite the bullet and sync data to iCloud and write a dedicated iPhone App. The move to iCloud data storage has taken quite a lot of work because changing the data schema in the future becomes harder, so I first of all had to bring forward other features such as multiple account support that impact the data schema. So I am going to do this in two stages. Firstly the next version will come with multiple account support and iCloud data sync, then at a later data an iPhone App to improve data export. I've just completed my first beta version for WatchOS, but its such a big change that I will need to road test it for a few weeks before getting ready to release. I also need to update all the instructions on this web site as its a big change to the overall structure and flow for quite a few use cases. If anyone wants to help out with beta testing please get in touch!
By Duncan James-Bell 30 Jun, 2020
WWDC has been a mixed bag in relation to WWYS. I had really hoped for more message API support on the Apple Watch so I could improve export to use iMessage or email, but unfortunately I can't find anything that might assist. On the other hand SwiftUI has made some big improvements on what is possible. This leaves a dilemma; WWYS was always intended to be based on SwiftUI as being the best way to have a good WatchOS only app, the the reality of the current implementation is that quite a bit of the "Outer Shell" had to be built with WatckKit. In the new WatchOS 7 this would no longer be the case, but removing and porting to full SwiftUI would make it very hard to be backwards compatible with Watch OS 6. Having given it some thought I've decided that my approach will be to first update the current App so that it better aligns with WatchOS 7 during the beta period, using its current architecture in a WatchOS 6 backwards compatible way. This is to support anyone on the beta program and ensure WWYS keeps working. In parallel a WatchOS 7 only port will take place to release as shortly after the official WatchOS 7 release as possible. At this point I will drop WatchOS 6 compatibility and so users will need to upgrade to keep up to date with new versions. However, this will be preceded by a final WatchOS 6 release that is backwards compatible.
More Posts
Share by: