codeblog code is freedom — patching my itch

July 23, 2010

Achievement Unlocked

Filed under: Blogging,Debian,General,Ubuntu — kees @ 5:45 am

I think it would be fun to add an achievement system to the Ubuntu Desktop, like is done on Steam and XBox.

The tricky part is tracking various events and finding amusing correlations. For example, if your screen-saver kicks in 40 times in a single 24 hour period, you could earn the “Alternating Current” achievement, indicating that you’re being repeatedly interrupted all day long:

achievement unlocked: alternating current

There are all kind of things to track and correlate. Miles moved with the mouse, clicks taken, keys pressed, files opened, applications installed, buddies added, IMs received, sent, etc. There are all kinds of achievements that could be designed that could be used to help people discover how to use Ubuntu, or for just plain humor. “Achievement Unlocked: Application Deficit Disorder” when you uninstall 100 applications you installed in the prior week.

I’ve been told this might all be very easy to implement with the Gnome Activity Journal (Zeitgeist), but I haven’t had a chance to investigate further.

UPDATE: I can easily imagine this being tracked in CouchDB, synced between systems via UbuntuOne, and could be linked to any other remote APIs that people could dream up, including Launchpad, Forums, REVU,, etc.

© 2010, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 License.
CC BY-SA 4.0


  1. I think this is a fantastic idea.

    Comment by Rodrigo — July 23, 2010 @ 6:14 am

  2. ah, that’s definitely a cool idea ;)

    Comment by Renke Grunwald — July 23, 2010 @ 6:15 am

  3. Great idea! If you decide to put it on ubuntu brainstorm, I’ll give it a vote.

    Comment by Spajderix — July 23, 2010 @ 6:15 am

  4. This would actually be good with an interactive OS tutorial and “achievements” corresponding to the topics default Help screen offers: “Applications” – “Use application center”, “Files” – “Move/copy/just find them”, “Music/video/photos”, “Internet” (“Download a torrent”?), etc.

    Comment by Koterpillar — July 23, 2010 @ 6:23 am

  5. That’s actually an awesome idea, I’m not sure I’d want it as part of the default install, and I can imagine the uproar if it was, but I think it’d be good as a featured/recommended application. I’d use it! :D

    Comment by Joeb454 — July 23, 2010 @ 6:43 am

  6. This is a great idea. It would be good if it could be expanded beyond the desktop and into the Ubuntu community as a whole, eg. Reported a bug (with enough info that a developer accepts it), Tested a ppa build, Participated in a bug hug day, etc…

    Comment by Marble — July 23, 2010 @ 7:21 am

  7. Great idea!

    Comment by travlarson80 — July 23, 2010 @ 7:37 am

  8. Great idea! Maybe the achievements could be “task” oriented like the new IPhone game epicwin.

    Comment by Conzar — July 23, 2010 @ 7:39 am

  9. This sounds full of win… I’m on board to help coding ;)

    Comment by Mez — July 23, 2010 @ 7:51 am

  10. This sounds like an awesome idea. I would love to see something like this.

    Comment by FuturePilot — July 23, 2010 @ 7:59 am

  11. I seem to be alone here, but I think this is a stupid idea.

    A general purpose computer should just blend in to your workflow and environment, not require you (no, I realize it wouldn’t “require” it) to achieve or discover things. When I’m using a PC, I am using it as a tool to complete a task that I have already set myself. It should just get out of my way and try to do whatever it can to help me get my work done.

    When people are playing games, they are doing something totally different. They are playing a game _because_ they want to explore something, discover something, or pretend they’re achieving a useful goal (many games work though making a player feel they are doing something worthwhile). A user doing this is in exactly the right mood to be told something like this. A PC user already has a goal of their own and knows what that goal is.

    Most people, unlike (I suspect) many people here, do not find using PCs fun or entertaining. They are using the machine for a reason, even if that reason is as trivial as poking their friends on facebook.

    So yes, while this is an entertaining idea, and a lot of us would enjoy it, please realize most real users would either:
    – Not understand it and just get very confused.
    – Find it annoying.

    Comment by robert — July 23, 2010 @ 8:10 am

  12. Wow, ubuntu users want their os to spy on their behaviour. You should apply to work at microsoft

    Comment by Anon — July 23, 2010 @ 8:12 am

  13. Sounds fun :-)

    Comment by Dread Knight — July 23, 2010 @ 8:18 am

  14. – “The Hub”: 200 Signatures on a single UID on your public key

    – “The Bearded One”: Used hjkl navigation in vi in more than 10 editing sessions

    – “Pumping Station”: Ran a shell command with more than 5 commands in a single pipe

    – “Useless Use of cat”: Self-explanatory

    Comment by Simon — July 23, 2010 @ 8:28 am

  15. That is an epic win idea. I am amazed.

    Please look at WoW achievemnts for inspiration too –

    The key is non-benefitial, fun, bragging rights. One should get some randomly during normal day (to show off the system once its in place), but then it ranges up to such things that noone would normally do and that you would have to actively work toward to get, even up to achievements that are hard to get even when trying – like “Mile high club – upgrade a package on a computer with associated GPS device while being higher over the sea level than the summit of Mnt. Everest” or “Paris holydays – use GIMP to place your userpicture (from About me) into a photo take in Paris (with embedded GPS location) and use that as your Desktop background”.

    Comment by Aigars Mahinovs — July 23, 2010 @ 8:31 am

  16. Sounds like an awesome idea!

    Comment by Kyle — July 23, 2010 @ 8:36 am

  17. Great idea. I’d love to see something like that!

    Comment by Passy — July 23, 2010 @ 8:39 am

  18. This idea is brilliant. I totally want to see this implemented.

    If anyone wants to start a project for this, count me in.

    Comment by Steven Noonan — July 23, 2010 @ 9:50 am

  19. Yet another reason not to use Ubuntu.

    Comment by Jeremy — July 23, 2010 @ 11:11 am

  20. Kinda like StackOverflow’s badges.

    Comment by Ken Bloom — July 23, 2010 @ 11:13 am

  21. Death of Rats (with the obvious Discworld-inspired icon): Have some large number of keystrokes with no mouse movements in between.

    Friend to Rats: Use exclusively the mouse for some large number of minutes with no keyboard usage.

    The Enabler: Use NetworkManager to turn yourself into an access point, and have someone else connect to it.

    Boombox: Play music with the volume turned all the way up.

    Put it on my tab: Have more than 10 browser or terminal tabs open simultaneously.

    Multitasker: Have more than 8 windows open simultaneously.

    Cryonicist: Sleep or hibernate more than N times without rebooting.

    Busy beaver: Have more than 6 calendar items scheduled on the same day.

    Comment by Anonymous — July 23, 2010 @ 12:05 pm

  22. Frankenbox: Have more than 8 peripherals attached simultaneously, counting USB, Bluetooth, Firewire, eSATA…

    Comment by Anonymous — July 23, 2010 @ 12:06 pm

  23. This is great! I’m loving all the achievement ideas!

    Comment by kees — July 23, 2010 @ 12:10 pm

  24. Sandwich maker: Use sudo. :)

    Conversationalist: Have 3 or more active conversations going on simultaneously. (Active meaning recent activity.)

    Digital Traveler: Have more than 10 different networks configured in NetworkManager.

    Comment by Anonymous — July 23, 2010 @ 12:11 pm

  25. X marks the spot: Use mouse selection and middle-click paste more than 3 times.

    Editorial Diplomat: Have emacs and vi running simultaneously.

    Browser Diplomat: Have at least 2 different browsers running simultaneously.

    Comment by Anonymous — July 23, 2010 @ 12:16 pm

  26. – Install a new package (Explorer I)
    – Add a repo to apt sources (Explorer II)
    – Use an apt-url link to install a package (Explorer III)
    – Change background (Renovator I)
    – Change theme (Renovator II)
    – Add items to the panel (Renovator III)
    – Configure compiz (Tweaker I)
    – Install Awn/Docky (Tweaker II)
    – Configure IM client (Communicator)
    – Upload video of YouTube/Vimeo/etc (Publisher I)
    – Post to a blog (Publisher II)
    – Install 10 security updates with 48 hours of their release (Good Citizen I)
    – Submit a crash report (Good Citizen II)
    – Configure a printer (Sysadmin I)
    – Play a video longer than 10 minutes (Media Mogul I)
    – Configure a podcast (Media Mogul II)
    – Configure a podcast (Media Mogul II)

    Comment by Erigami — July 23, 2010 @ 1:17 pm

  27. >Put it on my tab: Have more than 10 browser or terminal tabs open simultaneously.
    Good idea, but you need higher level ones as well – any day that I use my computer at all, I am going to have more (a lot more) than 10 tabs open.
    A number of other suggested achievements should likewise have levels, starting low and going up to ridiculous heights.

    Please consider if this can be made work with standard unix stuff and fd.o standards, so KDE and non-DE users can use it.

    Comment by Kelly Clowers — July 23, 2010 @ 2:27 pm

  28. I’ve long thought something similar to this could be used as the the introduction to Ubuntu for new users. So upon a fresh install you can opt into the intro program, and once on it you are given achievements to do like ‘Install an app from the software centre’, ‘set up an IM account’

    Comment by Jimbo — July 23, 2010 @ 3:16 pm

  29. Bonus points:

    Make *some* of the achievements involve things that need wide user testing, and allow users to opt-in to automatically report when they earn these achievements.

    Achievements could be in the vein of:
    – connect to 100 different wireless routers
    – use an open-source video driver
    – write 1000 words using text-to-speech
    – use gnome shell for 48 hours
    – etc

    If we wanted to go crazy with this idea we could have an optional questionnaire at the end of some achievements, e.g. the achievement “use your window manager with controls on the left and controls on the right, each for at least 48 hours” could ask you which you preferred when unlocking it (though I think this would probably ruin the fun/ease/casualness of it all).

    Comment by author — July 23, 2010 @ 4:12 pm

  30. I think it’s a cool idea, and could be easily implemented

    Comment by Eli — July 23, 2010 @ 4:37 pm

  31. fantastic, you just discovered another variation of karma wanking

    Comment by anon — July 24, 2010 @ 12:47 am

  32. Hey
    I can write a little demo for you if you want using zeitgeist.
    Example if you spend more than 6 hours a day watching a movie you become a couch potato :)
    please contact us at #zeitgeist on freenode

    Comment by Seif Lotfy — July 24, 2010 @ 1:20 am

  33. Ever since seeing the Ribbon Hero idea I’ve been thinking on and off about implementing something like this for Do. It seems an awesome way to help users get more efficient by making it fun to explore the many, many features Ubuntu has on offer.

    Comment by RAOF — July 24, 2010 @ 9:02 am

  34. Awesome. I would like to see an achievement for deleting text from a single document. Bad/perfectionist/pedant writers who keep rewriting would get an achievement unlocked easily.

    Comment by topyli — July 24, 2010 @ 11:13 pm

  35. Thumbs up for the idea

    Comment by Mennis — July 24, 2010 @ 11:53 pm

  36. This should be the first thing someone makes and releases on the Ubuntu Extras (“new stuff”) repository :)

    Heck, it could even serve a dual purpose as a tool that leads people to cool features in Ubuntu, assuming there’s the conventional full list of unlockable achievements somewhere.

    I’m not one for making titles, but…

    * Enable the compose key
    * Use compose key to enter ten special characters
    * More than 15 windows open on a single workspace
    * Over 5 windows open on each of four workspaces
    * Manually set the time
    * Change the application font size
    * Change the theme
    * Enable Gnome typing break
    * Actually obey Gnome typing break


    Comment by Dylan McCall — July 25, 2010 @ 1:47 pm

  37. If you’re looking for something similarly amusing and geeky on the command line, try turning on “nethack mode” in screen/byobu.

    echo “nethack on” >> ~/.screenrc

    Enjoy ;-)


    Comment by Dustin Kirkland — July 25, 2010 @ 3:49 pm

  38. this is a great idea, Is anyone working on this?

    Comment by john — July 29, 2010 @ 9:19 am

  39. That’s funny, I was looking into working on this exact project myself when I stumbled on your site. I was scouring the web and some irc channels in an attempt to figure out what might be required to craft such a program. I was thinking probably using libnotify or some such but by the sound of it you’ve got a little better idea of how to go about doing this than I do.

    I’m TOTALLY down for joining a dev group if people are thinking of working on this!

    Comment by Martin Baricevic — August 7, 2010 @ 8:45 pm

  40. I think it would make more sense to have this on launchpad to attract new developers.

    Comment by Matthias — August 8, 2010 @ 12:27 pm

  41. Check the discussion about this on OMG! ubuntu:

    I think it’s a great idea, but the implementation would be tricky, as you would need hooks, handles and DBus notifications in every application that you want to support.

    Is there a project page yet?

    Comment by Tails — August 17, 2010 @ 4:02 pm

Powered by WordPress