Saturday, 7 April 2012

Some thoughts on the ticket system

I launched the apterous ticket system nearly six months ago to rapturous silence. For a few days after that the only tickets were created by me, either as formalised "notes to self" or copied over from the old Bug Report and Feature Request threads on the forum. But then things started to snowball; the number of tickets has now passed 500 and continues to accelerate. By this simplistic metric the system is a great success! So I thought now would be a good time to reflect a little on its relative merits.

Perhaps some readers were not even aware of the old "system" that apterous users used to communicate with me. Users could log on to a separate forum (after creating a separate account with a new username and password, and waiting days or weeks for it to be approved) and post a comment in one of two free-form discussion threads, according to whether it was a bug or a feature request. I would then try to remember to act on these ideas, if I thought they were good, and sometimes other people would chip in and discuss. People could also email me or send me private messages in various media. In fact it was this total decentralisation of ideas that prompted me to create the ticket system in the first place; I just couldn't keep track of everything I wanted to do.

Clearly the old system wasn't very good. Bugs would often get lost in the mists of time, and good feature ideas would get forgotten if they weren't requested at an opportune moment. The new system keeps ideas hanging around until they can be resolved one way or another. In fact the improvements of the new system over the old are so various and so obvious that there's really no point discussing them here. Instead, in the spirit of self-critique, I want to talk about some of its limitations.

First, the ticket system has significantly changed the way I work on apterous. Previously I would look out for reports of particularly egregious bugs and address them right away ("firefighting"), and then I would work on whatever I felt like. If I couldn't bring a good idea to mind, I would trawl the topics in reverse order until I found something to do. (This would more often be a new feature than a bug, because novelty is always more exciting.) Now, the first thing I do when I have time to work on apterous is look at the list of open bug tickets. If I have an idea to resolve one of them, I'll get on that; having open bugs makes me quite profoundly unsettled, as if I'm appearing in public with food on my clothes. If nothing comes to mind from the bug queue, I'll look at the list of open feature requests. The number of feature requests is now so large that there's always something on there that could be done, and because the tickets hang around until I resolve them, good ideas don't get lost. And there are a lot of good ideas. So far so good. The problem is that it's now much harder for me to break out of that cycle and do something completely different. I might have an exciting idea for a new feature (like aptathlon!) but I could easily delay working on it indefinitely when other ideas are competing for my attention. And the tickets will tend to win because I feel pressure to deliver on the things that users have actually bothered to ask for, and on top of that it's very gratifying to clear tickets. The upshot of this is that there will probably be fewer of the "completely new" things than there have been in the past. Tickets have generally been better at prompting incremental improvements to game and interface elements; in other words, stuff that is more important to the users than to me as the designer! And overall that's clearly a good thing. But striking the balance between my ideas and users' ideas is hard when there are always shiny tickets just waiting to be resolved...

Another problem with tickets is one of social dynamic. With the forum topics, I could quietly ignore ideas that I didn't consider to be good enough or worth the amount of effort they would take, and in the absence of a definitive index of their own requests, most of the requesters would soon forget about the suggestion anyway. Now, I have to make an explicit dictatorial ruling on every request, and (contrary to what you might think!) I really do not enjoy doing that, especially when I have to say No. There just isn't a nice way to tell someone that you won't be doing what they asked, especially in the rigid medium of text. Of course I could write a long, personalised explanation of why I'm turning the idea down on every ticket, but then I would spend all my time navigating tickets (especially now they arrive at a rate of several a day), plus no doubt get embroiled in a back-and-forth discussion about the merits of the ticket. So I have to be somewhat perfunctory in my responses. Furthermore, because I find it genuinely quite unpleasant to say No to things, I've occasionally found myself accepting ideas that aren't that great, or entertaining possibilities beyond the point where they had any real chance of getting accepted. The ticket system, despite its formalisation, is actually a lot more personal to me than the flowing discussion of the forum. And problematically, I do like to be nice.

My final reservation is that few tickets are now read by anyone except me. The kicking around of new ideas, which was commonplace on the Feature Request thread, is essentially defunct. This is especially unfortunate for larger-scale conceptions like new variants, which often need to pass through a few people's imaginations before solidifying into something really neat and appealing. With certain tickets I have deliberately sought out expert opinion from subsets of the player base, but (to borrow an observation from The Wisdom of Crowds), a small pool of experts is no substitute for mass consultation. In theory the tickets should be open to a wider audience (since anyone with an apterous account can easily read and comment) but in reality it's too sprawling and abstract to be of interest to anyone but the hardcore. And even if I found some way to draw people into the system (e.g. links to interesting tickets in News), it's still fundamentally undemocratic since only I have the power to decide which tickets look promising. (Also, in the forum system, other people would often shoot down bad ideas or clear up misconceptions for me. Now I have to resolve everything myself!)

All things considered the ticket system is undoubtedly A Good Thing. What makes me happiest is that the game does not look unrecognisable from what it was six months ago; it looks basically the same, but with a new lick of polish. So the system is clearly working. But I would be very open to ideas for addressing the particular problems outlined above, and also hearing general feedback on how the ticket system has altered people's perceptions of the site. I hope it was something like what I intended.