If you're willing, why don't you tell us a little about yourself outside of WoW. Your background, what you do, your other hobbies, that sort of thing. Feel free to say as much as little as you're comfortable.
Sure! I'm 25 years old, married to the most amazing woman in the world, and am expecting my first child. I work as the CTO and founding partner of a startup company that creates social recommendation products - basically, we try to help you find out what you'll like more accurately and more easily. I's a tool for social media discovery and recommendation. Basically, find stuff you'll like by using the people you know as a filter.
In my spare time, I play the bass guitar and uh, play (or write addons for) WoW. Starting a company doesn't leave a whole lot of free time!
What attracted you to WoW? Is it your first MMO?
I started playing WoW in closed beta. A web community I'm a part of started getting really excited about it when it was in alpha/early beta, and I started reading up on it. I got into the beta, started playing around with it, and was hooked. I had played Star Wars Galaxies previously, but I'd never really played an MMO before that.
What do you think SWG did better than WoW?
SWG did the whole social community thing better than any MMO to date, in my opinion, but that's all they did better than anyone else. I remember when I was in the WoW beta, I was shocked when I would try odd things and they wouldn't break the game horribly. I remember being impressed with the quality of the product even then.
What class do you play in WoW, and why?
I play a level 70 Combat Rogue as my main. When WoW launched, I rolled a Paladin on Frostwolf. By about level 50, I'd decided that was pain incarnate; launch Paladins were pretty defenseless and were a giant walking "gank me" sign. I rerolled on another server with some friends as a Rogue - mostly because I actually wanted to be able to kill things - and have loved it ever since. I play Warrior and Priest alts, with at least one character of every other class stuck in the 30-50 range.
What's your primary/favorite pastime in WoW when you're not coding? Raiding? PvP?
Raiding is where I spend most of my leisure time in WoW. It's very relaxing for me, and is a great time to just sorta kick back for a few hours, have a good time with my friends on Vent, and unwind from the day. Half the time, though, I'm coding between pulls or during wipe recovery (hooray for having no buffs to give out!). I also enjoy the Arena, though it's very much a secondary pursuit for me.
I try to not code while arenaing. My team doesn't like it when I'm stuck in a UI reload while their mans are killing our mans.
Has being "the Omen guy" had a substantial effect on how you play the game? Does it get you any special attention inside of the game itself, either positive or negative?
It hasn't had a huge effect, though there has been some, sure. For the most part, it just means I'm regularly dealing with bug reports, patches, fixes, etc. I run a dual monitor setup with IRC and my bugtracker on the second monitor, and am constantly handling bug reports, feature requests, input from other developers, and the like. I get a certain amount of attention in-game from other raiders, but for the most part, it's pretty low-key. It's generally positive, though I do get a few "STOP UPDATING OMEN SO MUCH" tells in any given day. :)
What inspired you to start writing addons for WoW? Without monetary compensation for all of the work you put into Omen, and now Chatter and your other mods, what keeps you motivated?
"It's a kick to see other people get use out of stuff I've made."
I love doing it! I'm a programmer at heart, and just love making stuff that makes my life easier. If someone else benefits from it, all the better. I first started using the Cosmos addon suite in beta, and it really piqued my interest as far as the capabilities of the interface. I started tinkering with it and made a few small addons. My first addon of any substantial size was Sanity Inventory, which I wrote to help me manage my bank alts and to help figure out where the heck I'd stuck that stack of Runecloth. Later, after Blizzard gave us CPU profiling, I wrote Omen in response to some of KTM's performance issues, because I wanted a smoother interface. I wrote Hemlock
because buying and making poisons is just annoying
because my raid group needed a mod to handle loot, MobSpells to learn how to use the new 2.4 combat log API (and because I'm curious), Deadened because I wanted to not suck at Reliquary of Souls
, and recently Chatter
because Prat was just too heavy for my tastes (my first response when something doesn't work quite right isn't "hm, I should look for another mod that does that", it's usually "hm, I could write my own that does it the way I want it to").
Basically everything I write is written to scratch some particular itch. I just keep up with it because I love doing it. It's fun and enjoyable for me, and it's a kick to see other people get use out of stuff I've made.If Blizzard called you up tomorrow and gave you a job offer, would you take it?
Heh, I don't know! I would love to work in the gaming industry, and would absolutely love the chance to work for Blizzard, but given that I'm trying to get my own company off the ground right now, I don't think I could take it!The ModsA lot of people complain about the frequency of Omen updates, and I understand this has something to do with WoW Ace using an SVN compiler(forgive my butchering of these terms), or something of that sort. Would you mind explaining what an SVN is, and why these updates are so frequent?
"The Wowace system automatically builds new packages every 20 minutes"
Sure. SVN (short for "Subversion") is a source control system. Basically, it's a way to keep my source code organized and synched with other developers, document changes, and let me review code history and changes and the like. It's a common tool in software development, and most any programmer worth their salt uses a source control system of some sort. Wowace provides a SVN repository for developers (basically, a place to check in code changes). If you're interested in learning more about version control, Wikipedia has a good article
A single check-in generally consists of one specific change. For example "Add Shadow Image from the Eredar Twins encounter to the blacklist", or "Don't try to wipe threat tables for non-existent pets on RAID_MOB_THREAT_WIPE". Not very complex stuff, but generally, good practices dictate that commits should be "atomic" (that is, one check-in is a single complete change). That lets me roll back a change if it was bad - "Oops, that last change I made broke the Bloodboil threat. Let's just revert to the last revision" - and lets me see how the code evolves over time, so I can go back to the code as it was 6 weeks ago to see what has changed since then, to help find a bug that cropped up recently. Every change is called a "revision", which directly correlates to the version number in Omen.
The problem is that the Wowace system automatically builds new packages every 20 minutes any time there's a change in an addon or its libraries, which creates a new downloadable version that appears on WowAceUpdater and files.wowace.com. Since I'm actively working on Threat-2.0 and Omen, and since it's such a complex addon, there are lots of changes, which leads to lots of check-ins, and therefore lots of revisions. This is where the whole "omg, stop updating Omen so much" thing comes from - each time I make a commit (or someone changes one of Omen's libraries, or a translator updates the localization files, etc), Wowace builds a new package. This doesn't mean that the update is necessarily critical for you, though it's good to stay up to date.
Since the versions on WAU and Wowace are built directly from my development repository, they should generally be considered to be beta/unstable code. Usually
this means that it's the most current and has the fewest bugs, but sometimes there are new bugs that aren't in the stable releases. The absolute best way to get things running smoothly is to make sure you have the whole raid group running the same revision, the more recent the better.
I do make releases on Curse and WowInterface regularly - those publishes are far, far, far more infrequent than my development commits. :)The updates have been far more infrequent than they were just a week or two ago, does this mean Omen 2.0 is near completion? Are there any other features you hope to add? Is there anything far from finished?
Most of the really big bugs are out. There are still a very stubborn ones hanging around - there's a bug somewhere that's causing tank threat to be off in some specific cases that I'm tracking down, and some of the boss modules aren't working - but commits have slowed down because most of the really big stuff is worked out. It's far from complete, though - I have a lot of interface bugs to fix (I'm sure most people have seen the weird "overlapping bar" issue) and some old interface issues to put back in (dropdown menus for configuration, pull out bars, etc).The pull-out threat bars feature was something a lot of people enjoyed in the original Omen. Is there a technical reason this didn't make it into the post-2.4 build?
Heh, no technical reason, just time. I'm one guy working on a pretty massive project in my spare time, and trying to launch a business at the same time. Pullout bars are a display feature, and I felt that my time was far better spent getting the threat numbers worked out and the "common case" UI stuff finished off - basically, I wanted the basics to all be working before I started working on the fancy stuff. I still plan to put them back in (and make them not suck this time), but that's contingent on spare time. :)What was your biggest challenge when developing the 2.4 compatible version of Omen? I imagine the small time and audience available to you on the patch 2.4 PTR made it difficult to push out a working product.
The biggest challenge was lack of a good testing environment, definitely. The PTR was up for a good amount of time, but I can't put together a raid at a moment's notice, or 5-box an instance to test interactions between multiple classes in a combat environment. Most of my testing had to be done in simulated environments, and as a result, there were a lot of things that didn't quite fit right. Obviously, the 2.4 launch gave me the tester base I needed, but unfortunately, the product wasn't at the level of polish I really would have liked. I've tried to address those issues as quickly as possible, but man, people sure do like their Omen working like they want it to, and a lot of people have been frustrated at the issues that have cropped up since 2.4's release - myself included!
The 2.4 release really does mirror the initial development of Omen - it was really rough starting off, but it got pretty good after it had some time to grow and mature. This new version of Omen is going to do the same thing - give it some time, keep reporting bugs, and it'll be back to rock solid before you know it. :)What development tools do you use when making Omen? What new WoW addon development tools would you like to see, or what would you like to see change?
My tools are just WoW
and Notepad++. I've built it on the Ace3 set of libraries, which is some absolutely fantastic code and made my life a lot easier putting it all together. Really, my development cycle is as simple as "wrote code in my text editor, reload my UI, test, repeat".
I'm really pretty happy with the development pipeline for addons. I think if anything, the only thing I would ask for is a sandbox server of some sort where I could simulate raid combat and develop while the production servers are offline, but that's a pretty heady request for simple addon development.Blizzard has a history of taking popular mods and addons and integrating them into their base UI in one form or another. A threat meter is something that they've mentioned having an interest in. Do you or the modding community feel threatened by this in any way, or do you think it's beneficial? If it's beneficial, how and why?
"I'm really looking forward to Blizzard's threat meter"
I think it's extremely beneficial. UI modders write mods to make the gameplay experience better. If Blizzard looks at a mod and says "Hey, lots of players are using this and can't play without it, let's put it into the base UI", then the modder has done their job, and has caused a change that makes things easier on the player. I'm certainly not in competition with Blizzard - my primary concern in building an addon is "Is this good for the people using it?" and if Blizzard decides that "Hey, putting this in the base UI would be good for the playerbase" then I've won a major victory, even if it means my mod suddenly becomes unused.
I'm really looking forward to Blizzard's threat meter in WotLK
, partially because I want to see what they come up with, but also because it's also an implicit acceptance of threat meters, and an acknowledgment that they don't view them as a threat to their raid encounter design.
If Omen was paying my bills, I might be worried, but if I have an accurate, performant threat meter, I don't really care who makes it. :)Are there any other mods you're currently working on, or mods you plan to work on?
I'm currently working on a library to provide animated timer bars, much like you see in a lot of Ace2 mods. It'll hopefully be used to provide bars for the next versions of BigWigs and NECB, among other things. I've also recently written Chatter, which is a chat mod, and is intended to be a replacement for Prat. I have a few other projects I'd like to work on, too, but my spare time is pretty much nonexistent at this point.The MiscellaneousWhat's your favorite boss fight in WoW so far?
Kael'thas in Tempest Keep, I think. It's one of the most solid encounters Blizzard has put together, and is an extremely gratifying encounter to learn and conquer. Illidan kinda felt like a letdown, in some ways, because it felt so simple next to Kael'thas.Cake or pie?
Pie. Cake usually sucks. If it's really good cake it's a tossup.Sunflower seeds or pumpkin seeds?
I have to pick? Can I just get a big bag of both mixed together?Horde or Alliance?
I play Alliance primarily! I have a few Horde alts though.Tomatoes or potatoes?
Eh, I'm a big fan of both.Chuck Norris, Vin Diesel, or Matthew Rossi?
Vin Diesel. I understand he's a gamer too. Woo.How much do you love raiding with me, Alex, your most favorite Shadow Priest in the world?
As a Rogue, Shadow Priests are worthless to me. Can I replace you with a Boomkin with Imp Faerie Fire for the leet +hit bonus?Before we wrap this up, is there anything else you want to add? Advice? One of your terrible jokes?
Q: How do you tell if a Tree Druid is male or female?
A: Check it for nuts.
(This joke has gotten me mercilessly mocked by my raiding group for months now.)
Also, if you write a threat meter, make sure you don't pull aggro, or you'll never hear the end of it. Ever.And that's all, folks! Thank you for your time and all of the work you've put into these mods for us. Thank you to the readers as well, for giving this a look and contributing questions to the interview.