As part of our special patch 2.2.0 event, we're reaching out to a number of the AddOn authors who have developed the AddOns we've all grown to love in World of Warcraft. Whether it's a Unit Frame, a bag mod, or a threat meter, you've probably used at least one of the AddOns these folks have developed. This particular interview is with ckknight - the developer of Cartographer, Fubar and Pitbull, CowTip and Parrot.
Curse: Could you tell us a little about your background in World of Warcraft and how you got into AddOn design?
ckknight: Basically, I had a very shoddy computer back in the day (around February '06), and I was trying to get the "perfect" UI, as many seem to do. I was using all sorts of addons like Discord and Titan and the like, and they were great, but they weren't really lightweight enough for me, so I decided that I'd better bite the bullet and put my programming capabilities to good use.
Curse: What was the first AddOn you worked on for World of Warcraft?
ckknight: My first addon was BossPanel, which I later renamed to FuBar. This was created mostly as a response to Titan. I had originally planned to help the author of Titan out, make it better, more efficient, etc., 'cept that he had been defunct and there was absolutely no good documentation for it. Therefore, it was more effective for me to create my own addon (which I learned a lot from the process) than to try to hack Titan.
Curse: How has being an AddOn author changed the way you play World of Warcraft and how you interact with fellow players?
ckknight: Well, players tend to give me gratitude if I mention in passing that I've created an addon that they use, but all-in-all, it doesn't seem to change all that much. I really don't play all that often, since I find coding more fun. Just the other day, I dinged 51 for the first time. Currently, I'm in a guild with a fellow addon developer, which means that all the other guild members have already been broken in, which has made things a lot easier with regards to trading advice and the like with them.
Curse: By the same token, has it changed your view of the work Blizzard has done with the game?
ckknight: Yes, it's certainly a different light. If addons didn't exist in WoW, I sincerely doubt that I'd play, and I know that quite a few others would have less reason to play as well.
Curse: How badly did WoW 2.0 affect the AddOns you were working on at the time? Did it require you to re-design any of the core features?
ckknight: All-in-all, no. At the time, my only big addon was FuBar, as well as accompanying plugins. For Ace2, which I am also a prominent developer of, I had to change how the hooking system worked, since the old version was then unusable due to the new securities system. Also, because of WoW 2.0, myself and andreasg (another developer) created the addon Click2Cast, which allows for click-casting of spells on unit frames.
Curse: Were any of your AddOns "killed," so to speak, by WoW 2.0?
ckknight: No, though I'm glad I didn't start PitBull (Unit frames addon) before WoW 2.0, since it would've had to have been completely redesigned.
Curse: Are there any AddOns you'd like to work on in the future?
ckknight: I'm not 100% sure. Something will create an itch that badly needs scratching, and on that day, a new project will be made.
Curse: You were one of the coders of the Ace2 set of libraries. Are you happy with how they've turned out and what they've changed in terms of AddOn design?
ckknight: Ace2 is a relatively good framework, I wrote a significant majority of it. There are some warts with it now, which I'd like to see fixed in some way shape or form. I've recently began work on another addon framework, similar to Ace2, but written with proper hindsight about the scope of addons, the role of the community, what is needed in a framework, and what other frameworks (particularly Ace2) have gone through.
Curse: You're the creator of two incredibly popular AddOns, quite possibly some of the most popular in the world: Fubar and Cartographer. What lessons in AddOn design did working on these teach you?
ckknight: I have other addons than that, specifically PitBull (unit frames), CowTip (tooltip), and Parrot (floating combat text). The general lesson I've learned from these addons and all the libraries I've written is that modularity, componentization, and generally proper management of addons is the key. I made Cartographer component-based from the beginning. You're able to take out what you want, put in what you want, all in a very easy to handle way, both from the end user's and the developer's perspective.
Curse: Are there any new features you're working on for Cartographer?
ckknight: Oh, I really don't know, due to the modularity of the system, anyone's welcome to write what they want against it, and if it's good enough, I would be more than happy to include it.
Curse: One of your latest AddOn creations is called Parrot. For those not familiar with it, could you explain what it is?
ckknight: Basically, it's very similar to SCT or MSBT or Blizzard's Floating Combat Text addon. I made it in the hopes that everything would be decoupled from each other, and I've succeeded quite well. It's very featureful because of this, and very manageable. I basically took all the best parts from MSBT and all the best parts from SCT (just ideas, I didn't steal any code), as well as a few of my own ideas to make Parrot.
In reality, though, it's an addon made to eat crackers. It being a workable floating combat text addon is merely a side effect.
One feature that I put in Parrot that wasn't in other addons was icons. Next to each spell cast or heal or mana gain, etc. the spell that caused it to happen will show up next to it, it's very handy for visually oriented people like myself. (Fun fact: A week or so after I put this in, the author of SCT put it in his. Competition hooray!)
Curse: Looking forward, there's talk of 3.0 having a similar impact on AddOns as 2.0 did. Does this concern you at all and make you think twice when an idea for a cool new AddOn pops up in your head?
ckknight: I doubt it, honestly. As far as I can tell, they've reached a point where the only changes will be iterative and evolutionary, not revolutionary like WoW 2.0 was. I'm not concerned about the 3.0 move any more than I am about any other patch.
Curse: If you could change one thing about the World of Warcraft API, and how it limits certain AddOn functionality, what would that be?
ckknight: I want status bars that can be reversed properly. I've asked for this repeatedly, but neither Slouken nor anyone at Blizzard not responded to my requests. *sigh*. It's very useful to have them be able to go right-to-left or down-to-up, and it's currently done with addons through very nasty means.
Curse: Thanks for the interview, ckknight! Is there anything you'd like to say to your AddOn fans, or to Blizzard?
ckknight: It's important to know that I do this for free, and as a result, I'm relatively poor. If you use my addons and like em, please give a donation through paypal to email@example.com - it really means a lot to me when my users do, and it's what keeps me going.
Alternatively, if anyone is willing to offer me a job, I'm looking for one and am relatively competent.