Monday, August 25, 2025

It's threads.... all the way down...

It's been a delightful (Narrator's voice: it has not been delightful) three days trying to get one little screen update to work. One of the things I needed to get improved was the front loading screen. And, I thought the simplest way to make it not feel like it was just hanging for 10 seconds, was to show what it was doing. Simple. (Narrator's voice: it should have been simple).

So I set up some extra update script, to show what was happening. And it didn't do anything, till it was finished. Ten seconds later. Then it showed that it was in fact, complete. (Narrator's voice: Called it)

That was about two days and twenty three hours ago.

Since then, I've been scratching my head trying to work out why a simple update, that, using logging, was telling me black and blue that it was updating perfectly well, wasn't updating perfectly well at all.

And look, this is once again, one of those "If you know, you know..." things. But it turns out that, yet again (Narrator's voice: There's a lot of swearing not being typed here) Threads aren't as simple as you might think. And in this case, they are, but a particular Android queue that I have set up in my low-priority-background thread... does everything as the highest possible priority. It doesn't make anything like that obvious, it just does. And when I went through the docs (Narrator's voice: You know things are desperate when you start reading those) that it runs the response on the UI thread (That's Android's highest bestest most importantest thread) JUST IN CASE there are some UI updates to perform.

So. Once that penny dropped in my head (Narrator's voice: Like I said, when you know, you know) I was able to solve the update issue, but much more importantly, a whole bunch of other issues that caused lag in the app, that had always been there, but I didn't know why at all. They weren't game breakers, but certainly were noticeable if you were looking for them. And now, by being able to actually push all the background tasks to the background, it's running much better.

Friday, August 22, 2025

The break that just kept going and going

So, while I've not really been making a concentrated effort to get away from the code, I have kind of done very little in a long time in the app. And like I said a few posts back (though it seems like a really long time ago) there's been a lot of changes going on, and it's been altogether way too easy to fall out of my routines in what I did and when. I will be very upfront though. In terms of stress, it's been MUCH better. It's also given me time to get into a few things that have been on the back burner for way too long, and I will admit, I got a bit greedy with some of those things and couldn't really put them down.

The good news is that I've done a lot of organising in my man-cave workshop. I've redone the dust extractor for all my woodworking machines, and it works amazingly now. I've also redone a bunch of storage up in a mezzanine above it, and have finally (earlier today) made some semblance of tidiness and organisation in a bunch of my tabletop gaming stuff - which was at a level that was just soul-draining each time I looked at it, or needed to get something or do something up there. I've also managed to give away a few woodworking machines to make more room.... and yada yada yada... basically, I am metaphorically cleaning up my life through my workshop and garden. And I think I've needed it mentally.

So. Torn Realms.

Yes. It feels like there's a few more days in the workshop to be able to get my car back in, and have it to a truly good level again, but with that, it's also meaning that I will be really focused on the app properly again as my main priority.

I've not completely been ignoring the app, in fact I've made quite a bit of world here and there, and what I'd started in the new Quirkwood has been going really nicely, but that's also not what I need to focus on right now. There's a few small things left in the app that I'd like to get done and then release it for testing to a bunch of new testers (a good bunch revolves around initial party creation, and making sure that's spot on - so I can't have old testers really getting into it) and I need a game-tips thing while the game is processing data after login, but before full game launch. It's really not a lot of work. And so it's going to get done. And there's going to be some fresh testing.... and if the input there is good, I think it really is open testing time.

UX Interface Updates, Tweaks and Improvements

Today I've spent the majority of the day working with the android native navigation bars, working out when it's right to show, when ...