Just in case anyone is still worried about all those irreplaceable memories - and the years of comments and likes from friends and family that go along with them - I'm workin' on it.
I have too many meetings at work. (But that's a topic for another day.) And I take very detailed notes during each one so I have a running history of our project I can refer back to, so I know what's expected of our team, and what we expect from the other groups we work closely with.
There's nothing unique about that. It's just meeting notes.
But what I want to share today are two quick iOS Shortcuts I use to prepare for each meeting.
Jeff Johnson is my favorite kind of developer. He's stubbornly pragmatic in solving the most infuriating types of problems that customers face: The myriad software paper-cuts forced upon us by large corporations trying to squeeze an extra penny of engagement out of every user and the skeezy, underhanded, web developers exploiting our every click.
This post is my next in the ongoing series I promised to write about my favorite apps in support of #IndieSupportWeeks. I've been meaning to write about Jeff's apps for a couple weeks now, and today’s blog post about his newest creation finally forced my hand into doing so. It's just too deviously clever an app not to write about.
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.
I keep looking through my archives of old, private coding projects - the ones that I built just for myself to solve a particular need - to see if I can find any that other folks might find useful. So, here’s another one I spent a few hours cleaning up recently.
It's a native macOS app (wrapper) around the
fastmail.com website that supports:
- Multiple Fastmail accounts.
- Native macOS notifications (and sounds).
- Customizable Dock icon badges.
- Keyboard shortcuts (⌘1 - ⌘9) to quickly open specific accounts.
MailMate is a glorious, configurable, ultimate-nerd-dream of an email client built just for macOS. I use it every day in conjunction with Fastmail and SaneBox to give me email super powers.
But the killer feature? It just fucking works.
And believe me. I’ve tried every single email client for Mac and iOS – paid apps, free apps, subscription apps, apps from small companies, and apps from giant corporations.
I don’t know what else to say except that I love this app so much. And unless I’m horribly mistaken and there is secretly a giant corporation hiding behind MailMate and slurping up all of my private data, MailMate is built by a single developer, which is even more awe inspiring.
And when the other side is reached, I hope we can look back on the things we did and how we were feeling in this moment and learn from that.