WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Here you can post stuff that is not related to Christopher Ward
Greatpotfarm
Senior Guru
Senior Guru
Posts: 703
Joined: Sun Oct 23, 2022 3:21 pm
CW-watches: 0
Location: Nelson, New Hampshire

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Greatpotfarm »

Thanks Grant, but please don't let my observations or comments take efforts away from your intended schedule unless you deem them more important. This is your show, man, and I'm enjoying it no matter what comes next or how long it takes...
These users thanked the author Greatpotfarm for the post:
Stif
Top of the minute to you all,
Dan
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

I like having people to please! It'd be super easy to only do the fun stuff (and I do really want to rebuild the charts into something great!) but if I keep putting off stuff like image backups I'll probably never do them! You're a pretty special case too, in that for most users I suspect they'll be saving pictures of their (potentially rolling) collection, but you're using it to track some fantastic unique pieces, so just going and re-adding pictures feels more of a challenge!

Helping you out will help motivate me :lol:

For anyone else interested, I've settled on the below four activities for a mini-release, all adding a bit more value, but not sweeping change:
  • Implement Crashlytics analysis (to let me get more detailed crash reporting
  • Build in a backup/restore mechanism for watch images
  • Add a new 'pre-ordered' status & filters (I'm planning to pre-order the new Erebus Origin and like the idea of seeing a countdown to the release date. This one is for the benefit of those that back lots of kickstarters!)
  • Implement a 'sale' mechanism
These are all actually pretty quick changes I think (I don't think Crashlytics looks difficult, but I want to drill down into it I think) - the backup bit might be really easy, or it might be a total pain, but I'll cross that bridge when I come to it - I'm hopeful it'll not be too much change from what's already there.
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

I've had a wee bit of time this weekend, so thought I'd give a wee update on the above.

After a bit of research I've got Crashlytics integrated and working, and for unrelated reasons I had to push a quick update out for the Android version so since I'd tested this I included the Crashlytics code in the update - it looks like it gives a far better view of exceptions and errors, so hopefully this'll help me pinpoint the issue @rkovars is facing with the weird background crashes!
It has helped me identify some weird behaviour with the notification library that's apparently know on later versions of Android, so I'm going to do a wee code review of that area and make sure all the setup reflects the updated advice from the developer.

I've got the pre-order status working (with the previous releases work this was super easy!)
Screenshot 2023-10-15 at 21.03.25.png
You can now add watches you've ordered and track a due/expected date for them, so whether it's a Kickstarter project or an ADs waiting list, the app can now give a countdown to the expected date :)


Whilst reviewing the code relating to images I took a minute to make the camera/gallery picker a bit bigger and nicer to select:
Screenshot 2023-10-15 at 21.01.45.png
...but the reason I was in there in the first place was to get my head around how I was accessing and saving the images, to help me then get them back out!

I've implemented a solution to download all of the watch images stored in the app based on the same 'share' function used in the improved database backup from the last release:
Screenshot 2023-10-15 at 21.06.29.png
Took a couple of tries, but I've got this working ok on Android and the iOS simulator (one note though, if you've got images that were added before version 1.3 these probably won't backup, as I think that's when I refactored the image saving code to work tidily!)

I've not tackled restoring the images yet, but backing them up is the more critical action - I'll hopefully get my head around that this week at some point!

That'll just leave the 'sale' functionality, which I can do in a couple of hours - I've already implemented that on my other app so just need to replicate the changes I made there, and then I'll do the wee notification library review I mentioned above.

So hopefully the next version will be landing pretty soon!
These users thanked the author Stif for the post:
asqwerth
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
watchaholic
Senior Forumgod
Senior Forumgod
Posts: 1942
Joined: Tue Mar 05, 2019 12:28 am
CW-watches: 4
Location: NE North Dakota, USA

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by watchaholic »

Thanks for all the hard work Grant! I’m really enjoying the whole app!
These users thanked the author watchaholic for the post:
Stif
Time and money? I’ve spent most of mine on booze and women. The rest I just wasted…
Dwight
User avatar
rkovars
Moderator
Moderator
Posts: 3578
Joined: Tue Apr 14, 2020 7:56 pm
CW-watches: 5
Location: New England, US

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by rkovars »

Thanks Grant! I'll keep an eye out for the update.
Life is not a matter of holding good cards, but sometimes, playing a poor hand well.
Jack London
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

I was having a wee play with restoring watch images from a backup last night - I didn't try actually restoring them, just built a button on screen and some code that fired when it was pressed to:
  • Open up a file picker to let the user pick the directory that the backup pictures were stored in
  • Iterate over that directory to check for files ending "_front.jpg" or "_back.jpg" and then simply show a dialog box with a count of how many images were found
Nice and simple - it confirmed that I could access the files in a folder, and that it accurately filtered these to only access valid ones...

BUT weirdly it also deleted everything in the directory as part of this process :lol:

So I want to get my head around why it's doing this before progressing further! I may need to first copy the files or something... I'm tempted to initially just release the backup part to give me some more time to think this over...
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

So, I had hoped to have a release out by now, but I've hit a couple of bumps in the road.

Firstly, I've built out pretty much everything that I'd set out to include in this release (which will be a 1.6.x, rather than a jump to 1.7 as there's no major change this time around), with a small exception.

Following on from my last post, I've decided to hold off on implementing the 'restore images' side of things - I really want to get a better understanding of this space before building it all out - however, the backup does seem to work ok, so it does give an option to do a relatively easy manual restore of the images.

The other little bump relates to notifications - this is actively causing background crashes/failures on Android 14 as the notification permission model has changed slightly, which isn't too bad as I'd planned to work on an update here anyway... but to do so I need to jump the library version from version 11 to version 16... and to do that I've needed to update both Android Studio (the software I use to code), Java (the underlying instruction set this is built upon) and Gradle (the build automation software that Android uses to sequence and automate the code compilation)...

Now that should have been really easy, but it caused me two hours of pain last night as build after build failed completely! I decided to put it aside and join my wife to watch some TV, only to wake up this morning with an idea of how to proceed that saw the build work first time this morning :lol:

Anyway... long story short, I've got a bit of testing to do with notifications and then I'll get some beta builds together in the next couple of days - I'm hoping to fix the daylight savings / timezone issue that @timor54 mentioned previously, but again it turns out that's not as straightforward as it sounds! I think I have a fix to try though!
These users thanked the author Stif for the post:
watchaholic
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
rkovars
Moderator
Moderator
Posts: 3578
Joined: Tue Apr 14, 2020 7:56 pm
CW-watches: 5
Location: New England, US

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by rkovars »

Stif wrote: Tue Oct 24, 2023 11:24 am So, I had hoped to have a release out by now, but I've hit a couple of bumps in the road.

Firstly, I've built out pretty much everything that I'd set out to include in this release (which will be a 1.6.x, rather than a jump to 1.7 as there's no major change this time around), with a small exception.

Following on from my last post, I've decided to hold off on implementing the 'restore images' side of things - I really want to get a better understanding of this space before building it all out - however, the backup does seem to work ok, so it does give an option to do a relatively easy manual restore of the images.

The other little bump relates to notifications - this is actively causing background crashes/failures on Android 14 as the notification permission model has changed slightly, which isn't too bad as I'd planned to work on an update here anyway... but to do so I need to jump the library version from version 11 to version 16... and to do that I've needed to update both Android Studio (the software I use to code), Java (the underlying instruction set this is built upon) and Gradle (the build automation software that Android uses to sequence and automate the code compilation)...

Now that should have been really easy, but it caused me two hours of pain last night as build after build failed completely! I decided to put it aside and join my wife to watch some TV, only to wake up this morning with an idea of how to proceed that saw the build work first time this morning :lol:

Anyway... long story short, I've got a bit of testing to do with notifications and then I'll get some beta builds together in the next couple of days - I'm hoping to fix the daylight savings / timezone issue that @timor54 mentioned previously, but again it turns out that's not as straightforward as it sounds! I think I have a fix to try though!
I am glad I am not the only one who works through technical problems in their sleep! :lol:

I haven't had any crashes in a while and I am using the app the same as I have been. So I am not sure what is going on.
These users thanked the author rkovars for the post:
Stif
Life is not a matter of holding good cards, but sometimes, playing a poor hand well.
Jack London
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

I'd meant to ask if they'd stopped happening or if you'd just stopped hitting 'report'! Glad it seems to be working, but frustrated we don't know why it was failing!

On the plus side, now that I've added Crashlytics I can get much clearer logs through, as well as notes on trends (it even seems to send me emails if it notices issues multiple times... although so far that's only been stuff while I've been messing around in test :lol: )
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
asqwerth
Senior Forumgod
Senior Forumgod
Posts: 3582
Joined: Thu Sep 23, 2010 5:47 am
CW-watches: 8

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by asqwerth »

The app has never crashed on my Android phone.
Though it's only from the second most recent version onwards that the backup file was able to be created.
These users thanked the author asqwerth for the post:
Stif
C5As~FLE12R~W61~C60GMT~FLE15~SC
Orion33/Tetra2~BallEH~Montblanc~Tudor BB36~Archimede36~Damasko~Revue T~BremontSolo37~MJW
Vintage~Bulova23~Polerouter~Wittnauer~Longines~Omega~Soumar~Eterna~Gruen

Quartz~Matisse~FLE17~Ebel~Citizen
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

Thanks @asqwerth - overall the app has been pretty stable, but it'll be useful being able to identify if/when it is misbehaving! (Some of the recent Android crashes happen invisibly due to notification permission changes in Android 14).

I've generated the Apple build of v1.6.3 now, so will submit that for review for both live and TestFlight now (the live review often takes a bit longer, so I'm getting into the habit of submitting both at once - I can always reject the live build if issues are found!), so for those on the TestFlight list, look out for it over the next day or two :)

@timor54 - I think I've fixed the timezone issue - you may need to cancel and reset your notification to get a fresh one scheduled though! I should now use the phones time, rather than setting with an absolute time.

I'm looking forward to getting this one out - I think the Crashlytics and Analytics stuff from Firebase will be useful.

If this all goes smoothly, I'll be tackling the wear charts next (and maybe stretching myself a bit to also rebuild the service schedule, to replace it with a collection wide calendar view...)
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

I wrote a reply here yesterday, but it seems to have vanished!

Rich, I see another crash via Test Flight, but frustratingly no logs! Might be worth loading the live version incase the Test Flight wrapper just stops crashlytics reporting.

I also noticed that I've not properly fixed the Android 14 notification permission (I need to request two now!) - I'll release another patch for that asap, but while testing it I also noticed that my notification (after resetting it) is now an hour out :lol:

When fixing the timezone/daylight saving issue that Tumor mentioned I set the app to use 'wall clock time' (i.e. device time) rather than absolute time (i.e. once set it remains 'fixed') - however I think when I create the notification request, I build a datetime object in a way that'll nudge it out an hour is DST...I might be wrong, but I've seen a similar issue at a major UK bank, so...

I'll have a wee play today to see if I can get it all running properly!
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
User avatar
rkovars
Moderator
Moderator
Posts: 3578
Joined: Tue Apr 14, 2020 7:56 pm
CW-watches: 5
Location: New England, US

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by rkovars »

Downloaded the latest live version just now. I'll send a report if it crashes again. It seems like the crashes are not as frequent lately. Not sure why as I am not using it any differently than before.
These users thanked the author rkovars for the post:
Stif
Life is not a matter of holding good cards, but sometimes, playing a poor hand well.
Jack London
User avatar
timor54
Trusted Seller
Trusted Seller
Posts: 1170
Joined: Sat Apr 21, 2018 1:44 pm

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by timor54 »

Stif wrote: Sat Oct 28, 2023 10:57 am
When fixing the timezone/daylight saving issue that Tumor mentioned I set the app to use 'wall clock time' (i.e. device time) rather than absolute time (i.e. once set it remains 'fixed') - however I think when I create the notification request, I build a datetime object in a way that'll nudge it out an hour is DST...
I’m afraid to report that this still does not appear to be working. I missed the clocks reverting back to GMT at the weekend before the latest update was installed, but I’ve been playing with it over the last couple of days.

I reset the notification to fire @19:05 and it worked as expected. The next day I manually set the time forward one hour to simulate moving to GMT +1 and as before it now fired @20:05 i.e. still working on an absolute time from when the notification was setup.

Now, what I’ve done, manually changing time zones, is not the same as it happening automatically through physical movement so is this a factor? Also is the DST seasonal change handled in some esoteric way that isn’t replicated by a manual clock change?

I’m running 1.6.4 on iOS 16.6.1.
These users thanked the author timor54 for the post:
Stif
Tim
User avatar
Stif
Senior Guru
Senior Guru
Posts: 718
Joined: Sun Nov 14, 2021 8:27 pm
CW-watches: 2
Location: Scotland

Re: WristCheck - Stif's mobile watchbox app project - Now live on iOS and Android!

Post by Stif »

Thanks for the update Tim - did you set a new notification on the app? (I think you'd need to turn them off and on to ensure its registered with the new time - but it does sound like you did!).

I wonder if it'll only work with a genuine time change (and maybe not with a location change?)

It definitely now works on Android as I was pleasantly surprised that my notification continued to fire at 9:15 despite the clock change!

In slightly related news, I think in the past you also suggested you'd prefer to see the charts on a rolling 90 days, like OnMyWrist does, rather than monthly... and as part of the rework I'm doing on the wear charts I've now got that up and running.

So far I've rebuilt the page, much as it was before but with the filters separated out (similar to the way the way I implemented the collection ordering) and implemented a series of 'quick filters' that you can instantly flick between.

I'm going to put some 'advanced' filter options in place next...
- Grant

"There is nothing so useless as doing efficiently, that which should not be done at all."

Developer of mobile watch app WristCheck - find out more at wristcheck.app
  • Similar Topics
    Replies
    Views
    Last post