Uses This

Interview

What do people use to get the job done?

Bennett Foddy

Bennett Foddy

Moral philosopher, game developer

Who are you, and what do you do?

I'm Bennett Foddy, and I'm a moral philosopher at Oxford University, where I spend my time reading and writing about things like drug addiction, medical ethics, and human longevity. My hobby is writing videogames for the web and the iPhone, and maybe I'm best-known on the Internet for writing the game QWOP. In previous lives I've made horrible TV commercials and played bass for a pretty good band.

What hardware do you use?

I do almost everything I do on a 15" Retina MacBook Pro and Etymotic hf3 earphones. I want my whole setup to be totally portable, which means no external mouse or monitor, no graphics tablet, no MIDI keyboard, no big chunky headphones or speakers. There are some things you can't do like that, though, so sometimes I'm forced to use an old Wacom tablet for painting, or a Samson C03U condenser mic for recording sound effects. I backup to a Time Capsule and to an external drive that lives in a different building, ever since I met photographer Finn Taylor, who literally takes two full backups every 20 minutes even when he's in the field.

I gave up having a desktop several years ago, because the syncing situation was so bad (it's getting better, but we still aren't quite there) and I depend on knowing where the canonical version of my data is. By the time everything can be neatly synced between computers, there probably won't be a significant performance-based reason to have a desktop anymore. I do keep a Windows PC hooked up to my TV, to play DVDs and to play proper games, since Macs are still really bad for games. I really hope Tim Cook likes games more than Steve Jobs did, since Apple is now the biggest videogame company in the world but still the company that is most hostile to videogame development.

For iOS development, I've decided I can justify a ridiculous upgrade strategy as a business expense, so I have 3 iPhones and and iPad lying around for testing purposes. I love my iPhone 4S even more than I love my Mac, and as a frequent traveler it has completely changed my life. I used to be one of these people with an irrational hatred of everything Apple made, but I went to the dark side in 2007 and I have never once regretted it.

I have a Nikon D90 camera which I love, but I feel less compelled to lug it around since I got the new iPhone with its competent camera.

My website runs on a Serverlove.com cloud-based VPS, which means it feels more like software than hardware.

I keep my legs warm while I'm working with a 4kg red Burmese cat, who performs this service for free.

And what software?

I'm much happier with my hardware situation than my software situation. Despite the ridiculously wide range of software I use, I find myself satisfied with very little of it. For writing philosophy, I have to use Word for collaborating with other philosophers, but I hate it with great passion, so I'm also experimenting with Pages, Scrivener, Byword, Writeroom, Google Docs, LaTEX and (ugh) OpenOffice. Not one of these pieces of software really does what I want it to do, but they are all better than Word, which frequently beachballs for over a minute when I try to paste a single sentence of plain text. For collecting and citing references, I've used Endnote the most, which is almost as bloated and broken as Word, and so I'm now experimenting with Papers and Zotero, which are likewise better but not perfect. I want an integrated writing-and-citing system that has better usability, better stability, better review tools, better note-taking and better multitasking than anything any current application can offer.

Keynote is better than Powerpoint, and you can control it nicely with an iPhone, but both Keynote and Powerpoint are too basic for my needs, and I've moved to using Adobe Illustrator to make PDF presentations instead. That's not really perfect either, so I'm planning to switch to making bespoke, interactive presentations in Actionscript.

For making games, I'm using Audacity for editing sounds, which somehow manages to be less usable than Sound Forge was ten years ago. For graphics I use out-of-date versions of Photoshop and Illustrator, which are fine, but only more impressive than the preceding versions in that they crash every time you try to quit. For testing things in windows I use VMWare Fusion, which is just as hacky and broken as Parallels. I bought Apple's Aperture for photo editing, which is nice to use until it insists on using 6GB of RAM just to copy photos from an SD card, even if your system only has 1GB free. I would like to use 3D software in my toolchain, but I've tried just about everything and every piece of software is either too sadistic (Blender), too expensive (Maya) or too powerless (SketchUp). I'm just glad I don't really write music anymore, because the DAW situation is the worst of all software nightmares.

The quality of software is better, on average, on the Mac than the PC, but software still basically blows on every platform, compared to how it could be. It's partly that the best software has often gotten worse over time because of bloat and it's partly that the art of software design has failed to advance in ways that it should have advanced, especially when it comes to usability. There is actual good software emerging on iOS, and I think there are three reasons for this: first, it's a clean slate, so you don't need to implement broken designs to keep legacy customers happy. Second, the strict constraints of a touch-based, one-window system force developers to actually think deeply about how their software should work. And finally, the enormous gold rush has brought in new blood to write new kinds of apps. Elements on the iPhone is in many ways better than any of the word processors I've used on the Mac or PC.

Maybe I'm sounding like a grumpy old man at this stage, so I should say that I'm not unhappy with all my software. For coding I use Flash Builder and XCode, both of which do what I need them to do. I guess when I have trouble with programming it is generally because I'm not a competent programmer, rather than because of some weakness in the software. XCode and Apple's APIs have really improved over the last 3 years, and it all works pretty well, with just a few exceptions (like CoreData). There are also some great third-party frameworks around right now for making games. I use Flixel and NAPE to make web games, and I use Cocos2D and Box2D to make iPhone games, and in both cases I can just implement my ideas without worrying about the boring, arcane aspects of programming. Making games used to be like needlepoint - painstaking, technical and creatively limiting - but every year it gets a bit more like fingerpainting. I wish that there was some analogue of frameworks that could extend and improve apps like Word or Photoshop. There are plugins and templates, but neither of those things really transforms an app the way Flixel transforms Flex.

I like OS X itself. I use Mail.app for email, iCal for calendars and Preview for PDF reading/editing, and I use the newly updated OS X VNC functionality for controlling my server. I don't feel like it needs a lot of tweaking or extension, but I do use Dropbox and BetterSnapTool and iStat Pro to add functions that I really wish were built in to the system. After years of Firefox loyalism, I ditched it to find a browser that would actually remember passwords when I want it to, and eventually settled on the excellent Chrome over Safari. Firefox has the only good bookmark/history system, Safari has the best usability, and Chrome is the only one which actually remembers your passwords.

What would be your dream setup?

My current MacBook Pro actually isn't too far from my perfect setup, so the truth is I actually don't sit around dreaming about computer hardware these days. But if I could have a current-model MacBook Air with at least 8gb of RAM, a better battery, and fast global wireless Internet, that would basically be the ideal computer in my eyes. In the real world, the Air is already genuinely portable, it's genuinely rugged, it's fast enough, silent, and it doesn't get hot. And the keyboard, trackpad and screen are top-notch. I need to be able to do serious work at a desk, on the train or plane, on the couch, standing up, or lying in bed, so portability is easily my number one demand when it comes to computers.

I guess if money was no object, I'd buy one of those Wacom Cintiq monitor/tablet combos, but I'd probably only use it once every two months. I'd like one of those treadmill-desks, but they are hard to find in the UK. And I need to fix my coffee situation: my Rancilio Silvia has been stuck on the other side of the planet for the last four years, and I'm currently drinking pod coffee.

Something I really want is a controller for prototyping games. Right now, most of game programming works like this: you tweak some constant, start the game, try it out, quit... then you repeat this process hundreds of time until the game feels the way you want it to feel. You could make this 100x faster if you had a complex controller: it would have a range of buttons, dials, sliders and patch leads, and you could hook each one up to a game variable. So for example, I could turn a knob to fine-tune the gravity in a game, and move a slider to change the player's movement speed. I could get the whole thing working right in one attempt. I've seen a couple of hobby projects which work like this, but nothing that's on the market, unless you spring for a full LabView setup and rig it up with a bunch of homemade bridging code, or try to rig up a MIDI-based setup.

But the real thing I dream about is something I can't buy: a word processor that doesn't make me want to kill myself. I keep thinking maybe I should just write one, but I suspect my coding skills aren't yet up to the task.