The Railroad Deity

I was smiling to myself as I strode out of the train station towards work. But I slowed to a stop as a stocky young man who’d been ambling towards me hailed me.

‘Excuse me,’ he said. ‘Could you help me out with some change so I can catch a train home to Victoria Point?’

‘How about I buy you a ticket?’ I asked. I began walking with him back towards the ticket vending machine. I explained, ‘I’m hesitant to give anyone cash, because I don’t know what they’ll do with it.’ I was being polite. What I really meant was ‘There’s no way I’m going to give cash to a stranger in the city.’

It was some way back to the ticket machine, and he was walking considerably more slowly than my usual pace. I tried to engage him in conversation.

‘So what have you been doing here in the city?’

‘Catching up with a friend’, he replied. That might have been true. I wondered if he’d thought of asking his friend for change before setting out for the train station.

We walked together for a few more seconds before he broke the silence.

‘Or you could top up my go card. It’s cheaper that way… My go card’s on negative at the moment.’ He opened his wallet and started rifling through it as we walked. ‘It should be a concession one, but for some reason it’s not… Because I have a concession card… I can’t find my go card… Oh, here it is.’

We were getting closer to the ticket machine. I asked, ‘What was your name?’

‘I’m Nick,’ he replied.

‘I’m Josh,’ I said.

We reached the ticket machine. I took the go card from him and followed the prompts on the machine’s screen to top it up.

‘The trip home’s eight dollars,’ he said, ‘so you could put ten dollars on it.’ The machine only allowed adding value in increments of five dollars.

‘How about I put twenty dollars on there so you have a bit extra?’ I asked, as I selected that option and fed some cash into the machine.

‘Wow, thank-you!’ he said as I handed the card back to him. ‘You’re a goddess!’

He realised what he’d said and stumbled to correct himself. ‘No, you’re not a… Not goddess, you’re not a woman.’ I laughed, and clapped him on the shoulder.

‘Have a great day!’ I said, and I shook his hand. As I turned to resume my trip to work, I was still smiling at his choice of words.

It was a cheerful start to my day.

Posted in midlength | Tagged , , , , , , | 2 Comments

Issue Tracker Gamification

I’ve been playing with habitrpg, which gamifies habit-setting. You have a little character with experience points, hit points and gold pieces. You earn experience and gold for achieving your habit goals. You lose hit points for failing to achieve goals. (Aside: habitrpg is open source, so you can host your own server if you like.)

habitrpg

A character from habitrpg

This got me thinking about gamification as a whole, and what problems it could be usefully applied to. My thoughts turned to issue tracking systems. I think that a gamified issue tracker could be very helpful, especially for an open source software project.

But I Already Report Bugs

Gamification can be used to give users extra motivation to do certain tasks. For example, I might try to make my Stack Overflow question clear because I earn reputation points when people vote for my question.

But users want the product to work, so they already have motivation to report bugs—provided of course that think it probable that the developers will do something about their bug report. And users with ideas for improving a product already have motivation to pass their suggestions to the developers, though in some cases the obstacles for doing so make it not seem worth the effort. So what good would gamification be for an issue tracker?

Dealing With Old Tickets

The longer you leave a Todo in habitrpg, the more experience points and gold it becomes worth to complete that Todo. One of the biggest problems I’ve seen in the use of issue tracking systems (in every project I’ve ever been involved in) is the issue of old tickets. Invariably, some tickets seem like a lot of work for not much reward. In a business setting, these don’t get done because of perceived lack of return on investment. In an open source setting, developers are more likely to choose to work on easier or more exciting tasks. The end result is that every so often someone has to trawl through old tickets, half of which are no longer relevant, and decide what to do with them.

What if closing bug tickets became more worthwhile (in terms of game motivations) the longer the ticket remained open? That way developers would have the motivation to look at older tickets, and at the very least decide whether they should be closed as “won’t fix”. Naturally, you’d need to temper the motivation to just close every ticket, so an accountability system might be in order (perhaps one other developer reviewing the close, or perhaps multiple developers up- or down-voting the close).

Inviting New Developers

In many open source projects, there is a perceived barrier of entry to the community of developers. As with any new community, newcomers are uncertain what’s expected and appropriate. What if every ticket on the issue tracker was a “quest” that users could embark on? The quest page could include clear instructions for how to contribute code to the project. On your first adventure there could even be a side quest of subscribing to the mailing list or introducing yourself on the irc channel or whatever’s appropriate for your community. That way it’s not only clear to newcomers how to get involved, but they know that there’s a reward for involvement.

Communicating with Users

I have reported bugs for some products, and never seen a response from a developer. The only responses I’ve seen have been from other users saying “me too”. If no developer is assigned to the bug, we might rely on the mechanic introduced above where older tickets are worth more. But what if a developer accepts a bug ticket, and then becomes distracted with life and things? Everyone, including other developers, might assume that work is being done on the task, but as a user how do I tell?

In a gamified issue tracker, this could be dealt with by rewarding the ticket owner for posting regular updates, or perhaps even penalising them for not posting regular updates. Before accepting a quest, it could be made clear to the developer that this is a commitment, and in-game motivations could be introduced to make it more worthwhile for a developer to withdraw from a quest so that another developer can accept it than to keep a ticket assigned without working on it. And if things are getting done but the going is slow, at least the users would know about it.

Rating New Ideas

If users are suggesting new ideas on the issue tracker, why not get them to evaluate each other’s ideas? Give people motivation to say how they think other people’s ideas will add to or detract from the software. Let people vote for each other’s ideas and evaluations. That way the users are a part of the process, and they make your job of prioritisation just a little bit easier. The rewards for implementing these new ideas could then be set (probably manually, but perhaps automatically depending on your project) based on user reactions to the idea.

Sounds Good, Where Can I Download It?

This is only an idea. I haven’t implemented it and I probably won’t get a chance to even look at it for at least a few months. By then I may well have other interesting toy projects to fiddle with. If you’re interested in helping to make this a reality though, let me know! I’m more likely to work on projects which have others willing to play a part.

There are a few existing pieces of software that combine bug tracking with gamification. The two I can find information about are:

  • RedCritter: non-free, and from the review it looks a bit clunky and not as community-oriented as I’d have made it
  • JIRA Hero: adds badges and achievements to the non-free JIRA project tracker

Further Reading

In my search for existing products of this kind, I came across these two articles which both suggest use of gamification in issue trackers, this article which lists a few other gamified software tools, and this article about how gamification should be used and when it should not be.

Posted in long | Tagged , , , , | Comments Off on Issue Tracker Gamification

Blogs and Social Media

As a citizen of the Internet, I produce and consume information. What I consume comes largely from blogs and YouTube channels. I consume almost nothing via Facebook, Twitter, Google Plus and the like. Below are my musings on why this is the case.

Reason #1. Inbox vs. Fire Hose

Blogs and YouTube channels offer web feeds which I can subscribe to. I can group my feeds based on topic, and I read some topics more frequently than others. For some feeds I like to read every single article. For some feeds I might skip over 50 articles because I have a backlog and I’m just not that interested. One important thing about my feed reader is that I can see which articles I haven’t read, and I therefore have control about how and when I read the articles.

Social media websites largely do not offer web feeds. Instead, they offer their own list of posts from “friends”, or from people I’ve subscribed to. The trouble is, neither Facebook nor Google Plus have any way for me to keep track of which posts I haven’t seen. Sure, I can organise my contacts into groups (it takes fewer clicks on Google Plus), but I can’t use that to organise posts because there’s no easy way to show all posts from one group of contacts. But even if there was, I can’t find posts I haven’t yet read. It’s disorganised and unorganisable and my reaction is to not waste my time trying to stay up to date on either Facebook or Google Plus.

Reason #2: Threshold of Quality

On average, people think before they post blog articles or YouTube videos. If they do not, I am less likely to subscribe to their web feeds. On average, people do not think before they post status updates to Facebook or Google Plus.

Reason #3: Confounded Meaning

What is a “friend”? What do I want to regularly read about on the Internet? Are the two intrinsically linked together? Surely I want to read about every detail of the lives of all of my “friends” as they happen! So Facebook would have you believe.

What About Twitter?

All of my musings so far have been on why I don’t consume much from Facebook or Google Plus. Twitter is different. I don’t consume from Twitter because it distracts me and I can’t keep up. I have friends who find it less distracting and who keep up easily. Not everyone is built the same.

So What?

That depends… If you want me to hear what you’re up to or interested in, get a blog and write quality posts. Oh, and let me know about your blog. On the other hand, if you don’t care about attracting readers like me, then please, carry on.

Posted in midlength | Tagged , , , , , , , , | Comments Off on Blogs and Social Media

“Reading” List

From time to time I like to hear what my friends are consuming on the Internet—sometimes I find a valuable site I’ve never known of before. Today I give you a list of blogs and video channels which I regularly consume. This list is limited to sites that I consume for recreation, and contains the sites which I find most consistently entertaining.

Enjoy!

Posted in short | Tagged , | Comments Off on “Reading” List

Arimaa

Today I thought I’d share a game I recently discovered called Arimaa. The game can be played with a standard chess set, but is intriguingly complex. That is to say, the rules are simpler than those of chess, but playing well involves much strategy.

To whet your appetite, here are a few details about the game:

  • pieces only ever move one square at a time, but each player can make up to four moves before ending their turn
  • all the pieces except rabbits (pawns if you’re using a chess set to play) follow the same rules as one another, but with an order of superiority when they interact
  • to win the game, you need to get a single rabbit to the far edge of the board

You can learn the rules, and play online against other players or bots at http://arimaa.com/.

Posted in short | Tagged , , | Comments Off on Arimaa