What I'm Up To - Week 37, 2019

Hello! This is my weekly post where I talk about what I did over the past week. This week was really just a big continuation of work on BRGamebookEngine, yet again, for the fourth week in a row I think.


This week was the iPhone announcement, which means iOS 13 is right around the corner. This meant I got to download Xcode 11 and get BRGamebookEngine ready for all the new stuff. Mainly this means dealing with the new presentation style changes and supporting dark mode. Both those articles are a great places to get info on how to do both of these things in your own app.

Here's some screenshots of Gamebook Engine, showing the light and dark mode versions of a couple main screens.

BRGamebookEngine screenshots

Otherwise, the primary thing I worked on this week was figuring out different designs for each screen and getting everything implemented. The app is almost 100% done in regards to a first alpha or beta or something. In a lot of ways this is the more tedious, less exciting part of app development. After the initial rush of getting a project into working condition, it can become a bit of a slog to get through the rest. This is what they mean about "the first 80% and the second 80%" I suppose. You're like "I'm almost done!" but then the yawning expanse of what has to happen to make a real app that other people will do stretches out ahead of you.

It's not even just the polishing of the app that's daunting enough on its own, but you've got to take screenshots for the app store (Two sizes of iPhone + two sizes of iPad), write product copy, get a website prepared or at least a single page with a privacy policy, make a promo video, make a help video, decide how you're going to promote the app, and so on. It's a lot of work!

But I'm still a ways off. I'm trying to slow myself down a little, 'cause I got into a "just get it done!" mentality that started to wear me out, especially when I started to realize how much work there was left to be done. The code at the moment is still a big mess, without much in the way of separation of concerns. I've implemented one thing so far that is definitely a kludge for now that I'll have to clean up later. I still have to write a good 'sample story' that comes bundled with the app. I'm thinking I need to read a couple childhood Choose Your Own Adventure stories just so I can write one that's more accessible than whatever literary nonsense I'll pretentiously churn out by default.

That's about it for me this week. Nothing too exciting! See you next week.

Well hello there!

My name is Brad Root and I'm a software engineer, music aficionado, and occasional unicyclist.

In my spare time, I build open source software, and write about my experiences as a programmer here on this blog.

You can also find me on Twitter, GitHub, and LinkedIn.

If you enjoy the apps I build or articles I write, please consider supporting me by becoming a patron.

Support these projects by becoming a Patron
Numu Tracker

Numu Tracker can keep you up to date on music by the artists you love the most. Part to-do list, part reminders and alerts, Numu gives you the tools to ensure you never miss out on new albums.

View on App StoreView on Github
Life Saver

Life Saver is an implementation of Conway's Game of Life as an abstract, colorful, highly configurable Apple TV app and macOS screensaver that should please designers and nerds alike.

View on App StoreView on Github
Gamebook Engine

Gamebook Engine is an iOS app for creating and playing gamebooks, a type of interactive fiction where the player gets to make decisions that influence the story.

View on TestFlightView on Github
Aeon Garden

Aeon Garden is an abstract artificial life toy for iOS, tvOS, and macOS. A virtual fish tank for all your screens, watch creatures evolve to generative ambient soundscapes.

View on Github