As I’ve said:
I do think a “badges group” Lexicon is a nice idea, but I don’t want to expand the scope of this. What I have is a more concrete, current need and a “bug-fix” (see proposal at the end).
The needs are:
- Allow people to assign an
idso they can find/sort them by that (an internal identifier) and not what’s they want to be written on the badge (a cosmetic element) - Creating a human readable slug that makes development, classification, and portability easier
The problem today
Two practical examples hopefully clarify what I mean:
Issue #1: links
Without id:
badge-viewer.org/badges/grand-goose-ambassadorbadge-viewer.org/badges/serial-honk-nector
(??? what are these???)
With id:
badge-viewer.org/badges/atconf2026-connections-rank-Abadge-viewer.org/badges/atconf2026-connections-rank-Bbadge-viewer.org/badges/atconf2027-another-badge-1badge-viewer.org/badges/atconf2027-another-badge-2
(I know at a glance what they refer to, I know what I’m clicking on!)
Issue #2: Badge display widget
Without id
[grand-goose-ambassador] [in-the-way-badge-1] [in-the-way-badge-2] [in-the-way-badge-3] [serial-honk-nector]
(badges end up scattered, which I can tell you with surety badge-lovers will hate with a passion)
With id:
[atconf2026-connections-rank-A] [atconf2026-connections-rank-B] [in-the-way-badge-1] [in-the-way-badge-2] [in-the-way-badge-4]
(related badges are together, all is right with the world, i will display this on my site)
Changing badges
For this particular point:
I am more likely to want to change the title and description than to want to change an identifier.
…and I realize now I may have invalidated some conference badges because I did change one name. Oops.
Proposal: appearance Lexicon
If I did break our conference badges renaming one, this is going to keep happening to others, and it’d be nice to address it now.
Likely, there needs to be a clearer separation of:
- Badge identifiers (certified, unchangeable)
- Badge cosmetic elements (potentially changeable)
Right now, name is being conflated as both identifier and display title, which causes the issue above.
Proposal: two separate lexicons community.lexicon.badge.definition (standardized internal definition), community.lexicon.badge.appearance (standardized external display). The first one is what get signed into a PDS.
{
name: atconf2026-connections-rank-A,
appearance: {
uri: at://[conf-did]/community.lexicon.badge.appearance/whatever
cid: (optional)
},
"$type": "community.lexicon.badge.definition",
"createdAt": "2026-03-30T09:19:25.897Z",
"description": "[General description that communicates intent, not meant to be creative]"
}
{
"$type": "community.lexicon.badge.appearance",
"title": "Grand Goose Ambassador"
"description": "Made at least 100 connections at ATmosphereConf2026"
}
If you add a CID the badge cannot have its appearance changed, but a badge without a CID can be changed.
The reason I want this is:
- merging definition and cosmetic elements in one makes badges brittle, but…
- …without cosmetic elements (title/description) being standardized and portable, badges are useless for most cases I care about