I call it “designing for the 99%.”
As usual, here’s a disclaimer on the designs I talk about in this article: These ideas are not necessarily a promise of things to come. Instead, they serve to illustrate the design direction the team is working towards. We're always trying new ideas, iterating on them, and reprioritizing the things we implement. Consider this a behind-the-scenes look into that process, not a preview of the end result. And as I've said before, any feature we implement means another feature that we don't implement. It's all about priority.
Here’s the core concept: Don’t show 99% of your users something that only 1% of your users care about.
That said, that 1% of your user base still matters. The trick is to design a 1% feature in such a way that, when users find themselves in a 1% situation, they can still get what they want, but the other 99% of users never noticed it was there.
For example, let’s say you’re buying a book online, and you want to use the gift card your grandma got you for Christmas. (Thanks, Grandma!) During the checkout process, you enter your code for the $20 gift card, and you buy your $16 book. The next time you go to buy something from that website there’s a check box for “apply $4 from gift card.” Most users (the 99%) don’t have any leftover gift card money, so they don’t need to see a check box for “apply $0 from gift card.” Instead, only the users with leftover gift-card money (the 1%) see this option.
Now let’s look at Magic. Magic is a game of exceptions. Cards are constantly stretching and breaking the rules, and new mechanics put strain on the user interface. The Magic Online UI is always being asked to provide very situation-specific data. For example, take the infect mechanic that was a focus of the Scars of Mirrodin block.
This presented a unique UI problem: Poison counters are going to be very important to players, at least for a year or two. However, Magic won’t always be about poison counters. In the long run, 99% of players won't care about poison counters. The goal is to come up with a design for poison counters that doesn’t get in the way of the 99% who don't care, while still serving the 1% who do.
As an example of a solution that would be in the way of 99% of users, take a look at the player info box:
This is where players see their name, avatar, hand size, library size, and graveyard size. It’s somewhat natural to think that this is where you would also put a player’s poison count—right next to their life total. Imagine a little skull symbol with a number on it, which starts every game at 0.
That solution makes sense when most players care about their poison count. However, when 99% of players don’t care about poison, it’s just going to be in their way. Sure, the 1% would like it, but there’s got to be a better way. Instead, we want to look for a design solution that shows poison counters to the 1% who care (or are forced to temporarily care when their opponent infects them), and let the other 99% keep on ignoring it.
Luckily, this isn’t an incredibly difficult problem to solve, much like the gift card example above. Take a look at how the Wide Beta Client shows poison counters:
The Wide Beta Client shows a player’s current poison count in the same area as floating mana. It only appears once poison counters exist; otherwise, it’s gone. Great for the 99%, fine for the 1%.
That said, I’ve got two important asides:
Aside #1: I find it unfortunate that a player’s poison count appears in the same area and style as floating mana. It makes poison look like a resource to be spent. Also, unused mana usually disappears once the game progresses, but poison is permanent. Things that look similar in the UI should behave similarly. There is enough dissimilarity between floating mana and poison counters that I’m not entirely happy with the solution that groups them together. It’s functional, but it’s not perfect. This is a good example of a feature that doesn’t get a ton of use, and works well enough, so it’s not likely to make the top of our “features to improve” list any time soon. However, if we ever revisit poison in a set, you bet I would push to get a redesign for this feature.
Aside #2: I find myself wondering if the graveyard indicator in the player info is an example of a 1% feature. 99% of players probably don’t care about the number of cards in their graveyards, and even the 1% who care are probably only counting to seven for the threshold mechanic for cards like Barbarian Ring, which is pretty easy to count to on your own. I bet we could be presenting this information in a better way. Again, I’d like to get it out of the face of 99% of players, but easily accessible by the 1% who care.
All right, asides over.
While we’re here, I want to point out that the entire floating mana zone is new in the Wide Beta Client. In the current client, the floating mana indicators are always shown:
Sure it’s functional, but most (99%) of players don’t care about floating mana. The current client essentially doesn’t show these indicators until mana is actually floating. While I don’t think it’s as extreme as a lot of 99% issues, it’s a design solution in the same vein.
The examples I’ve talked about so far have a fairly simple solution: show a number when it matters, and don’t show it when it doesn’t matter. Easy, right?
Unfortunately, the storm mechanic isn’t quite as straightforward. Storm makes players care about something they’ve never really cared about before, and in a BIG way. Unlike poison, we can’t just add a storm counter in the UI any time at least one spell has been cast in a turn—that would still be in the way of 99% of players!
Let me talk through where we’ve been and where we are, and then I’ll get to where I hope we can go.
In the past there simply wasn’t a storm counter. Not only was it hidden from the 99% who don’t care, but even the 1% who did care couldn’t see it! This might be even worse than showing everybody. I personally felt the sting of this missing feature myself in a few Modern Magic Online PTQs when I played with the storm mechanic. Clearly, something had to be done.
Recently, a feature was implemented where the storm count would start being updated in the game log after the 4th spell was cast in a turn.
This tries to only create the counter when it starts to be relevant (when four + spells are cast). It also hides the storm count in an area that most players don’t need to look (the game log).
Not a bad first start, but it could be better. It can be tempting to stick “1% information” in a place that makes players go looking for it. It lets 99% of players ignore it, but unfortunately it makes the 1% who care go hunting for it. Also, if any of the 99% of players stumble on this feature, they won’t really understand why it’s there. (Heck, this storm counter is showing up in Standard games where it’s not even a legal mechanic—that’s certainly overkill.) We could add an option in the settings for “show/hide storm count,” but again, I don’t want to make the 1% hunt for this.
So where can we put a storm counter?
I like when a program knows when I need certain information, and that’s when it shows it to me. How can we tell when a player cares about storm?
One way is to examine the deck, recognize storm cards, and put a storm counter in the UI. I don’t actually think this is a terrible solution, it just makes me uncomfortable. I don’t like going down the road of checking a player’s deck to see which UI to present. You start running into weird cases, like what if the storm cards are only in their sideboard? But what if the player has a Burning Wish to grab one? What if you have one Grapeshot in your Cube deck, and you never draw it? Now I’ve shown you a storm counter the whole game that you never needed. A random number in the UI also isn’t very intuitive, so it would need to be properly labeled in some way. I think this solution could work, but I’m not going to stop searching here.
You know an easy way to tell if a player cares about the storm count? That player has a storm card in hand. You know what might be a good place to put the storm count? On the storm card itself!
Last month, I talked about blue text. In a nutshell, it’s how we add information to a card. For example, here’s how we communicate the value of "X" on a card on the stack:
Imagine if every storm card had the blue text “storm count #” at the top of its text box, no matter which zone the card is in. This creates a storm counter when the player cares about one, puts it in an intuitive place, and doesn’t clutter up the overall UI! This puts the storm count directly in front of the 1% of the players who care, without them having to ask for it, while also hiding it from the 99% of players who don’t care.
Still, there are some sacrifices to be made with this solution. If you haven’t drawn your first storm card yet, but you still care about the storm count, this won’t help you. Similarly, if you’re trying to play against the storm mechanic, this won’t help you until an opponent’s storm card goes into a publicly visible zone. (Your opponent’s storm cards in the graveyard will still show the storm count text.) I would call these 0.01% scenarios. It’s rare that the exact storm count number is the deciding factor in which play to make. A player in this situation can still do things the old-fashioned way: count spells as they are being cast, or go back in the game log and count spells that have been cast. It’s not ideal for the 0.01% player, but it’s a sacrifice I'm willing to make.
As usual, this is not a promise of a specific future to come, but a look into possible futures. Consider this a behind-the-scenes look into the design process.
Let’s approach this philosophy from a different angle. Instead of looking in the duel scene at specific mechanics, let’s look at the account options in the Wide Beta Client.
As a designer, I have a love-hate relationship with options. I love letting players make the game give them what they want. I also hate letting players make choices they don’t want to make, or don’t care to make, or might make incorrectly. I hate when it takes players too long to find the options they want because they have to slog through options they don’t want.
Basically, I’m always trying to boil options down to the most necessary set. If 99% of players are happy with the default setting, the 1% who would change the setting can probably learn to accept it the way it is. Even if adding a setting would make 1% of players lives better, the existence of the setting makes the lives of the other 99% of players a little worse. You’ve got to draw the line somewhere.
I’m all about asides today. Here’s another one: I’ve noticed a difference between the settings offered in high-twitch games, and low/no twitch games, especially if they’re competitive. It’s important for a high-twitch game (like a multiplayer online battle arena) to let players tweak and tune the settings to perfection. When players have to get split-second timing exactly right in order to compete, there’s only so much that good UI can do.
However, when a player has time to breathe and read the UI (like in Magic Online), not only are fewer settings needed for the twitch elements, but the weight that is sometimes put on settings can instead be shifted into the UI defaults.
All right, let’s take a look at an option that I think has a permanent solution that makes 99% of users happy.
The first place I look is at the “Show Reminder Text” and “Show Flavor Text” options in the Display & Sound Settings area. I bet we can design such that reminder and flavor text doesn’t show up when it would be in the way, but can be seen when it’s relevant or there is space.
Take a look at a Nimbus Naiad on the battlefield:
Bestow is an involved mechanic with a lot of reminder text. It’s useful to be able to read the reminder text, but it’s also useful to be able to read the rest of a card's abilities! What if reminder text was only shown when the card was being zoomed? Then, when the card is small, you only see: “Bestow /Flying/Enchanted creature gets +2/+2 and has flying.” So much better! I think every player’s life is better when that’s what they see while Nimbus Naiad is on the battlefield, yet they can still find the reminder text by zooming in.
Similarly, take a look at Agent of the Fates on the battlefield:
That flavor text isn’t helping anybody! It’s irrelevant to game play and takes up very valuable space, crowding the abilities of the creature. This is another case where everybody’s life is better if the text is only shown on zoom, and never shown on the small card, regardless of the user’s setting. (Flavor text is even showing up on activated and triggered abilities, where it’s even more in the way.)
So let’s say you agree with me, and we basically remove flavor text from small-card views. Could the settings still be useful for controlling whether or not that text shows up on a zoomed card? Let’s take a look at a zoomed Ill-Tempered Cyclops, which has both:
It looks to me like there’s plenty of room for both reminder text and flavor text there. There should be; that’s the way it was printed! We should have faith in face-to-face Magic’s ability to only print reminder text and flavor text on a card when there’s room for them, and not try to override that with a setting in Magic Online.
Reminder text is one of those things that you don’t need until you need it. It’s not something that should be a check box in your settings that you have to pre-set to “always on” or “always off.” Instead, users should be able to opt-in to reminder text at the moment they need it during play. And how do they do that? By zooming in on a card. I’m confident that most players’ lives are better if reminder text isn’t shown on small cards but is shown on zoomed cards, and there’s no setting.
Flavor text is where things start to get a little less certain. I’m sure that flavor text shouldn’t be showing up on small cards, regardless of any setting. On the large cards, it becomes a philosophical question. In this case, I like to follow face-to-face Magic’s lead.
There are probably players that don’t really care about flavor text. I rarely notice it myself. Luckily, flavor text is italicized, and my brain has gotten used to overlooking it. I still read it from time to time, and it’s probably enhancing my Magic experience in ways I don’t actively realize. In a way, my brain is “opting out” of flavor text, and I can choose to “opt in” at any time—like when my opponent is taking a long time to make a play.
There’s a portion of our player base that would disable flavor text and never look back, but is the flavor text really in those players' way to begin with? Like me, they’re able to mentally opt out, but if a setting has turned off all flavor text, they can never mentally opt in. Turning off flavor text completely is not necessarily a strict upgrade.
Anyway, my point is that I think the greater Magic Online population is better off without the option to hide all flavor text. In that case, I’d remove the show/hide flavor text option along with the show/hide reminder text option, assuming that those texts are removed from all small card views as well. Removing these options lessens the load our settings put on the players, making space for future settings that our players actually need.
There you have it, my personal approach to designing for the greater good. I hope you enjoyed this look into a design principle as it relates to Magic Online. It’s nice to be able to take a step back and analyze an approach to design from time to time.
As always, I encourage you to send me any feedback via email, twitter, or the message boards.
Thanks for reading,