← Archive // RSS

Unearthing lessons from 2008: My first Mac apps

by Nathan Pilkenton

April 2023

Summary: I reminisce about the first software I ever shipped—a pair of Mac apps created when I was in high school. Despite their simplicity and flaws, these apps gained surprising popularity, leading me to reflect on the lessons I can learn from their success and apply to my current projects.

An AppleScript kiddie

I wrote my first software during my freshman and sophomore years of high school. I’d been a wannabe script kiddie since middle school—exploring and tinkering with my parents’ old iMac or my school-issued iBook. Up to that point, I’d mostly been writing goofy little AppleScripts to pop up dialogs, or impressing my friends by entering single-user-mode and resetting their account passwords.

Here’s a representative example of the kind of stuff I was up to. This script let me enter someone's phone number and spam them with a bunch of repetitive iChat or text messages:

A poorly-written AppleScript which will allow you to spam someone's phone with iChats or text messages.

Just look at those variable names! At least I was commenting my code…

My first-ever app

The first app I wrote was called Detour.

Our school had a firewall that blocked access to Facebook and many other websites during the day. A friend of mine, who knew much more about computers than I did, had figured out how to get around it using the Terminal. I don’t remember exactly how he got around the firewall (and at the time, I never even understood it). But it was easy and it worked—it just required you to remember some pretty long shell commands.

So I wrapped his shell commands into a little app (which was completely unnecessary; a script would have been fine). I named the app Detour and gave it a little construction sign icon. You could put it in your Dock, click on it, and it would get you around the firewall.

A Detour icon in the Dock.

And it worked great! Within a week or so, there were dozens of kids at my school using it. I remember seeing people in different grades, who I didn’t know very well, with the Detour icon in their dock.

The app only worked for a few weeks before our IT guy caught on and disabled the workaround, but those few weeks felt amazing. I felt like I'd made a real contribution—my friend had figured out the technology, and I'd made it easier to use and to share. It sounds dumb now, but I was really proud of myself.

My second, and most popular, app: Houdini

The second app I wrote was a “hidden files manager”. It was really just a simple GUI to run some different shell commands and AppleScripts: toggle whether hidden files were visible, launch a file picker with hidden files visible, select a file or folder to make hidden, and so on. I called it Houdini and posted it on MacUpdate.
Of course, this app was not affiliated with the 3D software—I'm a little surprised I never got a cease-and-desist letter or anything.

Here’s a screenshot of a later version:

A screenshot of Houdini, a hidden files manager for your Mac.

Somehow, Gina Trapani noticed it and made a short post on Lifehacker about it. Seeing that post for the first time remains one of the coolest experiences I’ve ever had—I felt like I’d made something that really mattered. I watched, stupefied and fascinated, as the downloads ticked up, up, and up, eventually climbing into the hundreds of thousands.

It’s funny—looking back, the app seems incredibly useless. Nowadays, of course, you can just hit Command + Shift + . to show hidden files in a Finder window. And even at the time, I think I knew it didn’t really do anything that interesting. The Lifehacker post calls this out:

You already know the command-line method for revealing hidden files on your Mac, but you have to Google the correct command every time.

And so did some of the commenters:

While this is nice, it's just easier to learn some terminal-fu.
A script to list hidden files? Just seems like overkill…

Plus, even though my app was only doing really basic stuff, I struggled to get it working. There were a ton of embarrassing bugs. I had to get some help from my better-with-computers friend a couple of times.

Houdini actually helped people

But what remains amazing to me is that my dumb little app really helped some people. For instance, a commenter from the MacUpdate page wrote:

It allowed me to salvage 6 gigs of hidden files no other app I found could get at. Its 'move' feature was the trick. Thanks much!

Knowing how Houdini worked, I can absolutely guarantee that this person is wrong. There must have been plenty of other ways to salvage these files, whether with Finder, the Terminal, or the other apps out there that did similar things.

But the thing is: this is what worked for them! My dumb little app was the reason they could fix their problem, even though other solutions were available. And this person wasn’t the only one—other commenters had similar stories:

Houdini worked beautifully for me. I was using time machine on my sisters computer when it came up with an error message saying some file like .30056cdi(blah blah) had some privilege problem. Using houdini I was able to uncover this file, delete it and get time machine working again.
This app saved me time and a reboot. [...] Houdini let me find and delete the file and get my browser back up and running without rebooting the machine. Thank you, thank you, thank you!

Looking back, I’m both proud and awed that my fumbling efforts made a real impact for some people—even if it was only a few.

Why did these apps succeed?

Eventually, I learned Python, and Javascript, and began building my own web apps that did more than just replicate simple shell commands. But funnily enough, none of the projects I’ve launched since high school have had anywhere close to the reach of Houdini, and only one has even surpassed Detour.

This doesn’t bother me, but it’s strange to think that, even though I’ve learned how to make tools that are more powerful, I've had less of an impact on users. As I reflect on those first two apps, I wonder if there are lessons I could take from their success and apply to my current projects.

So here are a few thoughts on why those first two apps were so successful:

Maybe the software ecosystem has changed too much since 2008 for these lessons to be relevant. But my nostalgia for these first two apps is inspiring me to think more simply and focus on obvious and salient user needs—principles that should be timeless.  

← Archive // RSS