If James Whitehead II knocked on my door right now, I might not recognize him -- but once I realized who he was, I'd throw my arms around his neck in gleeful gratitude. You see, Jim is the brains behind Clique, the popular click-casting add-on that's saved the aching fingers of healers across the globe. (That's worth a little gleeful gratitude, yes sir. And probably a little foot-washing and maybe even a little toe-sucking, too, truth be told. Not to descend into TMI right here in the intro or anything. Ahem.) He's also the creator of mods like PerfectRaid and TomTom and the author of Hacking World of Warcraft and World of Warcraft Programming: A Guide and Reference for Creating WoW Add-ons, now going into its second edition. He's working on a Ph.D. at Oxford University. He rows competitively, he mods, he knits and crochets, he raids ... Ok, ok, let's invite him in for a chat, shall we?
Meanwhile, be sure to enter to win our giveaway of six copies of the new, updated edition of World of Warcraft Programming.
Main character Derwydd ("druid")
Server EU Emerald Dream
15 Minutes of Fame: Your appreciation for the game seems to go deeper than a dry probe of functions you'd like to modify via an add-on. What's your personal WoWstyle?
Jim Whitehead: I like working together with other people for a common goal. I like raids and dungeons because of the lore and the fact that the group can set its own difficulty (by pulling fast and furious, four-manning, etc). I like the battlegrounds every once in a while, but people play them for honor and not for fun, which makes them less fun. Arena is so hard to break into and requires such a potential time commitment in getting gear and working up through the rankings. If I could find a good team that wasn't full of people who are undergeared and don't pay attention, I'd probably really enjoy it.
I am definitely not an altaholic, but I do enjoy have experience with all of the classes. I've leveled a rogue to 70, priest to 70, hunter to 70, druid to 80, death knight to 73 -- but beyond that I just don't have the patience. The rogue was first; the priest was with a purpose in mind; the hunter was because I was bored and it was easy; and the druid was my main. I've never gotten a paladin above 12, I think, for example. I'll eventually have them all at some level, but if I don't enjoy a class I'll stop playing.
How did your background in computers and your personal interest in gaming dovetail to get you where you are today?
Much like most people in my generation, my parents bought a computer when I was younger and either they weren't sure how to do something, or they weren't doing it to my satisfaction. I read the BASIC manual and just tinkered for a while. Then a family friend gave me his Commodore 64 that he had sitting around and I got to play even more! Mostly, though, my parents never discouraged me from working on the computer, and I still had my fair share of playing outside with friends.
I'm wasn't a child prodigy by any means, just a kid who liked working with computers and figuring out how they work. When I was in high school, the school didn't offer any computer courses that would have been even remotely challenging for me, so I took a half-day every day and went to a vocational school for computer courses for a year. I learned quite a lot during those classes, since they were fairly free-form and independent study and don't regret the time I missed by taking them.
Naturally, when I pick up World of Warcraft or my Android phone, I can't help but play with it, and that's how I got sucked into the mini-game of add-on development.
My first add-on project wasn't a new add-on but rather taking over for an existing add-on called WatchDog. I (like many of the early click-casters) was very familiar with CastParty and the way it worked. Fundamentally, I liked the way it looked and love the fact that I could speed up my healing by click-casting. I didn't like the DoTheRightThing() function that allowed someone to faceroll heal, so I was drawn to WatchDog, which was headed in another direction with what seemed to me solid principles. When Vika (the original author) was called away for the U.S. military, I stepped in and started maintaining the add-on.
My basic philosophy with add-ons is to utilize and write add-ons that take something that needs to be done and focus on doing that well. I saw that WatchDog would be better as a unit frame add-on and that another add-on could be written to handle the click-casting functionality. In this way, the first version of Clique was born.
And where did things go from there?
That first version was before Burning Crusade and the secure templates, and I had to write a plug-in within Clique to add support for different unit frames. This naturally got quite nasty, with some many unit frames coming out all the time. When Burning Crusade landed and we had to move to a new system of secure templates, I contacted the leading unit frame authors at that time and we decided on a standard that would allow a unit frame to "register" itself for click-casting. Then any click-casting add-on could provide that functionality without having to write different code for each unit frame. Thus, the current version of Clique was born.
World of Warcraft Programming isn't your first book on WoW. Tell us a little about both your books, if you would.
I worked with Daniel Gilbert as technical editor and co-author of Hacking World of Warcraft. Within the add-on community, the book received quite critical reviews because it didn't cover much about how to use the add-on system to write new add-ons -- but that was never the focus of the book. Hacking World of Warcraft was written to introduce players to the add-on system as a whole and what sort of things were possible. Then it took them through different classes of add-ons (such as unit frames and map mods) and showed a few different examples in detail. It also covered the macro system (with a fantastic guide that pre-dated Cogwheel's guide and the official WoW guide) and showed the user how to write an add-on or two.
I stand by the book and why it was written. It wasn't designed to enlighten add-on authors or people who were already using Curse and WowInterface to get custom add-ons. It was written for people who had heard about add-ons but didn't really know what they were. There's a lot of misinformation about what add-ons can do and whether or not they are "legal." We wrote the book for that uninformed guildmate!
During and after the writing of Hacking World of Warcraft, we had discussed what a future title might look like. It was important to me that we provide a reference that was updated and accurate and contained lots of instructional material about writing add-ons for World of Warcraft, and thus the second book was born.
Have your mods work and books gotten any attention from Blizzard?
I've had Blizzard employees contact me and ask me to add features to PerfectRaid, which was quite fun. I also provided some feedback during the development of 2.0 to make sure that click-casting survived the secure template transition. It's enough for me to know that people (anyone) finds my add-ons useful; that's why I keep developing them.
What's your view on Blizzard's philosophy of encouraging the creation of mods?
I think the way they're supported the community has been fantastic, to be honest. As easy as it is to come up with ways they could provide more to us, I understand why much of that isn't possible. Luckily we have an amazing community that helps to pull everything together. I think WoW and the other games that have allowed rich customization of the user interface have set the bar fairly high for putting the power into the users hands. No design is ever going to be perfect for everyone, so an easy solution is to allow users to write their own "perfect" interfaces.
I don't necessarily mean people who are picky about the backdrop of this frame or the place of the map. I'm talking about people who actually have different playstyles and need functional differences in their user interfaces. There are players who are unable to use the mouse to play, or those who can't use the keyboard and the mouse at the same time. As add-on authors, I always get a nice warm fuzzy feeling when someone tells me that an add-on helps them continue playing the game they love. Blizzard would have a hard time generalizing all of those specific issues, but as add-on authors we can do it for those users that need it!
Is there an area of the default UI that you feel is particularly outstanding (whether part of the original UI or something that came along later)? Any area that you feel is notably weak, an area you wish would receive more attention?
That's actually a really difficult question, because every system that I think of has things that I'd both praise and criticize depending on whether I'm thinking about the use of the system or the programming API for the system.
I think the UI as a whole is very cohesive and provides the average user with all of the information they need in a way that really does make sense. The new quest objective system has made a huge improvement to leveling a character, and while I think it needs a tiny bit more polish, I really think it's quite well done.
That being said, as the author of TomTom, I wish they would expose a bit more of the mapping API so we didn't need to use libraries to place waypoints throughout the world, but there's always something that can be improved.
Long story short, my fiancé wanted to come here to do his graduate degree, and I had been considering going back to school to get my Ph.D. for quite some time. So I applied, got accepted at Oxford and a few other schools, quit my job and came to England a few months later.
I'm doing my work in software development, specifically models of writing structurally concurrent programs. Lots of programs these days use multiple processes and threads to accomplish their task, but they are difficult to write and maintain. We're looking at applying some more formal models of concurrency to application development. We want to make programs easier to write in a way that they run faster on modern machines.
What do you enjoy doing when you're not at a keyboard?
I've rowed competitively for my college and have since coxed and coached as well. I really enjoy rowing as a sport and suspect I'll continue to be involved with rowing even after I'm long gone from Oxford. I also knit and crochet, depending on the season, as it's a great way to keep busy when watching a movie or just sitting in a cafe. When the sun decides to show itself during the summer, I enjoy spending time walking around Oxford and punting on the rivers with my friends.
Visit World of Warcraft Programming for more details about the book.
"I never thought of playing WoW like that!" - neither did we, until we talked with these players. From an Oscar-winning 3-D effects director to a rising pop singer ... from a quadriplegic player to a bunch of guys who get together for dinner and group raiding in person every week ... Catch our 2009 year-end retrospective for a year's worth of WoW personalities.