Mojo

All of you folks who are as interested in location-based gaming as I am have been checking in on Gowalla, Foursquare, SCVNGR, Facebook, Rally Up, or Yelp for a while now. But the lame thing about those services is that you actually have to go somewhere and do something to earn points! Enter Mojo, the web-location based game for folks who are shackled to their desks all through the day but still want the spurious sense of accomplishment that these games bring!

Teasing aside, it’s an interesting concept: allowing people to check-in on various websites and engage with the content there in various ways to earn credit. I’ve added it to the site here; feel free to play around with it if you’d like to see how it works. Just click that little “Earn Mojo” tab on the right to get started. (Though given how infrequently I get around to posting, if any of you earn the “365 Days in a Row” achievement, I’ll be forced to come over there and cut off your internet privileges. Don’t think I won’t.)

More Good Thoughts on Games and Work

I wrote a piece about a year ago called Workplace Motivation and Game Mechanics which summed up some of my ideas for bringing some of the compelling character of video games to the office. Since then, some much smarter people have been doing some thinking and experimenting with similar ideas.

Jane McGonigal gave a terrific talk at TED called “Gaming Can Make a Better World”. It’s well worth the 20 minutes it takes to watch:

Additionally, I’ve started reading Total Engagement: Using Games and Virtual Worlds to Change the Way People Work and Businesses Compete. It covers the authors’ experiences in this area, starting with poolside conversations and ending up with forming a company around these ideas. It’s a good read so far.

Based on these, it looks like the invasion of games into the workplace has the potential to create some important productivity gains and is already underway. It should be fun to see what the next decade brings.

A Few More Thoughts on GURPS

About a week and a half ago, Abigail, Liam and I got together with their friends Ryan and Eleen, my cohort Jason Young, and my brother Chris for another round of GURPS, the tabletop roleplaying game we’ve been enjoying lately. I had been planning to run an adventure in a Science Fiction setting this time around, but time grew short, so I instead grabbed one of the free D&D modules that’s available on the internet and quickly adapted it. Science Fiction is still certainly in our future, but since I have to do more inventing for that, it’s going to take a while longer.

The session went well: I got to use the GM’s Screen I received for Christmas, the players got through a little bit more than I expected them to, and found the dungeon guardians less of a challenge than I’d thought they would, due mostly to Liam’s somewhat unbalanced combat specialist character. Kathy very graciously kept us all supplied with food and drinks throughout the 6 hour long play time.

One interesting thing I noticed this time around was the marked difference in how the younger folks and the adults approached the game. Jason was playing as Gront the Dwarf, who would be a familiar sort of figure for anyone who saw John Rhys-Davies’ version of Gimli. Chris’ character went by the nom de guerre Jimmy Softshoe, and had the interesting quirks that he only referred to himself in the third person and he hated poetry. Both of the adults really engaged with and enjoyed the role-playing aspects. Jimmy screamed in frustration when the party encountered a sphinx with rhyming riddles, and Gront gruffly exclaimed “no tossing the dwarf!” when the party faced a chasm they had to cross.

The kids, on the other hand, almost entirely ignored the role-playing aspects except when forced to deal with them. (Liam, for example, wasn’t allowed to participate in decision-making and problem solving because his character’s intelligence was too low.) They instead spent hours beforehand figuring out how they could use their allotted points to make their character the most effective fighter (in the case of the boys), or finding the perfect character portrait for their winged elf (the girls). Even after traversing a particularly tricky obstacle, Ryan asked me “Was there a better way to do it?” still apparently thinking about optimizing the game system rather than having successfully navigated an obstacle.

But regardless of the play style, everyone enjoyed the time a great deal. I really like the cooperative spirit that develops during these things, and look forward to our next session.

You Have Unlocked an Achievement: Prognostication

A while back, I wrote a post on Workplace Motivation and Game Mechanics, where I speculated on the efficacy of using game systems, like achievements, awarding points, high score lists, etc., to help motivate people in the workplace.

Last week at the DICE Summit, Carnegie-Mellon Assistant Professor of Education and Technology Jesse Schell gave a terrific talk where he takes some similar ideas and goes wild with them, applying them to teaching, marketing, government incentives, and more. Really interesting, thought-provoking stuff, and well worth a viewing if you’re remotely interested in any of these areas:

Ghost Killer

Liam has continued to show interest in creating computer games. His latest effort is Ghost Killer, a straightforward game where your sole job is to avoid the bullets descending from the top of the screen. He created it (with a little help, though much less than for Cat Maze) in Scratch, MIT’s terrific graphic programming environment.

Nice work, boyo! It’s way better than the games I was creating at age 10.

Pop Music and Vocal Range

This morning while walking the kids to school, I had Simon & Garfunkel’s “Only Living Boy in New York” running through my head and, since I have no filter between them, out of my mouth. As I reached for the low note at the end of a phrase, it occurred to me that the range of the song’s melody — an octave and a perfect fourth — seemed unusually large. That got me to thinking about vocal range in pop music and wondering whether Paul Simon is more ambitious than most in that regard.

While mulling this over and considering various examples, I decided it would be fun to enlist my musical friends to see what the most extreme examples of melodic range — both large and small — we could think of in popular music are. So, musical friends, let’s play! Here are the rules:

  1. Your entry can include a maximum range song and a minimum range song. (Figuring out the range is helpful, but not strictly required.)
  2. You can’t repeat a song someone else has already mentioned in the comment thread already.
  3. The song must be common enough that most people would have heard it. Thus, either major record labels or something with a comparable degree of exposure.
  4. Note to especially talented friends, and corollary to rule #3: you may not write a song just for this purpose.
  5. Multiple entries are encouraged.

I’ll throw my hat in the ring with an initial entry that should be easy to beat:

  • Large Range: Only Living Boy in New York, Simon & Garfunkel — an octave and a perfect fourth
  • Small Range: Johnny B. Goode, Chuck Berry — a perfect fifth

In order to make this a bit more interesting, I’ll buy the winner their album of choice in digital format. The winner will be determined entirely by me, and my decision is final. Anyone who disputes it will be beset by my army of trained flying monkeys.

XBox Live Gold and a Pet Peeve

WARNING: Nerdy, kvetchy, juvenile rant ahead. Those of a sensitive disposition may wish to avert their eyes. You must be at least 48″ tall to read this post. Pregnant women or visitors with neck or back problems should sit this one out. Please consult your physician before proceeding. Do not read while under the influence of alcohol or medication. This post has been shown to cause cancer in laboratory animals. 4 out of 5 dentists surveyed believe you should read something else instead. Still here? Ok, but don’t say I didn’t warn you.

You know what I hate? Businesses that will  let you sign up easily for their service on their web site, but when you want to cancel said service, require you to call their support line, wait on hold, get hung up on, call back, get transferred to their outsourced support center, punch your account number into the phone, talk to “Bob” from somewhere that’s definitely not mid-America, tell “Bob” your account number, tell “Bob” your account number again because he wasn’t ready the first time, tell “Bob” why you want to cancel the service, endure “Bob’s” sales pitch on the many virtues of the service, assure him that yes you still want to cancel, endure another sales pitch with the promise of a temporary discount, assure him that yes you still want to effing cancel, wait on hold again, get transferred to another representative who doesn’t know anything about the conversation that’s already transpired, tell the new representative your account number, and write down the “cancellation confirmation number” so that when they charge you again next month you can provide the number and be told they have no record of it.*

Which is why I won’t be buying another XBox Live Gold subscription.

Bad enough that, even though I’ve already paid for the XBox, for the game I want to play, and for my Internet connection, I still have to pay an additional fee for the privilege of playing on-line. But add the fact that they won’t let you cancel your Gold membership online — a fact which they don’t actually make clear anywhere except by not giving you a cancel option in any of the dozen places on their website and subscription management screens on the XBox you might reasonably think a cancel button might lurk — and it pushes me well over the threshold of nonsense tolerance.

My favorite part of the whole experience was asking “Bob” why there’s no online option to cancel my account. He assured me initially that it was for security reasons. “Let me get this straight,” I said to him. “You guys consider your systems secure enough that I can enter my personal credit card information and incur debt, but not secure enough to stop doing that?” He then said there were also technical reasons that prevented it. Bollocks. If they can cancel an account on his computer, they can do it on mine.

So, adios, XBox Live Gold. I liked the service well enough to pay a few bucks a month for it, but not enough to endure Microsoft’s account management shenanigans.

* This is not actually what happened when I called Microsoft, but a pastiche of bad customer service experiences I’ve had, exaggerated for comic effect. Take that, lawyers.

Planning Poker

One of the things about writing software for a living is that customers are rarely happy when you tell them “It will be done when it’s done.” Even though development is fraught with uncertainty, it’s still incumbent upon us who practice this craft to be able to give people some idea of what kind of effort will be involved to implement a particular feature.

One way to do this is to have a project manager or senior programmer sit down, think really hard about it, and come up with numbers. This has the advantage of being  expedient, but the disadvantage of being almost certainly wrong. The reasons for this are many: it’s hard to estimate a job accurately when you’re not the person doing the work. All of us as individuals possess blind spots. And programmers are notoriously optimistic about how hard it will be to do something. (Not as optimistic as marketing people are when faced with a programming task, but still…)

One of the approaches I’ve seen that seems to promise the best results over time is Evidence-Based Scheduling. By having programmers estimate the tickets they’ll be working on, then record how much time they actually spend on it, comparing one to the other, factoring in how much productive time they have during the day once meetings, email, and the ilk are all done, and doing a lot of math, one can come up with good quality estimations — especially as one accumulates data on which programmers tend to exaggerate and which think they can finish nearly anything before lunch today. This approach has the advantage of producing really good estimates, but requires detailed tracking both of estimates and actual work time to produce good results.

Somewhere in the middle is Planning Poker, an approach that allows teams to collaboratively create estimates with a minimum of fuss. The basic idea is that you get all your developers together, give each of them a deck of cards with a time estimates written on each card, and have everyone choose how long they think a given task will take by throwing the corresponding card on the table. If there’s not agreement, everyone discusses it, explains their reasoning, and then you do it again until there’s a consensus. (You can read more details here if you’re interested.)

When we’re planning what to do for the next phase of a project, we have to consider two things: how important an issue is, and how much work it will be to do the fix. The latter has, up to now, been done off the cuff by whomever of the developers happened to be in the room. But in the past week, we’ve added a field to our ticketing system for estimates and started doing Planning Poker sessions to capture estimates for the tasks ahead. These seem to be going well, and I’ve noticed some interesting things about them:

  • These sessions are actually pretty fun. Nobody has come away hating the process, and several of the devs involved have said they’ve really enjoyed them.
  • Because the rules of the game call for the people with the highest and lowest guesses to explain their reasoning, we hear from people who are sometimes a bit more reluctant to speak. Having their opinions respectfully listened to can be a very affirming, especially for new folks who may not have a history with the team yet.
  • We’ve actually been doing on-the-fly technical design as we discuss the issues, and have come up with some really good ideas and insights that we’ve then recorded in the ticket since we already had it open there. This was a pleasant surprise to me; I’d only been hoping to get estimates, but have also benefited from some terrific collaborative technical brainstorming.
  • It provides natural cross-training, since even programmers who aren’t involved in a particular project get to listen, ask questions, and vote on its tickets.

So after two sessions, I’m counting Planning Poker as a success, and have scheduled regular sessions to finish estimating our backlog of tickets and to handle new ones as they show up.  Many thanks to Mike Cohn for the great writeup that got me excited about it!

Workplace Motivation and Game Mechanics

I manage a crew of about 5 programmers at work. During our performance reviews this year, I asked each of them how I could do my job as a manager better. One of them, in a bit of much-appreciated candor, said that motivation was one of his biggest challenges, and that he would be grateful for anything I could do to help.

This guy — let’s call him Ivan — is a capable programmer, and does good work, but (like all of us) sometimes has a tough time overcoming inertia and focusing on the task at hand. Interestingly, Ivan is also a World of Warcraft player. (World of Warcraft is an online Role Playing Game where hundreds of thousands of people play together in a shared, computer-based fantasy world.) One of the interesting characteristics of  online RPG’s like World of Warcraft is that they often require one to do a lot of repetetive,  mundane tasks to gain in-game experience and thereby increase your character’s prowess. This is referred to as “level grinding”.

When one is “grinding,” one isn’t doing it for the satisfaction of the task being performed, but for an extrinsic reward of some kind that keeps players at it. In the case of online RPG’s, the reward is an improved character (with a higher level or improved skills), better equipment, the chance to participate in more challenging gameplay, or bragging rights among one’s game-playing peers. Ultima Online, the RPG on which I used to work, would allow the player to link to a web page that showed off her character with her honorifics and arrayed in all her finery.

This sense of accomplishment is one of the things that makes computer games so compelling for many people. In the early days of arcades, the chance to put one’s initials on the High Score list on Tempest was often as big a draw as the gameplay itself. We liked the sense of competition and achievement that list of scores brought with it. More recently, Microsoft did something very clever when they introduced the XBox 360: every game for the system has “Accomplishments” that earn “Gamer Points”. People who play for fun will inevitably rack up a certain number of these, but in order to maximize one’s Gamer Score, one has to again do things that aren’t inherently enjoyable: search out every pigeon in a vast virtual city (and shoot them all), get through a level without firing a gun once, or breed 200 worm-shaped piñatas. One can then put a “Gamer Badge” on one’s website or on Facebook to show the world what you have accomplished as an XBox player. This system has been so successful that Sony has recently copied it for the Playstation 3, introducing a “Trophy” system to the platform with their most recent software update.

So as I looked at all these different mechanisms that games use to take gameplay that might otherwise be uninteresting and make it appealing, I wondered if something similar could be applied to work. After all, try as we might to make the office interesting and enjoyable place to be, the fact remains: if we have to pay somebody to do something, it’s probably not inherently much fun. (There are a lot more musicians who will perform gratis than there are accountants who will do your taxes for no charge.) As I mulled this over, several possible systems came to mind:

  1. Keeping Score: the simplest approach is that of the arcade games of yore: you get points when you do something good, and try to get the highest score within a given period, say a week or a month. (“Something good” for work purposes might be completing one’s timesheet, successfully fixing a bug, dealing with a support call, or presenting at a conference. Each would have a different point value based on its value to the business and degree of difficulty.) This system has the advantage that it provides pretty quick feedback, and that new folks and people who have worked at a job for a while are on a fairly level playing field. The biggest failing of this approach is that a single score doesn’t tell anything about what things one is doing to rack up the points, so one has less motivation to expand one’s skills than to simply concentrate on areas where one already has facility.
  2. Classes & Levels: As with the Keeping Score approach, one is awarded “Experience Points” for doing something good. These points are tallied and, when one has accumulated enough, redeemed for “levels” in various classes. For example, after completing a performance review and a month of development work, I might be a “Programmer Level 3; Bureaucrat Level 2”. Levels generally become geometrically more difficult to attain as they get higher, so a new employee would “Level Up” more often than someone who had been working at a given job for a long while. This provides a more nuanced view of what sort of work someone is doing and maps more directly to a traditional RPG mechanic.
  3. Achievements: With this approach, one has a list of specific tasks to accomplish. For programmers, this might include things like “fix your first bug”, “check in 10 changes to our source control system”, or “get a patch accepted by one of the open-source projects we use.” One accumulates achievements over time, and can see a list of which ones have been accomplished, and which ones are still out there waiting for further efforts. (The requirements for a given achievement can also be kept secret until it’s unlocked.) The advantage with this approach is that one is encouraged to stretch one’s wings and try new sorts of tasks. Unfortunately, it lacks any kind of aggregate view of one’s progress.

At this point, I’m thinking that a hybrid of #1 and #3 might be the best for an office. Each person would have an overall score — perhaps cumulative, or perhaps reset monthly — which would be increased accordingly whenever one did something constructive. In addition, one could unlock achievements by doing specific things. Those achivements would then go on one’s record, and would also provide an extra boost to one’s score.

Whatever system we used would need to have a few specific features:

  1. As much of it as possible would have to be automatic. Nobody wants to spend all day tallying scores, so it would be important to tie much of this to our existing systems and have them add points without human involvement. Some things, like points for helping a coworker, will inevitably require human tallying, but these should ideally be the exception.
  2. Part of the fun of accomplishment is being able to show off what you’ve done. We would need to be able to publish the information on scores and accomplishments various ways: website badges, added to our Twitter Status Board, screen savers, etc.

I’d really like to hear from people on what they think of this idea. Is it something you would enjoy having around your office? Do you think it would help with motivation? Do you think any particular mechanic would be a more effective motivator than another? I’m still brainstorming on all of this at the moment, so would welcome any diverse input folks might have on the subject. Thanks for anything you can contribute!

UPDATE: As I’ve been giving this more thought, another mechanic came to mind that I think would be worthwhile. In the game Team Fortress 2, each player is given a score for the match. The points, however, are earned in various categories, and those categories tracked individually. This results in a lot more affirmation, as even if one had a relatively poor game, it might still be your best performance as a sniper, or the most points you’ve earned by healing other players. Being able to lump work points into various categories could easily result in similar kinds of encouragement when they are tallied: “You earned 625 points this month, which is lower than your personal monthly best of 1027. However, you earned 400 points for helping coworkers, eclipsing your previous best of 150 points!”