macOS Development

Click On Tyler, Indie Business, macOS Development, Personal

One Year of App Pricing Experiments

One of my goals for 2020 is figuring out a financial path forward for my little software business – particularly around how I price and sell my apps.

I’ve been mostly open about the fact that, for a few years, I was incredibly fortunate enough that my software business was successful enough to be my full-time job. I’ve also been pretty honest that sales started slipping in 2017 before cratering in 2018. The reasons for the decline are varied – some my fault, others outside of my control.

But this post is about figuring out what can work in the years ahead. And the genesis of that experiment began last July when I started planning in earnest and setting up the infrastructure to convert my main app to a subscription model.

Read More
Click On Tyler, macOS, macOS Development, Personal

Standup.app

Standup.app is a tiny little Mac app that I made last week because I needed it in my day job. I’m not sure what to do with it or what will ultimately become of it, but, as usual, I figured I should make the app available in case anyone else finds it useful.

It helps facilitate the super-short standup call I run with my team every morning.

It also serves double-duty as a weird, helpful presentation utility for the seemingly never-ending stream of video meetings I have throughout the day.

I know there are other solutions out there, but this one is mine and built to my odd specifications.

Read More
Bash / Shell Script, macOS Development, Nerdery, Open Source

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.

Read More
Click On Tyler, Indie Business, macOS Development, Nerdery, Personal

Solving Problems on Systematic

If you need something to listen to this weekend or during your next commute, here’s a link to me prattling on for forty-six minutes about how and why I build the software I do.

Systematic podcast logo

Brett Terpstra was kind enough to invite me on as the guest of his Systematic podcast this week. And when he says I’m “on about the same level of geek frequency as” he is, well, that’s a heck of a compliment in my book.

Read More
macOS Development, Xcode

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.

Read More
Bash / Shell Script, Hacks, macOS, macOS Development, Nerdery, Open Source, Shortcuts.app

Shelley

I’ve written previously about using Hazel on macOS to react to a new file appearing in a synced iCloud Drive folder and running commands. But I wanted a faster solution that I could trigger from almost anywhere – including an iOS Shortcut. A way to send a command directly from my phone (or maybe any other device?) to my Mac.

What I came up with is a tiny, macOS menu bar app I call Shelley – because as a friend told me, it’s a Frankenstein of a hack.

Read More
Apps, Hacks, macOS, macOS Development

Download Jigsaw for macOS

Jigsaw is one of those ridiculously fun (dumb?) ideas that come along and smack you upside the head one day and you can’t help but take an afternoon to build.

Apple already lets you sync the contents of your Desktop using iCloud. But, if you’re a visual person like me who often arranges their Desktop icons in meaningful ways, not having the positions of your files on screen also stay in sync is frustrating as I move between my laptop and desktop throughout the day.

Jigsaw solves that by syncing the positions of your Desktop icons over iCloud. Move a folder on your iMac, and a few seconds later it mirrors itself on your laptop.

Jigsaw is free to download.

Read More
Apps, Hacks, macOS, macOS Development

Visually Syncing Your Mac’s Desktop

For me, my Mac’s Desktop is my staging ground, my active workspace, the digital representation of my mental RAM. I’ll typically have all of the files related to the task I’m currently working on stored on my Desktop. Once it’s complete, I’ll either file them away or delete them and move on to the next thing.

Having the Desktop on my iMac at home stay in-sync with my work laptop eases the transition and context switching as I move between locations. Dropbox has been doing this for years, but actually getting into the correct folder in Dropbox always has just enough friction to keep me from using it with active files the way I do my Desktop. When Apple added the option to sync your Documents and Desktop folders into iCloud Drive a number of years ago, it was a perfect fit for me…

…almost.

Read More
Indie Business, macOS Development, Personal

Fear and Light

It’s remained that way because I’ve been afraid.

Always, always in the pit of my stomach, deep down in the back of my lizard brain, there’s this nagging voice when it comes to the low-level work, the real work, the type of code that real developers write

You’re not good enough. You can’t make it work. You’re not smart enough to figure it out.

So I keep punting on the work. I keep pushing that bug fix further and further out and just hope that my code keeps working and that a random macOS point release doesn’t bring it all crashing down.

But two nights ago I sat down in my office. And just fucking did it. I told myself “no” was not an acceptable answer and dove into every arcane, unmaintained bit of Apple documentation I could find. Searched old Cocoa mailing lists for sample code, and finally, finally have a working solution.

After thirteen, years I finally got past my own shit and mental demons and made it happen. I guess I was just fed up with myself constantly ducking out of doing the hard work. That, plus a looming deadline I have to meet, finally held my feet to the fire on this particular feature in a way that has never been done before. So many features. So many bug fixes. Thousands of customer emails and replies. Brainstorming sessions. UI mockups on the back up napkins at bars or doodling on a notepad while at my real job. But this one damn bug was always out of reach. And now it’s done.

To my future self ten years from now: this post is for you.

Read More