1.0.3 Bug fixes and average FPS reduction


Busy Buddy 1.0.3 Devlog Update

I had expected my next update to be a larger one, but in the end, I had bugs to fix. Still, I couldn't just fix a bug. I had to add something.

The Bugs

  • Focus state indicator could hide under certain circumstances (Fixed)
  • Framerate could drop on menu (fixed)

Further Explanation

One of the battery-saving implements I made, which wouldn't update the items on the screen unless data had changed, could inadvertently hide the item completely in some situations. These weren't common situations, it involved restarting a sessions without changing anything about the duration of the first session, but still, I had to fix it. The fix was simple, ensuring we properly checked for the computed message against the cached message for the state indicator. Doing this ensured the state display always loaded the first time.

I had come across another issue while using the app though. While I enjoyed the battery life that 3fps gave me, many interactions felt a little sluggish. A bug that would force the refresh rate on menus down to 3fps made me realize I had to tie state and fps together directly with a function. Now the update function itself would call a function to decide the refresh rate, based on the current state and what's on the screen, not based on individual interactions. This reduces the chance of getting the wrong framerate, regardless of interactions.

Other Changes

This made me rethink the 3fps refresh rate. Opening the main menu or locking the device was just a little too delayed for my taste. But 3fps improved the battery life! If only there was a way for me to have my cake and eat it too.

So I did that.

The average refresh rate should actually be lower with this update in comparison to the previous version, despite increasing the baseline refresh rate to 4fps. This was done by allowing it to drop to 2fps after 30 seconds of inactivity. If the user doesn't interact with the device, the state doesn't change, and the buddy on screen doesn't get swapped out for 30 seconds, the refresh rate will drop to 2fps. This allows us to keep the average refresh rate lower, typically under the 3fps from the last update, while speeding up to 4fps when the user is most likely to interact with the app, like when a buddy swaps out, a state changes, or they actually push a button.

In my testing, battery life improved by around... 2 minutes. Yes, just two minutes. I do some state checking in my update() function, so decreasing the refresh rate doesn't buy me a ton of battery life. With that said, you can easily get over 14 hours of battery life. In my latest test, my Playdate died at 14 hours, 52 minutes. That's more than enough time to work and play.

Coming Soon

Future updates will still include modifying the display rate of buddies, as well as adding new buddies. However, I wanted to get this bug fix out quickly, so don't go searching for a new friend in this update, I'm afraid I'm skipping the new buddy this time around. But more will be on the way, along with a way to keep track of the buddies that drop by and what they say, encouraging users to keep their eyes out for changes and prevent those knocks from becoming white noise in the background, like so many pomodoro apps eventually do.

I just want to thank everyone who has given Busy Buddy a try, and I hope I've been able to help you out and enjoy your work day just a bit more! Thanks, everyone!

- Ellie

Files

Busy Buddy.pdx.zip 510 kB
58 days ago

Get Busy Buddy

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.