Looming Deadlines – Devlog 001

Revamping a visionOS app idea and taking it in a new direction.

Last summer I made a prototype for an app called Looming Deadlines. It was a silly idea to create countdowns to important events. The fun part was being able to make huge (looming) windows in visionOS. You can read about the initial development here. I made pretty good progress at first but ended up setting the project aside last fall.

I never uninstalled the prototype from my device though. Recently, I’ve found myself using the app more and more. Some time in the last 6 months or so, visionOS got an update that made windows much more persistent. I could open a countdown timer and place it somewhere in my office. It is there every time I put on the headset, at least until the next reboot. That little side-effect has made these countdown windows much more useful to me.

So I’ve decided to revamp the project and start working on it again. I’m going to scale back the scope though, at least for version 1. The idea last year included options for 3D text, immersive mode, some ARKit features, etc. I’m going to drop all that in favor of a simple window-based app. There will be one main window with a list of all deadlines. I’ll create an editor to customize each deadline. I’ll also include the ability to “pop” a deadline out into a new window.

This reduced scope should also make it easier for me to port the app to macOS and maybe even iOS. The macOS version could have much the same structure as the visionOS app. There are some minor changes I’ll need to make to my window logic, but most of the code can be shared. An iOS version would have to be a bit simpler. I’ll have to keep all the deadlines in one place since iOS doesn’t support multiple windows. But I could explore other iOS platform features like widgets, Dynamic Island, and Shortcuts. I haven’t decided for sure to build macOS and iOS versions, but I’m leaning in that direction.

One of the other advantages of sticking to windows, is that I get to spend much more time building ways to customize the deadlines. In the prototype I had some basic colors, gradients for the background and text. I had to leave a lot of features out because they didn’t work well with 3D text. Now I can revisit some of those ideas.

My first visionOS app was Project Graveyard. It was all about using a visionOS Volume to present 3D content (in this case, 3D gravestones for all your dead projects). Dark Spaces is all about Immersive Spaces. So it sort of makes sense to me to have an app that is all about visionOS Windows.

For now, I’m going to make a new branch and start cutting out all the features I don’t need. Then I’ll do some quick testing to see if I can get it running on other devices. The data is already stored in CloudKit, so syncing should just work. From there I’ll start working on the main window, then the editor, and the pop out windows.

Now I just need to set a deadline for when I want to ship version 1.0

Questions or feedback?