EventHorizon Course 2: What EH Is Not

Now that we’ve learned what EventHorizon does, let’s take it a couple steps further. In this article we’ll discuss what EventHorizon does not do. We’ll take a look at configuring EH and getting those changes to stick between releases next post.

Scoping: What Programs Do and Don’t Do

While I love to add new features and strive to make EH the best possible solution for combat awareness, I’ve had to learn over the last year to say no quite a lot. Before getting started on what EH doesn’t do (or doesn’t do well), let’s cover that touchy subject: Scoping, feature creep, and bloat.

The scope of any program is, in a nutshell, what it does. The phrase out of scope generally refers to a feature that the program does not and may never cover.

A good example is Notepad++. I swear by it. When I’m using Linux instead of Windows, I find myself missing it dearly. However, I would never expect NPP to be a full-featured rich text editor and the thought of it handling presentations and blogging is simply laughable. Those features are simply out of NPP’s scope and I wouldn’t want them there in the first place.

Feature creep is a situation that programmers everywhere deal with on a continual basis. Users regularly request changes to a program. Some changes are simple tweaks, some are brand new features. While it’s all well and good to see a program evolve into something truly great, a line needs to be drawn at some point to keep the program easy to use and configure. EventHorizon is quite guilty of feature creep and proud to admit it, but on the same token I make every attempt to keep it from becoming bloated.

Bloat. It’s a dirty word in the programming world, referring to the point at which too many features are present in a single program. A bloated program is too big for its own good – It’s reached a level of complexity that can, at times, render it completely useless. You’ve run into this before, and its name is Windows. In WoW, it’s known as Carbonite or Pitbull.

Bloat isn’t necessarily a bad thing. A program with too few features can be just as large a liability as the insanely bloated program beside it. Sometimes that bloated program is the only available means of doing something, or is the only holder of a key feature that enables a personal godmode in everything you do with it.

Carbonite is an excellent addon in many regards, but most people download it simply for its questing features. It’s bloated beyond belief though, extending its features far beyond that of a quest helper. It modifies your social and guild windows, it tracks everything you do in combat whether you like it or not – It’s bloated.

Pitbull is bloated in a completely different manner. While it restrains itself to only changing your unitframes, it has far too many options for its own good. This is excellent for a user that can never seem to find the perfect unitframe layout, but all those options take a heavy toll on its performance. Last I checked, Pitbull used more CPU and memory than all of my other addons combined. And this was with every feature I didn’t use completely deactivated or deleted.

I certainly hope this section has helped someone, because next we turn to how it all affects EventHorizon.

EventHorizon: What It Doesn’t Do

EH is a unique addon however you look at it. Even the name is unique, as you don’t see very many addons make a reference to general relativity. As I’ve shown in my previous article, EH is a combat monitor that tracks time itself, giving an entirely different view on your abilities.

Large strides have been made in turning EH into what it is today. New features turn up with almost every release, making it easier to see what’s going on and providing even more information about your spells.

Lines must be drawn for everyone’s sake though. EventHorizon does not and likely will never…

Tell you what to cast. For one, this is self-evident with many specs when you’re looking at EH’s little window. The goal is to have as many full bars as possible with as few gaps in between as possible. Aside from that, there are other addons that have been written for this exact purpose. Hi, Faceroller. Adding this functionality to EH would involve hundreds of lines of code that would only be useful for a specific minority.

Have clickable buttons. To an addon author, this may be obvious. Secure templates are a bitch to deal with, and EventHorizon’s fluid nature clashes with them badly. I’ll leave it at that – It’s much more pain than it will ever be worth, trust me. Many action bar addons have the ability to create a bar that matches EH’s window nearly perfectly, and they do the job much, much better.

Track long cooldowns. EH has one goal: Watch everything that affects your standard rotation. Hi, Shamans. Elemental Mastery does not affect your rotation, you continue with the same spells whether or not it’s used.
However, events are in motion that will eventually allow for a second EH window containing those long situational cooldowns.

Show your mana, rage, energy, runes, etc. EventHorizon_Vitals does this quite well and was made exactly for this purpose. EH will never track your power levels on its own, you have unitframes and Vitals for that.

Have ingame configuration options. Ingame configs are nice, I won’t deny it. However, once you have it to your liking, EH is an extremely low maintenance addon. A config window would not only multiply EH’s CPU and memory usage, but would also make sharing configurations much more complex.
Wimpface is working on a minimal in-game config window to adjust EH’s appearance in a roundabout way. I have no timeline for its release, but it’s likely to be released as an optional module when it’s ready.

Have nifty flash and pulse effects. This has been attempted and has been found to be extremely distracting. The effects may be added in the future as an optional module, but at present I have no plans to write it.

Show Totems. Sorry to pick on all the Shammies around, but EH will never track totems. Yes, it’s possible. No, it’s definitely not easy. You’re much better off using a dedicated totem management addon or Blizzard’s provided utilities.

Track pet cooldowns. Apologies to Hunters and Warlocks, but there are no plans to support tracking abilities used by pets. Abilities affecting pets are another matter of course. EH can track literally any buff or debuff as long as you have the spellID for it. I’ll cover some tricks on this in Course 4: Customizing EH’s Bars.

I’ve received all of these as requests over the past year, and more. It’s never easy to say no to a user, and to tell the truth some of these would be very easy for me to implement. However, I always have to keep a watch out for bloat – If I’m adding something to EventHorizon’s core, I need to make sure it’s something everyone can use equally. And then, I need to make sure that there isn’t another addon or solution that negates the purpose.

Staying in scope: EH watches everything that affects your rotation on a constant basis, no more, no less.

Keeping feature creep to a minimum: EH uses less CPU and far less memory than many other (far less useful) DPS addons. It could very easily use more, but what’s the point of an addon if it forces your computer to a grinding halt? What’s the point of a simple Lua-based config if there are too many options to possibly keep track of? How many bars do you really need to effectively kill something?

Steering clear of bloat: EH does its singular job very, very well. It will never choose your abilities for you, it will never openly suggest what to cast, it will never do things to any other frame but its own. It will always be accurate, it will always show the information you need – What more could anyone want?

Happy hunting!

Previous – EventHorizon Course 1: A Brief Introduction
Next – EventHorizon Course 3: Pimping EH

You can download EventHorizon here.
If you enjoy the addon, remember that donations are what keeps it alive and evolving. I no longer play the game any more than necessary for testing purposes, and cannot spare the money to keep my WoW account running for that purpose alone.

Posted by Taroven   @   6 November 2009

Like this post? Share it!

RSS Digg Twitter StumbleUpon Delicious Technorati Facebook

3 Comments

Comments
Nov 11, 2009
4:03 pm
#1 Famous Shadowpriest :

I totally appreciate all of the above!
The program is awesome, and extremely useful.
Thanks for looking out and keeping the code efficient.

Trackbacks to this post.
Leave a Comment

You must be logged in to post a comment.

Previous Post
«
Next Post
»
Powered by Wordpress   |   Lunated designed by ZenVerse