Voxmail – Voice Email with Siri

The idea for this app started eleven months ago as a collection of PHP scripts and a giant Shortcuts.app shortcut. But I quickly realized it would be best served as a real iOS app. I’ve been working on it off and on since February and have teased it a few times publicly on Twitter.

But now I think I’m ready for broader feedback from outside my small group of testers. And hope that feedback will show that it’s useful to more people than just me.

The app is called Voxmail. And (I think?) it’s the first iOS email client that you can’t use on your phone.

Talking to OmniFocus

But one significant change I have made is to my morning routine. And it was made possible by OmniFocus’ version 3.4 update last year. I’m sorry that I’m just now getting around to writing about this new workflow because it’s a lot of fun. And it just might be my favorite new feature Omni has ever shipped. As a user, it’s wowing me with the possibilities. And as an Apple developer, I’m amazed at how well done it is.

Motivation

A few years ago, my therapist told me I’m going to have just the right personality and temperament to enjoy my 40s when I get there. I wasn’t entirely sure how to take his comment then, but now that I’m well into my thirty-eighth trip around the Sun, I think it’s beginning to sink in.

Does Not Contain

I occassioanlly need to scan a folder and all of its subdirectories to see if any of them DO NOT contain files of a certain type.

I’m fully aware you can do this with some combination of shell commands, but I always spent 20 minutes googling for how to do it again every time I needed to. It was faster just to write this small utility myself.

I call it dnc, which stands for “does not contain”. You can download the source or a pre-built binary on GitHub. The builds aren’t notarized. So be sure to ask Apple if it’s OK to run this on your Mac.

Read the full post for an example of why I need this script.

Dot Dee Tee

Inline with my affinity for backing up and owning my data, one component of that strategy is avoiding proprietary file formats and databases whenever possible and reasonable. That’s why I prefer plain text (and more recently .textbundle) for all of my notes, and why I’m so meticulous about how I organize my family’s photo archives.

It gives me the agility to move from app to app or even (heaven forbid, it may eventually happen) to a new platform as my needs change. If you own your own data, there’s no lock-in.

So along those lines, here’s a very tiny optimization (is that the right word for this?) that I’ve been doing for years that helps keep my reference material organized and more easily searchable and filterable.

(Oh, and also a quick story about how I effed up someone else’s data.)

Five

I don’t quite understand how it’s been five years already. Nevertheless, happy birthday to the most fearless and persistent young lady I’ve ever known.

Five

The App That Never Was

While using one of my favorite iOS Shortcuts the other day, it occurred to me how much things have changed in six years.

I say six years ago specifically because it was in 2014 that I made an iOS app called Upshot.

Sadly, Upshot never saw the light of day because I couldn’t get it past App Review for very dumb reasons. Lucky for you though, after I show the ridiculously simple Shortcut that I now use instead, this gives me the opportunity to tell you my very favorite App Store rejection story.

Digital Heirlooms

If you’ve followed this blog for any length of time, you’ll find that I take preserving our (my family’s) digital memories and history seriously.

However, if I were to die tomorrow, the app I made for my son and installed on his iPad this morning will stop working in one-hundred and ninety-two days. Not for any technical reason. Not because of future software incompatibilities. If his iPad remained in working order for another hundred years, it wouldn’t even matter. This digital heirloom will self-destruct as soon as my developer certificate expires.

And it’s all due to an arbitrary decision on Apple’s part.

I don’t think I’m being hyperbolic when I say that future historians and even archaeologists are going to revisit our time and be furious at the direction our industry turned towards using consolidation, monopoly power, and artificial restrictions to protect profits at all costs.

Sample Code to Make your Mac App Open at Launch and How to Handle Global Keyboard Shortcuts

After my post last week about the updates I made to my audio app Ears, longtime internet buddy @macrael asked:

@tylerhall Do you use libraries for the hotkey-setting UI or the start-on-launch stuff? I’m putting together my first Mac app and am looking into those parts rn.

I do, actually. In addition to replying to MacRae on the nightmare birdsite, I thought I’d post the two helper projects here for anyone else searching.