the yak is back

by Cody Bromley

5 min read

Today is Apple's 50th birthday. Tim Cook shared a letter about "50 Years of Thinking Different." There are animated homepages, Paul McCartney concerts at Apple Park, commemorative t-shirts and a lot of well-earned celebration for a company that really has put a dent in the universe.

But I've been thinking different about a lost side of Apple's legacy. The side that hides yaks in software.

Yesterday, I wrote about Bruce the Wonder Yak, the little creature who used to live inside Final Cut Pro. The response kind of blew me away. Turns out quite a few people remember Bruce, and they miss him like I did.

So I brought him back. And, no, this is not an April Fools joke.

Bruce the Wonder Yak with a thought bubble: I'm glad it's getting weird again. I didn't understand it when it wasn't weird.

Download Call the Yak for macOS 14+

Not on a Mac? The link above also has a browser-based demo you can try. The entire project is open-source on GitHub (MIT License).

To figure out how to bring Bruce back, I had to look more into where he came from.

Pin the Tale on the Yak

I covered who Bruce is yesterday, but I didn't know his full origin story until I started gathering notes for the post. The first thing I found was this twenty years ago Engadget post where Max Whirl from the original FCP development team explained the yak was a product of Final Cut Pro's grueling development. Lead developer Randy Ubillos and his team had been building the software since its days as KeyGrip at Macromedia, but the project was nearly shut down multiple times. During one particularly miserable schedule meeting, an engineer remarked "if we can't make that schedule, we might as well give up and go herd yaks." And thus, a yak was born.

The earliest documentationof Bruce I could find was a news brief on 2-pop.com dated August 10, 1999 (which I included in screenshot form yesterday). That was just months after FCP 1.0 shipped. Bruce had apparently scared "more than one unsuspecting FCP editor" who feared he was some kind of computer virus. Ubillos himself is quoted assuring users "not to worry" as Bruce was just an "undocumented feature." The brief also notes that "sources in Cupertino" were bothered at people calling Bruce a cow.

In a 2005 Creative Cow forum thread, someone posted asking about a "cow eating grass on my desktop." The correction was swift and emphatic: "There is not now, nor has there ever been a COW eating grass related to FCP!!!! It's a YAK."

Over the years, Bruce became FCP's version of Clarus the Dogcow, part of Apple's unofficial tradition of hiding whimsical creatures inside its software. Different versions of Final Cut had different ways of summoning him: leave the program idle for hours, let the About Box credits scroll, press Option-J and type "Bruce" to reveal a hidden "Call Bruce" button, Ctrl-click repeatedly in the Videoscopes window, or find the hidden "Call the Yak" command buried in the customizable button bar.

The community treated Bruce with an almost superstitious reverence. In that same Creative COW thread, when someone asked how to summon the yak, one user warned it was "bad luck" to share the method publicly. Another cautioned that an editor who posted summoning instructions online subsequently ended up working at H&R Block.

I couldn't find enough evidence to perfectly pin it down, but I remember Bruce vanished somewhere around FCP 6 or 7. Some folks online say his resources lingered in the binary for a while after the activation mechanism was disabled, but I can't verify that. I also saw some unverifiable rumors that easter eggs like Bruce had to be cut out because Apple software couldn't be sold to government contractors if it contained secret code. Either way, he's been gone for nearly two decades now and I've had a lot of feelings about that. Until now!

Down the Yak Hole

I still had a Final Cut Pro 4 DVD lying around so I dug into the installer package, pulled apart the archives and started picking through Final Cut Pro.rsrc.

Just as suspected, there he was, or at least all his strings: "You can call me Bruce the Wonder Yak."

Mac binaries of that era were PowerPC, something I know nothing about. I used Claude Code to disassemble it using Capstone and was able to extract 23 functions, including _YakInit, _CallTheYak and _MakeYakTalk. Some of the names alone tell you these devs had fun working on him.

From there I traced through the code and mapped out Bruce's complete state machine: idle, grass poofs in, walks on from the right, trots across the screen, thought bubble appears, quote shows, bubble closes, exits, resets. The whole lifecycle of a yak visit.

Buried deeper in the binary were the timing ticks, animation framerates, thought bubble layout and more. Every detail was there.

Here's some of my favorite discoveries from the disassembly:

  • The sprite sheet is 21 cells at 33x32 pixels each: 4 grass frames and 17 Bruce frames with trot, graze and panic cycles.

  • The variable for the transparent borderless window that lets Bruce walk across your screen is named trojanYakDesktopWindow.**. Trojan Yak.

  • Near the "Call the Yak" button definition, tucked into the localization code, I found an extra string: "I'm not that easy!". Bruce liked playing hard to get.

Time to Call the Yak

Armed with all the specs of his existence, I rebuilt Bruce as a native macOS app in Swift and SpriteKit.

Call the Yak is designed to run in your menu bar. Click the Yak icon and then "Call the Yak" to summon Bruce. A grass patch will poof onto your screen, and he'll trot on in to graze and share his wisdom in thought bubbles.

It's as faithful to the original as I could make it, down to the frame rates and the 80-pixel proximity scare radius.

A Fitting Birthday Gift

It's incredibly perfect timing that I'd want to make and release this fifty years to the day Apple was founded. In the decades since, Apple shipped some of the most important products in the history of computing. The celebrations are well-deserved, but I just thought it would be better with a particular yak in attendance.

The version of Apple I fell in love with wasn't the one who was one of the most valuable companies, or who threw concerts with rockstars. It was the one that said, "think different."

Hand animating a tiny yak and writing 100 lines of weird text just to make it feel alive will always be peak Apple to me. It was something many users would never see and they didn't do it for social media, or App Store reviews or microtransactions. They did it because they thought it was funny. It is, and I'm still laughing.

In the immortal words of Bruce the Wonder Yak:

The opposite of "Weird" is "Boring".

Here's to the crazy ones. Happy 50th, Apple.