Open Thinkering


Category: Open Badges

Some thoughts on programmatic Open Badge image creation using AI models

Towards the end of yesterday’s meeting of the Open Recognition working group of the Open Skills Network we got on to talking about how it might be possible to programatically create the images for Open Badges when aligning with Rich Skill Descriptors (RSDs).

Creating lots of badges manually is quite the task, and gets in the way of Open Recognition and Keeping Badges Weird. So the first step would be to speed up the process by creating a style guide. Sharing SVG templates that are editable in a wide range of image-editing applications can speed up the process.

For example, for the upcoming Badge Summit, we’re issuing a badge which we want others to be able to issue for their own events. So we asked Bryan Mathers to create an image where the outside would remain the same, but the middle bit could be swapped out easily. Here’s the result:

I Kept Badge Weird at The Badge Summit 2022 badge

The next step would be to have a style guide which makes it faster to create unique badges. That involves a colour palette, font choices, shapes, etc. You can see this in action for our Keep Badges Weird community badges:

Selection of badges available to earn in the Keep Badges Weird community.

Lovely as they are, this is still labour-intensive and time-consuming. So how about we create them programatically? My former Mozilla colleague Andrew Hayward did a great job of this years ago, and the Badge Studio site (code) is still online at the time of posting.

The advantage of programmatically creating badge images is that it (helpfully) constrains what you can do to be in alignment with a style guide. Creating good looking badges can take seconds rather than hours!

An example of a badge image created using Badge Stuudio

However, what if we want to create badge images quickly, and programatically based on certain inputs? There are libraries that can create unique shapes and images based on email address and are used sometimes as the default avatar for platforms. Here, for example, is RoboHash which can be used to create good-looking unique ‘robots’:

Selection of unique robots created using RoboHash

It’s not a huge leap to think about how this could be used to create badge images based on a unique reference from an RSD.

But, if we’re getting a computer to generate something, why not something crazy and unique? Lately, there’s been a lot of noise about different AI models that can be used to generate images based on text input. One of the best-known of these, the images from which have been circulating my corner of social media quite frequently is Craiyon (formerly DALL-E mini). Here’s a really basic attempt:

Nine images created via the Craiyon AI model showing recognition badges

They’re quite… uninspiring and generic? However, they didn’t take any thought or effort on my part.

There are more advanced models than Craiyon, such as Midjourney. This can create stunning images, such as the one featured in Albert Wenger’s post about machine creativity. In fact, it was that post that got me thinking about all this!

You can create up to 25 images using the Midjourney Discord account before paying, so I created this one as quickly as possible using the same prompt as above. You can create variations and upscales, so I asked it to create variations of one of four images created, and the upscaled it to the max. I ended up with the following:

Round patch-style badge (black/yellow with orange shapes)

This is also quite boring, to be fair, but the awesome and weird thing about doing this in Discord is that you see the prompts that other people are entering to create image — e.g. ‘huge potato chip eating a bag of humans’ or ‘rainbow slushy trippy wallpaper’. I noticed that there were certain prompts that led to amazing outputs, so I tried ‘rainbow waterfall in a hexagon,bright,trippy’ and got these options:

rainbows and hexagons, AI created art

The bottom-left image looked potentially interesting, so I asked for variations and then upscaled one of them. I then just cropped it into a 12-sided shape and ended up with the following. I guarantee it’s one of the most unique badge images you’ll have seen recently!

12-sided rainbow hexagon images

The point is that there’s almost infinite variations here. And, as I found, getting the words right, and then doing variations and upscaling is actually quite a creative process!

As ever, I don’t have the technical skills to stitch all of this together, but I guess my job is to encourage those who do in particularly fruitful directions. The workflow would go something like:

  1. Community decides new RSDs
  2. Organisation or individual creates badge metadata aligning with one or more RSD
  3. AI model generates badge image

I should imagine a lot of this could be automated so that badges that align with a particular RSD could have visual similarity.

This could be amazing. Anyone want to give it a try? 🤩

Wanted: a simple 3-step Open Badges platform to generate claim codes and issue badges

Today I’ve been frustrated by Open Badges issuing platforms. Instead of getting philosophical about it, or bemoaning the state of the world (as I usually would!) I’ve decided to be more practical. If you’re a developer, I’m hoping this might tempt you into a side project…

That’s because, while I haven’t got the skills to create a badge issuing platform myself, I do know what it is that I and other people want. I’ve been in and around badges for the past 11 years, and I know Open Recognition can only flourish if it’s easy to issue and earn badges by claiming them.

Today, in my case, it was related to people completing activities as part of the email-based courses that WAO offer. But there are many other use cases.

I’m sure there’s other things that need to be in the mix, such as CAPTCHA codes, to prevent spam, and a simple admin interface. However, at its core, this is a really simple process.

Step 1: enter claim code

Mockup of screen showing text-entry box with a 'Go!' button. The prompt is "Got a claim code? Great! Enter it below"

Below the box is a link: "What's a claim code?"

As badge claimant, I want to be presented with an extremely simple box in which to paste a claim code I’ve copied from an email, chat message, or somewhere on the web.

(if I’ve come to this page by accident, or don’t recognise the term ‘claim code’ I want a link/tooltip to show me what this means)

Step 2: fill in essential details

A form asking for the applicants name, email address and evidence in support of their submission for the 'Innovator' badge

On the next screen, all I want to do is to fill in a form to tell the platform my name and email address. I then want the ability to enter words in a text box and/or upload a file providing evidence in support of my application.

Note that I’m not creating an account here. The badge issuing platform literally issues badges to the email address I’ve entered, if my submission is approved.

(if I don’t know what is meant by ‘evidence’ or what is required then I want to be able to click on a question mark icon for a link/tooltip to explain this )

Step 3: confirmation of submission

A confirmation screen confirming tha the submission has been received.

Once I’ve submitted my name, email address, and evidence, I want confirmation that the platform has received my application, and what will happen next. That’s it. Done.

There we go! This would require some kind of admin interface on the backend, but for an MVP this could literally be a spreadsheet. Who’s going to give this a try as a side project and make the world a better place? Here’s the Open Badges v2.1 specification if I can tempt anyone…

Open Badges is now on the plateau of productivity

Image aCC BY-SA Jeremy Kemp

Today I presented on a topic I’ve been presenting on for around 11 years now: Open Badges. I must have given 200 presentations on the subject, to audiences that number fewer than 10 to the several hundreds.

Over that time, the specification has changed, as have adoption rates, which have gone through the roof. Last year, I reflected in an article for the WAO blog that good things happen slowly, bad things happen fast. It’s taken a decade, as I predicted, for badges to be a no-brainer when it comes to recognising and credentialing knowledge, skills, and dispositions.

We’re no longer in the stage of “imagine a world…” but rather “here’s what’s happening, let’s talk about how this could be useful to you”. In other words, in the language of the Gartner hype cycle (to which I allude in the above post), we’re in the stage of ‘plateau of productivity’.

I recorded this Loom video to ensure I had the timing right for the 45 minute slot I’ve got. While I’m pretty good with timing, I use a lot of slides, and it’s been a couple of years since I presented in person!

I’ll also be throwing in a couple if interactive bits, so I need to ensure I don’t get stuck in the weeds with the inevitable questions about Blockchain / web3. My plan, as you can see in the recording below, is to point to v3.0 of the specification and talk about why decentralised identifiers (DiDs) are more exciting than blockchain, which I consider a back office technology.

So, without further ado, here’s a run-through of my presentation for FERS.

Next week I’ve been asked to speak at Het Nationale Bibliotheekcongres (the Dutch National Library conference) which is taking place in Assen, Eindhoven, and Amersfoort. I’ll be running a session fusing my badges work with digital literacies stuff in the service of discussing digital citizenship. Given than I’m only supposed to be talking for 15-20 mins before participants have 25-30 mins to do something, it’s going to be tight…