I’ve been re-working my Achievements plugin for some time now and, with the invaluable aid of some amazing testers, it is getting closer to a beta release. Achievements will require a minimum of WordPress 3.0.1 and BuddyPress 1.2.6, and it will work on both regular and multisite variants of WordPress. In the next few weeks, I will be launching a dedicated site for Achievements. In addition to explaining why every BuddyPress-powered website should use Achievements, it will contain screencasts, walkthroughs, developer and site admin documentation, as well as support options (both free and premium).
Enough pitch! As with any software that is still in development, certain sections of it are more finalised and robust than others. I’m excited to share with you the following screenshots of these more finished sections, and I look forward to reading your comments here, by email, or on Twitter.
Achievement creation

Once the plugin is installed and activated, it will integrate itself fully into the default BuddyPress theme. All of Achievement’s pages and settings are controlled in the user-facing parts of the site, and each has a separate WordPress capability. This lets you use a plugin like Role Scoper to give certain users to access to specific pages. For example, you could let certain users edit Achievements, but not add or delete them.
WordPress comes with a sample blog post and comment to give new users something to view and edit, to teach them how to use the dashboard. The first version of the Achievements plugin took a similar approach and came with ~20 Achievements. Unlike WordPress, to add more, you had to know how to code, read the documentation and be a master of voodoo. Not awesome.
To encourage creativity and to allow true customisation, Achievements will come with easy to use Create and Edit screens. You don’t need to know how to code, or read the documentation, or know voodoo. Awesome!
Detail page

Achievements has been built to appear visually similar to BuddyPress Groups. In the same way that each Group has its own set of pages, an Achievement has its own set of pages.
Common to each Achievement page, there is a universal header consisting of the Achievement’s name, type, points value and assorted meta information; i.e. if the current user has “unlocked” this Achievement and how many people in total have unlocked it.
The details tab displays the Achievement’s description which can contain any HTML or rich-text formatting that you can use in a regular WordPress post. It also supports shortcodes and oEmbed.
Change Picture page

After creating an Achievement, you’ll want to customise its picture. You can choose any image in your WordPress Media Library. If you’re considering using Achievements on your site, I suggest that you plan ahead and design your pictures now, as the visual branding is critical. Get those crayons out!
Achievements makes use of the Media Library as it’s built in to every WordPress install, and it removes a lot of potential code duplication and handling of file uploads. It also enables you to keep taking advantage of plugins that enhance the Media Library; for example, W3 Total Cache‘s CDN support and WP Smush.it, which automatically strips unnecessary information from each image, resulting in smaller file sizes.
Directory page

The Directory page matches BuddyPress’ Members and Groups list, with filters to show all Achievements and only those which the user has unlocked. A recent usability enhancement for admins, invoked by moving your mouse over each item, are quick links to that Achievement’s edit, change picture and delete pages. It’s made my day-to-day development much easier.
Widgets

Everyone likes widgets, and so far, Achievements has three; a leaderboard, recent Achievements and all available Achievements.
The leaderboard is a very common concept, and is a great way of ranking the users who participate most on your site.
The recent Achievements widget displays the pictures of the user’s most recently unlocked Achievement. The idea is to bring your Achievements’ branding into the rest of your site.
The available Achievements widget lists all of the active Achievements on your site, just like the Directory. Why? Built with WordPress multisite in mind, you can configure certain Achievements to trigger only from actions on specific sites. You can drop this widget into your sites so that your users can discover what’s available; a great way to encourage people to visit all of your sites.
The most frequently asked question: what’s the release date?
Soon.™
Looking forward to working this into my site redesign – thanks!
LikeLike
Great to hear that, Andrew!
LikeLike
Loving the (alpha) plugin, wish all plugins were coded so well.
Looking forward to the proper release…
LikeLike
Thank you 🙂
LikeLike
Hi Paul,
first of all, congratulations on getting Achievemets to it’s current state – fantastic work.
Realise I haven’t been helpful in testing code, but hopefully a few UX comments will help:
1. Could you post a list of complete achievements? I imagine that a lot of users will want to customise their achievemmt badges so a list would be useful to brief designers with
2. Can you provide stock images for a price? Might help to monetize the app, and give new users a headstart. Much like premium WP themes take the effort out of getting an attractive site from the get go
3. With the predefined achievements, is there a way of giving them different levels, eg 100 comments, 250 comments, 500 comments, 1000 comments, etc?
4. Is there an option for users to suggest new achievements? Something Foursquare doesn’t seem to take much advantage of (as yet)
5, What’s the release date? 🙂
Cheers,
Ben
LikeLike
Hi Ben
1. Achievements are created by the admin, see edit/create screenshot in the article. What you probably mean is, what actions can Achievements use? (i.e. on blog post, on comment) I’ve got about 15 actions integrated at the moment, and I’m going to spend this weekend working on adding more. I’ll let you know a complete list soon.
2. It’s something I’d have to outsource, but which I’m looking into. I love the idea.
3. There aren’t any predefined Achievements. In general terms, if you have an Achievement that you want to trigger after “10 blog comments” and “20 blog comments”, you’ll have to build two separate Achievements.
4. Not currently. The implementation of this may be too site-specific to do well; some people may want to collect ideas via blog, or twitter, and so on. I’ll have a think about this.
5. I need to finish up a couple of screens before I’m going to publicly commit to anything. And, hey; you’ve got the alpha version already 😉
LikeLike
Paul, thanks for all your work on this amazing plugin, thanks to all your testers too.
LikeLike
Thanks donnacha!
LikeLike
Hey Paul,
Thanks for the update and all your input on this plugin, it really is amazing and I’m itching to use it. My designer is working on our badges as I type 🙂
I’m sure I’ll need input from you soon so will be in touch.
LikeLike
Nice to hear from you again, Michelle. Thanks!
LikeLike
Now that’s an upgrade!
Seems this plugin is coming along VERY nicely – so glad to see it reach version 2.0.
Can’t wait to use this within a production environment…
LikeLike
Cheers Mark 🙂
LikeLike
Nice update, you’ve renewed and strengthened my hopes 🙂
LikeLike
Thanks
LikeLike
By the way, is there an option to change the points slug to something else like Trophies? because I use Points slug for CubePoints.
LikeLike
Yes. Unlike BuddyPress, you can change all of the slugs. i.e. from example.com/achievements/change-picture to example.com/badgers/mushroom
LikeLike
Wakakakaka.
I need
translateuse it!LikeLike
As soon as it is nearly ready, I’m going to ask you to translate it, don’t worry 😉
LikeLike
If you want you could Jack Foursquares badges
http://thekruser.com/foursquare-badges/
LikeLike
Sounds a bit naughty 😉
LikeLike
Paul this looks like stunning work, very polished! Have to admit I hadn’t really taken note of ‘Achievements’ before.
LikeLike
Cheers hnla
LikeLike
Great work! Looks awesome so far …
We have a Gamecenter on our upcoming site. Say the Flashgame developer is going to build in some hooks into his code (e.g. if one finished a level = user gets 100 Points), are we able to build an Achievement around it?
LikeLike
As long as you have a way of calling a WordPress action hook, you can.
LikeLike
Cannot WAIT for this! Cubepoints integration has never worked as well as I would like on our site and I’m looking forward to replacing it with this. Thank you for all of your hard work!!!
LikeLike
Thanks dawn, it’s always exciting to hear about people considering using the plugin
LikeLike
I think this in the top of my most anticipated plugins list, I cannot wait for a release!
LikeLike
😀
LikeLike
VERY interested.
If you need translations, I can translate it to Spanish, and French.
I’ll stay tuned for more!
LikeLike
I’ll be in contact nearer the time, thanks 🙂
LikeLike
Amazing-ness!
LikeLike
Brilliant! I was toying around with some ideas around this very concept and… lo and behold, there it is! (That happens regularly with WP plug-ins, sure, but not ones with so specific an idea. That only tells me this is an idea that’s intuitive, whose time has come!)
I’m happy to help contribute – thought of uploading to GitHub / bitbucket etc., even in raw form?
LikeLike
It is available but I’m reluctant to give out the URL here because I don’t want people to think that it is finished (I’m still classing this as alpha-quality). Send me an email if you want to give it a test drive to see about contributing, etc.
LikeLike
I’ve been looking forward to this since I played with the initial release wa-a-ay back in circa BP1.1!
Being able to award achievements incrementally (1 comment, 10 comments, 100 comments, etc) is a must to encourage participation and I think I’ll be exploiting the badge feature to its fullest on this.
On that point, I’m wondering if it’ll be possible to combine several achievements, or create an achievement that’s awarded when several actions are completed. That way, once a user completes actions 1, 2 & 3, award “Bronze” status badge; complete actions 4, 5 & 6, award “Silver” status badge; actions 7, 8 & 9, “Gold” badge and so on.
Of course, some users would be tempted to abuse a system such as described in the previous 2 paragraphs by completing the required actions to get the points/badge, and then deleting them. Ex: create 100 “dummy” comments to get “Bronze” badge, then delete all dummy comments.
There would have to be some kind of point retraction system. Maybe “award” a negative point value for deletion?
Anyhoo, my fingers are itching to play with this again, and get it integrated on my site which I hope to launch by year’s end.
Thanks so much for creating this plugin!
LikeLike
Hi Patrick
There’s no currently no way to define multiple requirements for each action. It’s not impossible to add such a feature but it wouldn’t make it into the first release.
Points are never retracted automatically. I’m not trying to create a virtual currency, and a site could hide the points total all together. There will be a way for an admin to unreward an achievement from a user, and to change that person s points total.
LikeLike
Hi Paul,
Thanks for a speedy reply!
My site will cater to folks recovering from alcoholism and drug abuse. This is a demographic that is notorious for finding loopholes and exploiting them (and I speak from experience 😉 ). So a way to remove points/awards is, at least for my needs, a requirement. If it has to be done manually, so be it… at least it can be done.
Thanks!
LikeLike
Perfect. Except for the minimum buddypress 1.2.6, is it tested on 1.2.5?
LikeLike
Hi Mark; it won’t work on 1.2.5 (if you’re technically-minded, it needs bp_core_current_time() introduced in http://trac.buddypress.org/changeset/3142/). There’s only bug fixes between 1.2.5 and what will be 1.2.6.
LikeLike
I’ve also just committed support for the activity stream secondary avatars… something so new it only was put into BuddyPress last night. So that’s another reason!
LikeLike
1.2.6 it is then, any eta on a public beta yet? I’m getting itchy fingers!
LikeLike
This is sooper!
You’ve rekindled my hopes! I’ll
runre-start a site I own, rechristened & from scratch!I’m bootstrapping, setting up a team here. And our to-be-team may in some(substantial)time, get into a position to contribute too!
Do meanwhile, let me know if I can taste it on from the alpha release, please. I can contribute with bug-reporting or UI/UX suggestions, as much as possible from my end. Keenly awaiting your reply. 🙂 🙂
And alas, I hope I could’ve email-subscribed to this comment thread 😦
LikeLike
Hey MBA, thanks for posting. If you send me an email, we’ll chat about the alpha.
LikeLike
I am getting that tingly feeling (and not the kind you have to see the doctor about). VERY excited to see this come out, let us know soon!
LikeLike
End of September; not long now!
LikeLike