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 KarlKFI - Lead Developer of Cosmos and many others.
Curse: Could you tell us a little about your background in World of Warcraft and how you got into AddOn design?
KarlKFI: I've been playing WoW since the first Stress Test Beta. I leveled a human paladin in both stress tests and then again in live. And I've never been able to level another character past 20 since then, big surprise. I didn't get into addons until live, though.
Curse: What was the first AddOn you worked on for World of Warcraft?
KarlKFI: I first worked on a 1337 speak cross faction translator which then lead to a collaboration with a few other authors to make UniversalTranslator. UT then became the first and only addon ever to get you banned and we were told to stop distributing it. Soon after, they disabled it's functionality in WoW and decided that they would no longer ban for addons using their API, but instead break the addons they didn't want used.
Curse: How has being an AddOn author changed the way you play World of Warcraft and how you interact with fellow players?
KarlKFI: Well I use a lot of addons for one thing. I also have a handful of other people's addons that I've tweaked to have other features. Thankfully, in game I don't get many addon troubleshooting requests. Some of the people in my guild use a few of the addons I maintain, like DamageMeters and Wardrobe, but mostly they just treat me like any other guildie. I made a point to not go for any officer position, I don't really have the time to do that, raid and maintain my 50 some addons.
Curse: By the same token, has it changed your view of the work Blizzard has done with the game?
KarlKFI: I get kinda annoyed when Blizzard breaks or even incorporates an addon of mine. I kinda wish they put in some "Inspired by" comments or something into the code. I try to take it as a compliment anyway. I think they've incorporated 5 of my mods now and broken another half dozen. I'm not krka, they broke his only (awesome) addon (AutoTravel) and he basically quit WoW. I've got lots of addons to work on and a decent raiding guild. I've also gotten a fair number of changes put into the game through various means, like the 2.1 UIParent.lua changes to allows for more customizable UI Panels.
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? Were any of your AddOns "killed," so to speak, by WoW 2.0?
KarlKFI: MobileFrames had to be scrapped because it now tainted everything and its parent. It was replaced with FluidFrames and UIPanelOptions, both written from scratch. TrackerToggle also got scrapped and never revived (I now use TrackMenu). PopupPower, a lib I worked on for a short while, also became unusable due to tainting popups. I ended up writing DynamicPopup to allow for multi-line editbox popups, but its only used in Khaos.
Curse: You're one of the lead developers of Cosmos, a suite of AddOns that has literally stood the test of time; it was first introduced in the World of Warcraft Beta and has continued on since. How has Cosmos changed from its original incarnation to now?
KarlKFI: Oi, basically nothing from beta Cosmos still exists in it's original form. The first couple of months I worked on Cosmos I spent converting FrameXML files to full fledged addons. This is when I first wrote Archaeologist, ChatScroll, and FriendsFacts, which still work today and are maintained today. Also, when I joined the team AlexanderYoshi was the lead dev. He retired from Cosmos in 2006 and handed me the lead. He's now works as a game designer for Blizzard. Since then there have been a lot of challenges, losing authors to the abyss of apathy and subsequently having to drop their addons, but we've been able to pull on a few more authors and keep the ship moving. I basically maintain half of the Cosmos addons now.
Curse: How valuable has user feedback been in the process of developing and improving Cosmos?
KarlKFI: User feedback is ALWAYS appreciated. They thing that really gets on my nerves tho, Is people that don't read the available materials. Of course sometimes that means it's not accessible or detailed enough, but most of the time it's just lazy people who can't use the forum search or read the wowwiki FAQ. But when it comes to constructive criticism, suggestions, thanks or bug reports we can never get enough! There's nothing that makes my day more than someone just writing a little note to say they use my software and it makes their WoW time all that more enjoyable (of course donations make me smile too =D ).
Curse: For users who may not have experience with the Cosmos package, could you describe what Khaos is?
KarlKFI: Cosmos is a collection of addons written by a select group of authors dedicated to user friendly GUI configuration and lots of options. To do this we use a subset of libraries that also helps to consolidate and reuse code. Khaos is the main GUI library in Cosmos. It manages stored variables in one place and allows users to create personal configuration profiles that they can swap between at will. Khaos is also available standalone for non-Cosmos users.
Curse: The Cosmos package now has 74 AddOns in its "Complete Distro." Looking back to the World of Warcraft Beta, did you ever imagine Cosmos becoming this big? What is it like managing a project that over 50 authors have contributed to?
KarlKFI: Cosmos has been large for as long as I can remember. Granted it's grown larger over the years, but not too substantially or quickly.
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?
KarlKFI: Meh, not really. I'm not gonna make any major revisions to DamageMeters or work on many addons that parse the combat log due to the massive changes in store for it. Other than that I don't think they're introducing anything as catastrophically different as the taint system and the secure templates and state headers that.
Curse: If you could change one thing about the World of Warcraft API, and how it limits certain AddOn functionality, what would that be?
KarlKFI: Things get changed all the time. I think for the most part those changes are reasonable and have been for the better of WoW, but that doesn't mean I like them all. I want AutoTravel back!
Curse: Thanks for the interview, KarlKFI! Is there anything you'd like to say to your AddOn fans, or to Blizzard?
KarlKFI: Don't be a noob, read the Stickies!