A notch above a monkey

Gamification of book reading

I’ve been following subjects of gamification and game mechanics for a couple of years now, but I’ve only recently spotted how they apply to me. I conceitedly thought that they have little influence on me, but reality is as always more nuanced.

I still seem to be unmoved by most attempts. I don’t care that my LinkedIn profile is not complete and no fake mayorship will get me to use Foursquare until I see some other tangible benefit. On the other hand keeping a list of books and having a goal on how many to read has indeed influenced my behavior.

So why did this last example work? Because I actually care about reading books. It’s something I enjoy and want to do more, so “achievements” actually mean something to me.

I started to track books I read because I wanted to know how many I actually read, in what order and does that say something about me. I also thought setting an annual goal would provide a good incentive to keep reading, which it did, but not exactly in a way I expected.

Having a goal certainly helped me with additional motivation to read books when otherwise I might not have for one reason or another, but it also gave me a nudge against dropping books I didn’t like since doing so would mean time invested in them would not get counted to achieving my goal.

It also pushed me to thinner books. Less pages mean on average quicker completion. But there are books where six or eight hundred pages doesn’t feel too long and they shouldn’t be postponed just because it might take me more than a couple of weeks to read them.

Time pressure also leads to more cursory reading. I’ve never been able to read as deeply as I thought I should, but having a goal definitely changed my reading for the worse. Again, properly engaging a book takes more time and hence makes it harder to achieve the goal.

I didn’t notice any downsides from having a list itself which has indeed provided me with insights about me I probably could have if I wrote a diary. Which I don’t, so I’m left to piecing my long term memories mostly from circumstantial evidence.

That’s why I’m keeping a list, but ditching my goal. Upside is simply not worth the downsides.

I see my experience as providing a lesson. It’s relatively easy to go through different gaming mechanisms and find a combination that you think will give you results you want. However, incentives are a bitch and I think it’s practically impossible to reliably predict what will actually happen in use.

That’s why complex modern games take so much time to create, because getting things right takes time and is not something you can reason through.

I’m with Kathy Sierra on this and you really ought to read her comments . I’m skeptical of general awe around gamification, but I do think game mechanics will have an important role to play in our future. Still I would prefer if we cautiously applied new tools where they can’t hurt much before we plaster badges of suck everywhere.

For a while now I’ve been annoyed by how every gamification talk has about 20 minutes of gushing of its virtues and about 20 seconds on possible ethics problems, but my experience has reminded me of the deeper problem, which is that it is simply much easier to inflict damage to your users and your product (brand) than getting it right.

Typeface snobbism

We came from Corsica vacation recently and one place we visited was Bonifiacio, a picturesque town in the south of the island. It’s a great place to visit, but if you do, try to rent an apartment in the old town itself – you might feel as a part of it.

We stayed in an apartment recently completely renovated by owners and very tastefully designed. Phillipe, our impeccably dressed host, who lived in equally tasteful apartment above us, also provided us with a page full of suggestions on what to do, where to eat and so on.

Typeface used for suggestions was Comic Sans .

I admit I was amused at first. Here was this older gentleman showing more taste than me in everything who nevertheless used one of more despised and ridiculed typefaces around. My unconfirmed guess is that he picked it because it looks friendlier than others.

Which got me thinking how bad is Comic Sans really?

It obviously doesn’t leave people untouched, since they keep on using it when there are many choices even on most typefaces starved computers. I’ve also yet to meet a person who would hate it and was not interested in type.

Popularity does not mean it is a good typeface (whatever that actually means) just as it doesn’t make Madonna a good singer. It does however speak to people unlike so many typefaces which leave most of us simply unmoved.

Not to be contrarian, but I find it a completely reasonable choice for children party invitations. It may look ludicrous when used on warning signs, but then again every typeface gets misused for texts it wasn’t designed for.

If it happens more often to Comic Sans, it’s probably more because it is less general, less bland than, say, Times Roman .

In the end I have to admit I don’t have a bigger point than simple admission I’m not affronted by it anymore. I can’t muster a will to protest or even feel annoyed. To me it has become a pop icon, something I wish to see less and in context better suited for it, but at the end harmless.

Impostor for Django

A class of bugs I really dislike debugging are those that depend on specific data and affect only a very small subset or just one user. Things could sometimes be fixed so much faster if you could just log in as him to see what is happening. Sometimes this is exactly what we do with his explicit permission , but I really dislike asking for passwords.

First it inconveniences user. He has to come up with either a new good password or go through two password changes. Second it implicitly teaches wrong behavior. Passwords simply should never be revealed.

That is why I wrote Impostor , a Django app that allows staff members (and only them) to login with their own credentials as a different user. Idea is not mine (kudos goes to Ned Batchelder ), but I like it. To discourage abuse every such authentication is recorded and can be seen in Django admin interface, but can not be altered from there.

So how does it work in practice?

Lets say that I would need to log in as user fry . To do this I would enter as my username markos as fry, provide my password and voila, I’m him. This has been recorded so anyone with access to ImpostorLog part in admin can see all such cases, mine included.

Impostor may also ease your development by removing need to remember different passwords for testing. This is usually not a problem unless you happen to develop with fake data but real accounts. Like me.

And again for morally challenged out there: you should never login as somebody else without his explicit permission .

Update : Thanks Ross for reminding me where idea came from. I updated text accordingly.