Mike Hall proposes “UbBloPoMo”, an initiative to get everyone on Planet Ubuntu posting every day about something. While I think his heart’s in the right place, I’m not sure that that’s the right way to go, especially since his thing sounds like it’s named after a disease of the rectum or something. So in thinking about it I thought… why not throw a little bit of fun in there?
The idea (which I have not built, to be clear) is: Fantasy League Planet Ubuntu. You go to the website, sign in with Ubuntu One, and get presented with a list of all Planet Ubuntu participants and some free money1. Each Planet Ubuntu participant has a price, based on how often and with what quality they post… and you have to spend your money to buy a team of ten. Then, every time one of your team posts to the Planet, you get some points, based on the quality and frequency of their posting. The winner is the one with the most points at the end of the month, or at the end of every month. If it takes off, maybe we can get Canonical to throw in a t-shirt for the monthly winner or a voucher or something.
Sounds like it’d be fun, to me :-)
Now for the detail and anticipation of complaints:
it’s way too easy to game the metrics
Disagree. It’d need a little thought, but it’s not hard to conceive of the scoring algorithm for new posts. A post existing at all scores some points; being longer scores more; the points drop off with more subsequent posts on a given day. That’s enough to stop people turning Planet Ubuntu into a linkblog or Twitter while still encouraging posting. Remember, the underlying goal here is to have more people writing more things and thus having our community be more vibrant. Sure, there’s nothing in theory stopping someone writing a bot to just post huge lorem-ipsum posts, but firstly it’s hard to imagine that anyone who’s already a valued member of the Ubuntu community2 stooping that low to win a game, and secondly they’re polluting their own blog by doing it, so it hurts them more than it hurts us!
There’s endless scope here for extra stuff, too; does a link from one post to another add extra score? Do pictures improve the score? Etc. Iterate forever.
gamification is bad
Well… I certainly agree that some people think so, although I personally do not. And this would need a little thinking about; obviously if you don’t wanna play you don’t have to, but there’s a risk of being hassled by people to post more because you’re on their team. I suspect that having a way for a poster to request that they cannot be picked for a team is the obvious way out, but we ought to be better at social pressure than that; don’t hassle people.
so how would you build it?
Two components: an RSS aggregator, and the website. Choose your favourite RSS aggregator (spycyroll? planetvenus? whichever). Then, hourly, scrape the list of feeds from Planet Ubuntu3 and hit each feed. For new posts, give them a score with the scoring algorithm. Your RSS aggregator needs to keep around the post metadata, but can throw away the post content because it’s not actually producing any output. Then credit each relevant team owner with the score for this new post. (Note: do not fetch this stuff on the fly. You need the aggregator running in the background, which means a cron job or something similar, not something embedded into PHP in the page.)
The website is pretty trivial: Ubuntu One sign in, simple database with one table containing (username, score, reason, blogowner, posturl) rows which look like
|sil||5||Michael Hall posted ‘UbBloPoMo’||mhall119||http://mhall119.com/…problem/|
and a page displaying your score, the reasons you got it, and how you’re
doing compared to everyone else. If this site had a million million
users then you’d want to do a bunch of clever denormalisation and use a
nosql database or whatever, but it’s not going to… so just one mysql
table will be fine, and get someone’s total with
SELECT SUM(SCORE) FROM TABLE WHERE USERNAME='sil'.
so if it’s that easy why haven’t you built it?
Two reasons. The first and least important is shortness of time; it’s probably only a day or two to build, but I don’t have a spare day or two this week. The second, and more important, is that if it’s a good idea then we want to encourage lots of people to get involved, which is about motivating the community, and there are people out there who are better at that than I am. Hint.
I think this would be rather fun. It’s also ongoing fun with no ongoing time investment; once it’s built, it runs itself and continues being fun :)
And if it works, one can imagine as a sequel Fantasy League Ubuntu Developer — one point for a merge, two for a bug filed…?
- note: not actual money. Of course. ↩
- they’re on the Planet, right? So they’ve already passed that hurdle ↩
- it would be nice if the Planet exported its list of participant feeds in machine-readable form; it must already have that list, so pointing a URL at it would be useful. Note that you can’t just fetch Planet Ubuntu’s own RSS feed, because you can’t unambiguously tell from that feed who wrote each post, unless you use their name as a unique key which is not a great idea ↩