Microsoft Crossbreeds Programming Kit With Fantasy Game

In college, Matthijs Krempel played EverQuest eight hours a day. Those days are over. But they may be coming back, in an unexpected way. Krempel is now a software developer, and he's been testing a new extension Visual Studio -- Microsoft's software development kit -- that seeks to turn programming into a game.
Image may contain Electronics Computer Pc Laptop Human Person Monitor Display Lcd Screen and Screen

In college, Matthijs Krempel played EverQuest eight hours a day. In the iconic role-playing game, players create avatars that roam dark and mysterious lands, collecting super-human powers and doing battle with monsters you'd never find in the real world. After who knows how many sleepless nights, Krempel's avatar finally made its way to the game's "final bosses," and he defeated each of them -- over and over. He killed some of them 25 different times.

Krempel loved the gameplay itself. But he also had a deep-seated desire to win the game's virtual badges -- the rewards that showed the gaming world he'd done hard tasks, like killing the same guy 25 times.

His EverQuest days are now over. "I had to chose between my wife and the game," Krempel says. But they may be coming back, in an unexpected way.

Krempel is a software developer. Among other things, he built an application called Channel9, which pulls videos from Channel 9, Microsoft's developer community, and streams them onto Windows phones. He codes using Visual Studio -- Microsoft's venerable developer kit -- and recently, the software giant asked if he would help test an extension to the kit that attempts to turn programming into a game.

In short, as developers write their code, this Achievements extension grants badges in much the same way EverQuest does. Badges are associated with certain accomplishments -- both good and bad -- and many of the good badges also come with points. The hope that these virtual rewards will spark competition -- and that competition will improve the quality of the work.

After weeks of testing, Krempel and the other hard-core Visual Studio coders gave the extension the thumbs up, and Microsoft has now released a beta version to the general public. "With games, its fun to figure out how to get from 99 to 100 percent completion," he says. "But I've never seen that applied to a professional tool."

Microsoft's Visual Studio extension is a prime example of "gamification," an idea that's suddenly spreading across the world of business software. IBM recently published a research paper analyzing the effect of gamification on the workplace. Companies such as the Silicon Valley-based Bunchball offer gamification platforms that plug into business software from the likes of SalesForce.com. And this past September, the movement had its first worldwide conference.

Yes, much of the gamification hype is just that. But the idea of a gamified Visual Studio wasn't a marketing plan that came down from Microsoft management. It came from outside the company. Rudi Benkovič, a platform developer at HP's MagCloud printing arm, suggested the idea with a blog post in January of last year. Benkovič is a Visual Studio user, but he and his coworkers are also into a first-person shooter called Battlefield. "We started thinking about Visual Studio, and what we could unlock," he tells Wired. "Using achievements could make some fun out of products that weren't that fun to use."

Developers loved the idea, and the post quickly found its way to the top of Reddit, a content sharing social network. [Editor's Note: Reddit is owned by Wired's parent company, Conde Nast] This is where Microsoft's Jeff Sandquist first noticed the post. Sandquist runs Channel 9, the Microsoft developer community. He and his team read Benkovič's suggestion, and one day over lunch, they decided they were going "all in" on the idea of adding achievements to Visual Studio. "I didn't want this to be just a little hack," he says.

The extension runs atop FXCop, software Microsoft has long used to vet code behind the scenes, but Sandquist says his team made changes to Channel 9 and the site's authorization software to accommodate the new tool.

Once installed, it works simply. Each time a user compiles a program -- translates it for use by a computer -- Achievements runs through the code and determines what the developer has earned, and any badges and points are then publicly displayed on the public internet.

Since the product's release on Wednesday, Sandquist says over 27,000 developers have downloaded the extension. And for what it's worth, a coder who calls himself rosmith51 is leading the pack with 169 points and 32 badges -- at least for the moment.

Badges don't necessarily mean points. The "Go To Hell" badge -- given to coders who use GOTO statements -- is merely a badge. A GOTO statement moves code execution from one part of a program to a completely different part, and for Sandquist, it "makes your code into unwieldy spaghetti." So the Go To Hell badge doesn't carry any points. It's a badge of dishonor. With the new extension, the idea is to foster not only competition but discussion.

"We want to use this also as a tool to teach people to use Visual Studio," Sandquist says. The extension works best, he explains, when developers see badges they don't understand. This helps them learn the techniques behind these badges.

Gamer-turned-developer Matthijs Krempel says don't always apply to the work he's doing -- "The tasks aren't always relevant" -- but he agrees that this could actually work in your favor. A badge for implementing 1,000 resources, for instance, could encourage an inquisitive coder to start a new project to explore aspects of Visual Studio he normally wouldn't.

"I think that's the main game," he says.