MacTech Spotlight: Dr. Michael Watson, Scientist, Freeverse, Inc.
Volume Number: 23 (2007)
Issue Number: 12
Column Tag: MacTech Spotlight
MacTech Spotlight: Dr. Michael Watson, Scientist
What do you do?
My official title is "Software Designer", I think. What does that mean? I never have a typical day--one week I might be staring at source code, the next I might spend entirely inside Creative Suite. If this were a job interview, I'd say that I develop Mac OS X software in C, C++, and Objective-C, as well as manage the QA aspects of other software. That's the Resume_Skills_Section answer.
What do I really do? I'm responsible for everything related to our software updates (we use both custom-built install systems and Sparkle, a kickass open-source software update framework), so if you've ever had a problem updating one of our games or applications, I'm the guy who broke something. Sorry.
Every now and then I'll get involved in our games. I created sound effects as well as recorded cut most of the dialogue for WingNuts 2, and that was an absolute blast. Bruce [Morrison] had a pretty good grasp on what he needed, which made my job pretty easy. I was heavily involved with our port of Marathon: Durandal to the Xbox 360, but let's keep moving. I'll rattle on about that later, I'm sure.
How long have you been doing what you do?
I've been at Freeverse for almost two years now. November is my cotton anniversary.
What was your first computer:
Don't laugh: Performa 6200. 75 MHz of RAW POWER, complete with an untold amount of RAM and disk space. I could've run Google on that thing.
Are you Mac-only, or a multi-platform person?
I only own Macs, and I mostly only use Macs at work. We do Xbox 360 development, and some PC ports, so I've got a Windows box near me as well. I've built BSD boxes in the past, but I just don't have the time to tinker these days.
What do I prefer? Mac OS X, hands down. I was just about ready to jump ship to Linux until I got my hands on Mac OS X back in 2001, actually. This was before my developer days, so I was mostly interested in the lack of Type 11 errors. The command-line appealed to the nerd side of me, so it was a no-brainer from that point.
What attracts you to working on the Mac?
The Finder. But seriously, the Mac really has one of the nicest development environments out there. Xcode, Interface Builder, Quartz Composer, all the way down to the great debugging tools--it's easy dive in and Get Things Done. Visual Studio always seems determined to get in my way or make me hunt for things in a sea of toolbar buttons, window sections and sub-panes. The Mac development community is also top-notch, and the third-party applications that I use to do my job are polished and highly functional. Total package.
It may sound a little strange, but I also enjoy working on the Mac because my co-workers and most of my friends use Macs as well. It's not so much that we're all somehow more enlightened or any crap like that, but that we have tons of little things in common that we can talk about during the course of the day. We're all keeping up with Gruber and company, we use the same software, and we make fun of the same bugs. It's a community thing, just like a Web forum or an automobile club.
What's the coolest thing about the Mac?
I have to be honest, I really don't think about it in those terms. I use Mac OS X because it's well-designed, has a lot of powerful APIs to leverage, and doesn't frustrate me. It's a computer, not a religion.
That having been said, Mac OS X ships with the best selection of typefaces of any platform. The typography nerd in me loves that we get Helvetica in the box. Arial's a punk.
If I could change one thing about Apple/OS X, I'd...
From a consumer standpoint, I'd give QuickTime Pro to people to buy brand-new computers. Apple recently "gave" full-screen support to the non-paid version of QuickTime Player, which is a step in the right direction. Maybe it'll happen at some point.
As far as being a developer goes, I'd refine and open some additional parts of the Cocoa APIs that people have been wanting to leverage in their apps. But really, everyone wants to do that. It's just an issue of time--you can't just open up your API without fixing its bugs, cleaning up its interface, documenting it all, and testing it. That takes time and manpower that may need to be focused elsewhere. It's a balance.
The day Apple gives us NSGradient, however, is the day I send Steve Jobs a box of candy. [Ed. Note -- I'm going to hold you to that, Michael!]
What's the coolest tech thing you've done using OS X?
In my previous job, I ran servers that were used to apply software distribution images to machines. One summer, I configured and administered servers that we then used to blast 25,000+ machines consisting of 22 different images over the course of three weeks, no overtime. This was before the days of multicast ASR, so it was both a technical challenge and a process management challenge. How do you coordinate something like that?
Where can we see examples of your work?
I designed and wrote a couple of small applications that have been released, Think and Sandbox. Think is a Get-Things-Done gadget for eliminating distractions while you're working with applications, while still encouraging a flexible workflow. Sandbox is an access control list editor for non-server Macs.
By the time this article runs, we will have shipped version 1.5 of our webcam software Periscope, which I headed up with the help of two amazing engineers, Dennis Piatkowski and Steven Cento. We totally revamped the interface and improved the application in almost every conceivable way. The rest of the team and I are extremely proud of the work.
The next way I'm going to impact IT/OS X/the Mac universe is:
I've been trying to figure out how to answer this question, and to be honest, I can't say I know. At some point, you'll point to something in the Mac world and say, "Hey, this is pretty nice," but you won't know it was me. Like I said earlier, I really prefer to be behind the scenes.
I write articles for my personal site now and then, and I often wonder if they ever make an impact on anyone. Perhaps it's better that I don't know.
Anything else we should know about you?
It's not strictly Mac-related, but I gotta come back to Marathon: Durandal for the Xbox 360. We spent around a year bringing Bungie's legendary Mac game to Xbox Live Arcade, and we're all very, very proud of it. Three of us--Bruce Morrison, Mark Levin, and I--are old-time Bungie community people, and working on that game was a dream in every sense of the word. We'd contributed to the Marathon universe in the past, but to be a part of the game officially wasn't something we thought would happen seven years ago as we sat in our bedrooms making maps with Forge.
It was very important to us to do Bungie's game justice, so we took our time to get it right. Full 720p widescreen support, a complete multiplayer experience that exceeds that of many triple-A DVD titles, really great high-res graphics, 60 frames per second, and even a brand new game mode with four new maps. (MARKETING DEPARTMENT BUZZWORDS.) We hope the Marathon community approves of the translation. We partly did it for them, because we are them.
I was the QA lead for Marathon, designed the multiplayer lobby, oversaw the development of the new game mode, and built three of the four new maps for it. I really hope people dig the work we did.