Now, thanks to a new software-collaboration tool, you and your intrepid party of fellow hackers can navigate your labyrinth of code and slay its dastardly bugs, all in a dungeonlike world similar to an old-school text adventure.
Called playsh, the new tool is a collaborative programming environment based on the multi-user domains, or MUDs, so popular online in the early 1990s.
Trying to do things in playsh is most similar to games like Zork from the 1970s. To go north, you type north. To examine an object, you type look. There are no graphics, just descriptions.
But instead of ducking grues and collecting zorkmids, you're interacting with whatever program code you're working on, as well as the data and hardware devices that it uses. "It treats the web and APIs as just more objects and places, and is a platform for writing and sharing your own code to manipulate those objects and places," says developer Matt Webb, who unveiled the tool at last week's O'Reilly Emerging Technology Conference in San Diego.
Playsh is inspired by the user-customizable variety of MUD called a MOO, for "MUD object-oriented." MOOs were like chat rooms, except the members of the community could create new objects by programming them into the virtual world in a dedicated programming language, shaping the game as it went along.
When you log into playsh, you see a basic description of the room and whoever is in the room with you. The current incarnation of playsh is written in Python, and each room has a Python interpreter built into it that anyone in the room can access. Adventurers contribute to the code while simultaneously interacting with the room's objects and each other.
"It's a laboratory for (user interface) metaphors," says co-developer Ben Cerveny.
Webb came to the idea after trying to solve a difficult programming problem with his partner at consulting firm Schulze & Webb. "I don't work physically colocated with Jack (Schulze) a lot of the time, but we have to write a lot of code together," Webb says.
Ultimately, adding this sense of place back to the placelessness of the net is something Webb believes could have wide uses. He cites the example of online banking, which has struggled with fraud that takes advantage of the fact that naive users don't know where they are on the internet.
"Imagine using a bank where you move transparently between the automated and human-assisted interface because they occur in the same mode," says Webb. "The human can show you how to use the ATM, which is over at the side of the room".