Antoine Neveux

Yet another blog about stuff.

Achievements notifications in Java

Hi everybody,

I recently discovered a small java library which aims at dealing with achievements notifitications. I don’t know if you already heard of this, but achievements are something more and more popular for developers. Coming from the world of video games, achievements are some kind of goals to reach in order to prove your skills. There’s a lot of achievements examples: badges in Pokemon, but also achievements on XBox 360, and so on.

Nowadays, more and more gaming concepts are included in our work environment, in order to increase our productivity. A lot of things can be done regarding this: medals for developers according to their code quality, achievements while writing code, etc. Actually, that’s exactly what Microsoft done while including an achievement mechanism in their last release of Visual Studio. This mechanism allows developers to reach some kind of goals while writing their code, and as they can share their achievements with friends, a sort of competition can start between developers in order to find the one who does the best code. So the developers’ productivity is increased, and they play while they work.

Actually, you can also find this kind of mechanism on popular websites such as stackoverflow.

As I’d like to implement the same kind of mechanism as the one provided by Visual Studio in Eclipse, I searched on the Internet for some existing work, especially regarding the graphical part: achievements notifications, and I found a really interesting library wrote by @paulocereda. JAchievement is an open source project, which allows to display in a very easy way some notifications:

There are a lot of options you can use in order to customize the appearance of your notifications, and everything is completly documented on JAchievement website.

You can also browse the source code, available on github.

If you’re familiar to Maven, you can use this library with only a few lines of XML in your pom.xml file:

Feel free to try this really nice library, and don’t hesitate to tell @paulocereda how nice his work is :) He’s a really sympathic guy who deserves to be known :)