Speaking names for tags

I would like to be able to customise the tag names for my projects. Example:

Instead of
‘XMP:MakerNote’
I would like the tag name
‘Unit type’

Is there a function planned that will allow me to do this?
Greetings, Hermann

Sorry about the extra notifications. I ran into some issues and had to roll back the database. Here are the missing posts.

Jeremy:
Hello Hermann, While the function isn’t currently on our roadmap, it’s an excellent suggestion. I’ll be sure to add it to my TODO list. Thank you for your feedback. Best regards, Jérémy Vizzini

Hermann:
Good news, Jérémy.
I am sure that this feature will greatly enhance the MetaImage application and will find a lot of approval in the community.
Best regards from Bavaria, Hermann

Dear Jeremy,

first of all, thank you for MetaImage – it is one of the most capable and well-designed metadata editors available on macOS, especially for professional and archival workflows.

Sorry, coming back again with my ‘special issue’:
I would like to propose a feature that would significantly enhance MetaImage’s usability for advanced users working with non-standard or repurposed metadata fields, such as digitized analog photography, scanning workflows, and long-term archives.

Feature Request: User-Defined Tag ID → UI Label Mapping

Problem

Currently, MetaImage displays metadata fields using fixed, localized UI labels derived from the underlying tag definitions (e.g. EXIF, IPTC, XMP). While this works well for standard digital photography, it becomes limiting in workflows where existing metadata tags are intentionally used with a different semantic meaning.

Example:

  • Internal tag: XMP:Make

  • Default UI label: “Device Manufacturer”

  • Intended semantic meaning in scanning workflow: “Scanner”

At the moment, there is no way to redefine or override the displayed UI label without changing the underlying metadata standard or introducing custom XMP namespaces, which is often undesirable for interoperability and longevity.

Proposed Solution

Introduce an optional, user-configurable translation / alias table that maps:

Metadata Tag ID → Custom UI Label

Key characteristics:

  • The underlying tag ID and stored metadata remain unchanged

  • Only the label shown in the MetaImage UI is overridden

  • Mapping is applied consistently across:

    • Inspector panels

    • Metadata lists

    • Templates / presets

    • Batch editing views

Possible Implementation (Conceptual)

  • A user-editable configuration file (e.g. JSON, plist, YAML) or preference panel

  • Example mapping:

    XMP:Make   → Scanner
    XMP:Model  → Scanner Model
    XMP:Creator → Photographer
    
  • Fallback to default localized label if no custom mapping exists

  • Optional scope control:

    • global

    • per-project

    • per-template

Benefits

  • Enables semantically correct metadata entry for:

    • film scanning and digitization

    • cultural heritage and archive projects

    • scientific and technical imaging

  • Avoids misuse of custom namespaces while preserving standard compatibility

  • Aligns well with professional metadata practices (similar to aliasing concepts in tools like ExifTool)

  • Adds a powerful abstraction layer without breaking existing workflows

Why This Matters

Many professional users intentionally reuse standard tags with domain-specific meaning. Allowing the UI to reflect that meaning greatly reduces cognitive load, prevents data entry errors, and makes MetaImage even more attractive as a long-term metadata management tool.

I believe this feature would be a strong differentiator for MetaImage in professional and archival environments.

Thank you very much for considering this request. I would be happy to provide concrete use cases, example configurations, or feedback during design and testing.

Kind regards,
Hermann Groeneveld

Technical Implementation Concept

1.1 Configuration

  • A user-editable JSON, plist, or YAML file stored in:

    • ~/Library/Application Support/MetaImage/CustomTagLabels.json
  • Example structure:

{
  "XMP:Make": "Scanner",
  "XMP:Model": "Scanner Model",
  "XMP:Creator": "Photographer"
}
  • Fallback: If a tag is not listed, MetaImage uses the default localized label

1.2 UI Mockup Concept

  • Preferences Panel: “Custom Tag Labels”

    • Table view:

      • Column 1: Metadata Tag ID

      • Column 2: Default UI Label (readonly)

      • Column 3: Custom UI Label (editable)

    • Buttons: Add, Remove, Reset to Default, Import/Export JSON

  • Metadata Inspector:

    • Uses the custom label if defined, otherwise falls back
  • Template Presets:

    • Show the custom label in template previews and batch editing

1.3 Scope Options

  • Global: Applied to all projects

  • Project-specific: Overrides global mapping

  • Template-specific: Only affects metadata templates


2. Edge Cases & Considerations

  • Conflict Resolution: If multiple mappings exist (e.g., global + project + template), the system should define priority: template > project > global

  • Localization: Custom label should be independent of system language; users may provide translations if desired

  • Undo/Redo: Changing custom labels should support undo/redo in Preferences

  • Performance: Mapping should not impact metadata read/write performance, even for batch operations with thousands of files

  • Export/Compatibility: Custom UI labels affect display only; exported metadata remains standard-compliant