<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:g-custom="http://base.google.com/cns/1.0" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>Duncan's Blog</title>
    <link>https://www.james-bell.net</link>
    <description>Random things of interest to myself. Mainly iOS/WatchOs</description>
    <atom:link href="https://www.james-bell.net/feed/rss2" type="application/rss+xml" rel="self" />
    <item>
      <title>New iPhone App</title>
      <link>https://www.james-bell.net/new-iphone-app</link>
      <description />
      <content:encoded>&lt;div data-rss-type="text"&gt;&#xD;
  &lt;h3&gt;&#xD;
    &lt;span&gt;&#xD;
      
           Delayed 3.1 Update
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/h3&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;p&gt;&#xD;
    &lt;span&gt;&#xD;
      
           After completing the WatchOS changes over xmas, I had intended to release the Apple Watch version with multiple accounts and iCloud sync as a standalone release before starting work on the iPhone App. However in reconfiguring the project to start working on the iPhone App I then found I could no longer release Watch apps without the iPhone App....probably because of my lack of understanding of Xcode configuration; but in the end I needed to complete the bare bones of an iPhone App before finally getting this release done.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/p&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 12 Feb 2021 21:28:20 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/new-iphone-app</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS Version 3.1</title>
      <link>https://www.james-bell.net/wwys-version-4-0</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         The next step...
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         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.
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          If anyone wants to help out with beta testing please get in touch!
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 03 Dec 2020 20:41:49 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/wwys-version-4-0</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>Post WWDC 2020 Plans</title>
      <link>https://www.james-bell.net/post-wwdc-2020-plans</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         What next for WWYS?
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         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.
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 30 Jun 2020 12:00:52 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/post-wwdc-2020-plans</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>Complications</title>
      <link>https://www.james-bell.net/complications</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Updated and over complicated Complications
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         I've been working on improved complication support for WWYS. Apples logic behind these complications is incomprehensible. For those who have never looked into this, different watch faces support different complications. Some look almost identical on the watch in size and shape, but vary in what data can be added to them. I was trying to mainly provide the daily spend directly on the complication, but was unable to make this work in all cases. 
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Some complications allow text or images, others support some kind of gauge, and even though they may look the same shape not all can be used on every watch face - there seems to be no specific logic, almost as if Apple just a a new type every time they get a new idea and add it it the faces they are working on at present!
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Anyway the results will be in the next update. I'm not really happy with them, but its the best I can do without finding way to add a gauge of some kind ;-&amp;gt;
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          I did wonder about adding a weekly/daily spend target just so I could do this, but it just seems so artificial. After all I've put the totals on the main screen so if you can't work from that adding a little bar doesn't seem to do much other than look pretty and add complication - which I have tried to avoid as the functional path being simple is the most important aspect of the app. 
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Sat, 09 May 2020 19:01:42 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/complications</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>Weird SwiftUI bugs</title>
      <link>https://www.james-bell.net/weird-swiftui-bugs</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Discovered some odd SwiftUI layout differences between WatchOS 6.1 and 6.2
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         There seems to have been a change on WatchOS (maybe other platforms as well for all I know) in how SwiftUI lays out views when it comes to sizing Text. I've been investigating why WWYS running on 6.1.2 seems to have odd places where the Font is so small it can't be read....
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Its not everywhere and I can't work out the logic. The place I noticed it were:
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;ul&gt;&#xD;
      &lt;li&gt;&#xD;
        
            Text in Expenses Pay list rows
           &#xD;
      &lt;/li&gt;&#xD;
      &lt;li&gt;&#xD;
        
            Text in Welcome Screen beneath the Currency Picker
           &#xD;
      &lt;/li&gt;&#xD;
      &lt;li&gt;&#xD;
        
            OK Button in Filter screen
           &#xD;
      &lt;/li&gt;&#xD;
      &lt;li&gt;&#xD;
        
            Test In Change Currency Screen beneath Picker
           &#xD;
      &lt;/li&gt;&#xD;
    &lt;/ul&gt;&#xD;
    &lt;div&gt;&#xD;
      
           I'm sure there would be others. I downloaded the old OS for the simulator and it replicated what I see on the watch. Definitely related to which elements get preferred sizes. For now I've given up trying to work it out and will move the minimum supported version to 6.2 as I suspect this may be one of those early SwiftUI things Apple fixed without telling anyone (at least I can't find anything in the release notes). 
          &#xD;
    &lt;/div&gt;&#xD;
    &lt;div&gt;&#xD;
      &lt;br/&gt;&#xD;
    &lt;/div&gt;&#xD;
    &lt;div&gt;&#xD;
      
           Its not totally satisfactory, but not worth adding complexity for multiple operating system versions support in a free App, unless I can get much more clarity on what has changed. So apologies to any users - you'll have to upgrade WatchOS if you see this issue.
          &#xD;
    &lt;/div&gt;&#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 30 Apr 2020 18:25:23 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/weird-swiftui-bugs</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS 2.0 Released</title>
      <link>https://www.james-bell.net/wwys-2-0-released</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         WWYS 2.0 has just been approved on the App Store.
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         This release has now been approved. I plan to take a break on feature development for now. I'll fix any bugs that get reported, but for what I want to do next I want to see what Apple release in WatchOS 7 at WWDC. Its likely that they may add APIs, that would make it much easier and I don't want to start and find that I've wasted effort.
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          If anyone has feature requests or ideas, comments and even complaints let me know at wwyssupport@james-bell.net
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Sat, 25 Apr 2020 17:51:51 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/wwys-2-0-released</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS 2.0 Update</title>
      <link>https://www.james-bell.net/wwys-2-0-update</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Foreign Expenses in Beta
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         The work on WWYS foreign expenses has gone very well.
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          In the end I decided to add a setting to turn on foreign expenses and let you select a default currency. When the is switched on, WWYS does a daily attempt to get all the exchange rates against your home currency and caches them. A new page is added to Expense creation, which takes the amount entered assuming your default foreign currency and converts it to your home currency. If the is the intent then you can just swipe over to confirmation; but you could change to another currency or enter an explicit exchange rate from this screen.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          This seems to give an easy workflow for the intended use case; a trip abroad, where you can turn the feature on for the duration of the trip and get immediate translations to your most likely foreign currency, but could still switch it if for example you were offered a currency choice when making a card transaction, or made a border crossing etc. The design aim is to minimise the interaction needed to create an Expense and keep a simple fast interaction.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Therefore I'm really pleased that this design has zero impact when foreign expenses is switched off; no change to the current Expense workflow, or data that has to be displayed on the limited screen real estate
          &#xD;
    &lt;span&gt;&#xD;
      
           . The setting can be toggled or default foreign currency modified at any time. 
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          I'm currently testing out builds of 2.0, with foreign Expense support and quite a number of major bug fixes for problems uncovered in the redesign - this may take longer than usual because it's been a big architectural change, and also because I don't have the same opportunities for live testing under lockdown as previously.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          If anyone would like to volunteer as a beta tester please contact me at wwyssupport@james-bell.net.
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 23 Apr 2020 19:17:49 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/wwys-2-0-update</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS Version 2.0</title>
      <link>https://www.james-bell.net/wwys-version-2-0</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Foreign Expenses
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  &lt;div&gt;&#xD;
    
          I'm starting work on 2.0 of WWYS. 
          &#xD;
    &lt;span&gt;&#xD;
      
           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.
          &#xD;
    &lt;/span&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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.
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          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!
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 14 Apr 2020 15:22:36 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/wwys-version-2-0</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>Small Mistakes....</title>
      <link>https://www.james-bell.net/small-mistakes</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         I made a small error in setting up WWYS and I've only just worked it out!
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         WWYS is mainly written using SwiftUI. However there were quite a few gaps in SwiftUI when I started out. It was not clear how to get a set of Pages to work as SwiftUI doesn't provide a PageViewController. (I realise I could have written one, but that was slightly beyond me and not my focus when I started. Plus I still think it likely Apple will provide a standard control in the next version of WatchOS)
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Anyway the way I set it up was to use a WKHostingViewController around each "Page" view and launch a set of pages using the reloadRootPageControllers, which I put inside applicationDidBecomeActive(). At some point a realised that one of the stability issues I was having meant this should have been out a DispatchQueue.main.async block, and that's how its worked ever since....
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          Coming to todays issue I had been aware for a while that every time you leave WWYS, next time to go back to it you are forced back to the top level.  Most of the time this would probably be correct behaviour; if the app is left for prolonged periods then starting at the opening screen is more than likely what the user desires and expects. But if you are in the middle of entering a new Expense it definitely is not. Unfortunately this happens quite frequently to me as I get a notification of a contactless payment shortly after its made and usually whilst I'm in the middle of creating the Expense in WWYS!
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          I started work on looking at solving this problem by saving UI state so that on return the app could resume correctly. This turned out to be very complex as WatchOS doesn't provide the same framework as iOS and as I am using a mixture of SwiftUI and WatchKit, its much harder to roll your own solution. It was whilst I was tracing through the API calls of SwiftUI and WatchKit when you exit WWYS in every use case I could think of, that I noticed that of course applicationDidBecomeActive() is triggered EVERY time the app becomes active, even if the App has not been closed bu WatchOS. Hence all I had to do to solve the bug was move the reload out of this method...duh. I don't need to store UI state at all - just wish I could now get back the 4 evenings this week I've spent puzzling over this problem.
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Sat, 11 Apr 2020 19:41:19 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/small-mistakes</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>A New Approach To Export</title>
      <link>https://www.james-bell.net/a-new-approach-to-export</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
                  
         Export based on filter
        
                &#xD;
&lt;/h3&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.42.png"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;a&gt;&#xD;
    &lt;img src="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.48.png" alt=""/&gt;&#xD;
  &lt;/a&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;a&gt;&#xD;
    &lt;img src="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.54.png" alt=""/&gt;&#xD;
  &lt;/a&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
                  
         After 1.3 made its way to the App Store I started work on adding the ability to record for each expense when it is exported. This means its no longer necessary to delete all the expenses, after each export to stop them being re-exported. I added the ability to filter on whether or not an Expense has been exported so that the default view can show Expenses that haven't yet been exported as the default view. Modifying the filter allows previously exported Expenses to be viewed if desired.
         
                  &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          This led to the decision to make export work with the current filter so that it exports exactly what is on the screen - so export has been moved to the Menu on the Expenses List. With all filters off therefore it exports the as yet unexpected Expenses, which would be the normal case. 
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          These changes caused a new layout problem as there were too many Menu items. 
          
                    &#xD;
    &lt;span&gt;&#xD;
      
                      
           To solve this I've moved the Predefined filters onto the top of the Filter screen, along with redesigning how the top level shows which filters are active (giving a textual description was getting to take too much space).
          
                    &#xD;
    &lt;/span&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          Hopefully the end result is a neater and more logical user experience!
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          With so many changes I will try it out myself for a couple of week to make sure its all working as expected before submitting to the App Store.
         
                  &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.42.png" length="7608" type="image/png" />
      <pubDate>Thu, 02 Apr 2020 18:48:03 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/a-new-approach-to-export</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.42.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Simulator+Screen+Shot+-+Apple+Watch+Series+5+-+44mm+-+2020-04-02+at+19.34.42.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Next WWYS Release 1.3 submitted for review</title>
      <link>https://www.james-bell.net/next-wwys-release-1-3-submitted-for-review</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Filtering Expenses
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         The first version of Expense Filtering was completed last night and submitted for App Store approval.
         &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          This version add a Long Press Menu to the expenses screen to allow filtering by date range or payee (or both). At the moment the filter is not persisted, as in discussion with some users, this was the preferred option; filtering being temporal by nature. The default view is set to a 7 day period. Both these decisions are a bit arbitrary so any feedback welcome!
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          I will be adding filtering by amount range shortly to complete the filter functionality I currently have planned, then next I will look at recording which expenses have been exported, and allowing export based on the applied filter!
         &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
          As always let me know you thoughts on these any any other feature ideas.
         &#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 27 Mar 2020 11:34:10 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/next-wwys-release-1-3-submitted-for-review</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>New Feature Ideas Welcome</title>
      <link>https://www.james-bell.net/new-feature-ideas-welcome</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
                  
         Spare time on my hands....
        
                &#xD;
&lt;/h3&gt;&#xD;
&lt;div&gt;&#xD;
  &lt;img src="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Unknown-4b7b28bf.png"/&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
                  
         Due to the Corona virus situation I seem to have time on my hands to work on the next major feature set for WWYS.
         
                  &#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          I'm currently working on adding more control to what gets displayed in the Expenses list view, and I'd like to give more control over what gets exported to CSV. 
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          The other area I desperately want to improve is the whole export mechanism. Originally I wanted to send an export via email, and had in fact fully implemented it and tested in the simulator, but it appears the limitations on the Apple Watch means that low level socket code is not allowed so my SMTP integration was blocked (which begs the question of why Apple doesn't reflect that in the simulator....). Anyway I moved to an HTTP file upload at the last minute as the best solution I could find.
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          The only other solution that seem possible are to create an iPhone app to handle the export. I'm really reluctant to do this as my whole project was to create a standalone watch app. Of course Apple may have new possibilities in WatchOS7 in June, so in any case I'm not going near this till at least after WWDC.
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          I have also found some services that provide an HTTP access to SMTP server. This should be possible, but they change for usage and I don't really think this app would generate anything like enough revenue to cover the cost. I am thinking of investigating it though because I'd really like it to work this way! If I succeed it may have to be an in app purchase option.
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          Anyway if anyone has any thoughts or feedback please get in touch via the support email link.
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    
                    
          wwyssupport@james-bell.net
         
                  &#xD;
  &lt;/div&gt;&#xD;
  &lt;div&gt;&#xD;
    &lt;br/&gt;&#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Unknown.png" length="5222" type="image/png" />
      <pubDate>Wed, 18 Mar 2020 12:39:53 GMT</pubDate>
      <guid>https://www.james-bell.net/new-feature-ideas-welcome</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Unknown.png">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/Unknown.png">
        <media:description>main image</media:description>
      </media:content>
    </item>
    <item>
      <title>Internationalisation Added to WWYS</title>
      <link>https://www.james-bell.net/internationalisation-added-to-wwys</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Just submitted to the App Store...
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         Not quite in my planned order but next update is ready. This one adds internationalisation for Dates and Language support for German
         &#xD;
  &lt;span&gt;&#xD;
    
          , French &amp;amp; Spanish. I apologise in advance for any poor translations! If you have a better translation or suggest a correction then please get in touch!
         &#xD;
  &lt;/span&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 05 Mar 2020 19:38:56 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/internationalisation-added-to-wwys</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>Next release nearly ready</title>
      <link>https://www.james-bell.net/next-release-nearly-ready</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Release 1.1 is almost ready to go to App submission!
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         So far I've completed:
         &#xD;
  &lt;div&gt;&#xD;
    &lt;ul&gt;&#xD;
      &lt;li&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Weekly spending total (with option to specify which day is the start of the week)
            &#xD;
        &lt;/span&gt;&#xD;
        &lt;br/&gt;&#xD;
      &lt;/li&gt;&#xD;
      &lt;li&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Lots of new currencies - hopefully most of those in Europe and North America
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/li&gt;&#xD;
      &lt;li&gt;&#xD;
        &lt;span&gt;&#xD;
          
             Modified and improved numeric keyboard animations to feel more responsive.
            &#xD;
        &lt;/span&gt;&#xD;
      &lt;/li&gt;&#xD;
    &lt;/ul&gt;&#xD;
  &lt;/div&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Sun, 23 Feb 2020 15:58:51 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/next-release-nearly-ready</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS Lauched on the App Store!</title>
      <link>https://www.james-bell.net/wwys-lauched-on-the-app-store</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Launch Day
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         WWYS passed App Store approval today and is now officially in the App Store!
        &#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 11 Feb 2020 22:04:49 GMT</pubDate>
      <author>duncan.jamesbell@icloud.com (Duncan James-Bell)</author>
      <guid>https://www.james-bell.net/wwys-lauched-on-the-app-store</guid>
      <g-custom:tags type="string" />
    </item>
    <item>
      <title>WWYS First WatchOS App</title>
      <link>https://www.james-bell.net/wwys-first-watchos-app</link>
      <description />
      <content:encoded>&lt;h3&gt;&#xD;
  
         Watch What You Spend
        &#xD;
&lt;/h3&gt;&#xD;
&lt;div data-rss-type="text"&gt;&#xD;
  
         My first WatchOS App for Apple Watch. I'm in the process of submitting it for App review and its more complicated than I thought it would be!
        &#xD;
&lt;/div&gt;</content:encoded>
      <enclosure url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/NewIcon.jpg" length="25320" type="image/jpeg" />
      <pubDate>Sun, 09 Feb 2020 19:48:53 GMT</pubDate>
      <guid>https://www.james-bell.net/wwys-first-watchos-app</guid>
      <g-custom:tags type="string" />
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/NewIcon.jpg">
        <media:description>thumbnail</media:description>
      </media:content>
      <media:content medium="image" url="https://irp-cdn.multiscreensite.com/0dea40f2/dms3rep/multi/NewIcon.jpg">
        <media:description>main image</media:description>
      </media:content>
    </item>
  </channel>
</rss>
