Simplifying Open Badges Federation

We’ve had “Backpack Federation” on the Open Badges roadmap for a long time. It’s always been the next thing we’re going to work on, but it continually gets pushed down the list by other high priority items. My goal in this post is to remove the “Federation” project from our roadmap entirely and focus on the features we mean when we say federation. Those features are absolutely within our reach, some of them are being worked on now, some of them are complete and in production.

What does “Federation” mean?

“Federation” just means distributed, with no central service that’s solely responsible for the maintenance or governance of the service. The internet is arguably the greatest example of a federated network. There’s minimal central authority; anyone can add a node to the network. Facebook is the opposite, a single entity controlling a large network of users and services. Facebook allowing users to post Tweets to their timeline counts as federation under some definitions of the word, but for our purposes, we’re talking about distributed systems without a central authority.

What do we mean by “Federation?”

We pack a lot of meaning into open badges federation, what we really mean is “distributed badge storage that gives users choice and opportunity to be discovered for their achievements.” Federation means more backpacks, more user choice and more user benefit. I’ve written more about federation in past blog posts, and even more about a world with more backpacks.

Some brief user stories help illustrate what we mean by federation,

  • I earn a badge at my local public library and can put it into the Mozilla Open Badges Backpack, or onto my school’s backpack, or my backpack on my phone.
  • I make a badge for Javascript programming public in my backpack. A week later, an employer finds my badge through a search for JS skills and I’m asked for an interview.
  • A researcher gathers anonymous data through the distributed network of backpacks about the amount of time it takes to learn skills equal to an undergraduate math degree via free online courses.
  • I want to learn how to research my genealogy, I find resources and badges online through a search in my backpack.
  • A teacher can see the badges her students have earned over the summer, and associate them with common core standards she needs to teach this year.
  • A teacher can find content and badges for his classroom that maps to common core standards.
  • A teacher can associate a badge they didn’t create with a common core standard; letting her colleagues know that it’s a great alternative to the canon curriculum.

Let’s stop saying Federation

Let’s break down the scenarios above and give a rough idea of what needs to be built to satisfy the need.

I earn a badge at my local public library and can put it into the Mozilla Open Badges Backpack, or into my school’s backpack, or my backpack on my phone.

Our first pass at this feature was a prototype of a issuer api shim that stored your backpack of choice in the browser. It’s still viable, but we’re also thinking a lot about badge baking. A badge that includes metadata about what the badge represents inside the badge graphic, a “baked badge”, is a super portable badge. The current backpack concept requires that the earner “push” their badges into a backpack. By contrast, for years we’ve had an idea for a backpack that ‘pulls’ badges from an issuer; let’s pursue that. With a “pull backpack”, a lot of the burden of the Issuer API is taken from the Issuer. If they give a baked badge on their site, a “pull backpack” can suck it right up. Pinterest for badges!

I make a badge for Javascript programming public in my backpack. A week later, an employer finds my badge through a search for JS skills and I’m asked for an interview.

We’re working on a prototype of a badge directory which focuses on indexing BadgeClasses (the definition of an earnable badge, instead of the BadgeAssertion, which defines an earned badge). If we extend the directory to allow for indexing of BadgeAssertions, backpacks could report earned badges to directory services. The directory services could share feeds of their indexed objects, acting as supernodes in a network of badge indexers.

A researcher gathers anonymous data through the distributed network of backpacks about the amount of time it takes to learn skills equal to an undergraduate math degree via free online courses.

Also solved by a network of badge directories.

I want to learn how to research my genealogy, I find resources and badges online through a search in my backpack.

The Mozilla Discover prototype demonstrates how we can use a directory service that includes explicit machine readable learning pathways to make it easy for learners to create their own learning opportunities. Just like the idea of indexing BadgeAssertions in addition to BadgeClasses, we should create a specification for a BadgePathway and index it in the network of Badge Directories. That specification work will happen in the Badge Alliance Open Badge Standard Working Group.

A teacher can see the badges her students have earned over the summer, and associate them with common core standards she needs to teach this year.

By creating “pull backpacks” (backpacks that gather badges instead of waiting for issuers to push them to them) we’re opening the door for specialized backpacks that cater to specific users – like school age children that need additional checks on their internet usage from guardians and school officials. Allowing a school to host a backpack makes it easier to tie out of classroom achievements with in classroom learning.

A teacher can find content and badges for his classroom that maps to common core standards.

The Badge Alliance Endorsement Working Group is considering methods to allow third parties to add information to a badge, without needing the badge issuer to change their BadgeClass definition or a badge earner to change the issued BadgeAssertion. Badge directories will play a key role here too, indexing these kinds of endorsements and making them available to badge consumers.

A teacher can associate a badge they didn’t create with a common core standard; letting her colleagues know that it’s a great alternative to the canon curriculum.

While it’s great to create an endorsement for a broad audience, we shouldn’t lose site of instances where metadata could be added a badge and shared inside a private group for a specific purpose. Directory services need to scale big, but there are use cases that need small specialized private directories as well.

So, what’s this all mean?

Kind of like the parable of the boiling frog or less gruesomely, my parable of getting a full meal out of a bunch of small plate appetizers, we’re going to meet the goals of federation without a specific project named “federation”. Federation is dead, baked badges, backpacks that pull badges, badge directories, pathways discovery and endorsement are the new distributed federation.

Lot’s of input for this post came from John and Carla. Thanks! Feel free to comment on this post below, or get involved with a Badge Alliance Working Group to keep the conversation going!