Metadata, Packaging, and Quality
Summary
This chapter covers the standards and practices for documenting and packaging MicroSims for reuse and discovery. You will learn Dublin Core metadata standards including title, creator, subject, and description fields, along with JSON Schema validation and YAML frontmatter formatting. The chapter details the MicroSim packaging structure with index.md, main.html, style.css, script.js, data.json, and metadata.json files. You will learn the 100-point quality rubric for evaluating MicroSims and techniques for validation, plus social media optimization with Open Graph tags.
Concepts Covered
This chapter covers the following 20 concepts from the learning graph:
- Dublin Core Metadata
- Metadata Standards
- Title Metadata
- Creator Metadata
- Subject Metadata
- Description Metadata
- JSON Schema
- YAML Frontmatter
- MicroSim Packaging
- index.md File
- main.html File
- style.css File
- script.js File
- data.json File
- metadata.json File
- Quality Score
- 100-Point Rubric
- MicroSim Validation
- Social Image Preview
- Open Graph Tags
Prerequisites
This chapter builds on concepts from:
Tying a Bow Around Your MicroSim
Creating the JavaScript program and the main.html file are the core of any MicroSim. But to be truly useful—to be shareable, discoverable, and maintainable—we need to wrap these files up in a pretty and consistent package and tie a bow around it.
Think of it this way: you've baked a delicious cake (your MicroSim). Now you need to put it in a proper box, add a label so people know what's inside, and make it presentable enough that others want to open it.
How can others tell you've used care in creating your MicroSim? How do they know it's worth their time? We present a consistent quality metric so that users know exactly what they're getting. These quality rules also serve as hints—a roadmap for what you can do to meet and exceed the expectations of your users.
The Professional Touch
The difference between amateur and professional work isn't just the code—it's the presentation. Well-documented, properly packaged MicroSims signal quality before users even run them.
Metadata Standards: Describing Your Work
Metadata is data about data—information that describes your MicroSim so others can find it, understand it, and decide whether to use it. Metadata standards provide consistent vocabulary and structure for this description.
Why Metadata Matters
| Without Metadata | With Metadata |
|---|---|
| "What is this?" | Clear title and description |
| "Who made this?" | Creator attribution |
| "Is this relevant?" | Subject classification |
| "When was this updated?" | Date information |
| "Can I reuse this?" | License and rights |
Dublin Core Metadata
Dublin Core is the most widely used metadata standard for describing digital resources. Originally developed for library cataloging, it provides 15 core elements that apply perfectly to educational MicroSims.
The Dublin Core Elements
| Element | Purpose | MicroSim Example |
|---|---|---|
| Title | Name of the resource | "Bouncing Ball Physics Simulator" |
| Creator | Author or organization | "Jane Smith", "Physics Department" |
| Subject | Topic or keywords | "Physics", "Kinematics", "Motion" |
| Description | Summary of content | "Interactive simulation of ball physics with adjustable gravity" |
| Publisher | Entity making it available | "Central High School" |
| Contributor | Secondary contributors | "John Doe (testing)", "AI Assistant (code review)" |
| Date | Creation or modification date | "2024-03-15" |
| Type | Nature of resource | "InteractiveResource", "Software" |
| Format | File format | "text/html", "application/javascript" |
| Identifier | Unique identifier | "microsim-bouncing-ball-v2" |
| Source | Related resource | "Based on Khan Academy physics module" |
| Language | Language of content | "en" (English) |
| Relation | Related resources | "Part of Physics Simulation Collection" |
| Coverage | Scope (spatial/temporal) | "Grade 9-12 Physics curriculum" |
| Rights | Copyright/license | "CC BY-SA 4.0" |
Core Four: Essential Metadata
For MicroSims, four elements are essential:
Title Metadata
Title metadata should be clear, descriptive, and unique:
1 | |
Title Best Practices:
- Be specific: "Ohm's Law Calculator" not "Electronics Sim"
- Include the subject area: "Pendulum Motion Visualizer"
- Avoid generic names: "My MicroSim" or "Test 1"
- Keep it concise: 5-10 words maximum
Creator Metadata
Creator metadata identifies who made the MicroSim:
1 2 3 4 5 | |
Creator Options:
| Format | Example | When to Use |
|---|---|---|
| Single string | "Jane Smith" |
Solo creator |
| Array of strings | ["Jane Smith", "John Doe"] |
Multiple creators |
| Array of objects | See above | When roles matter |
Subject Metadata
Subject metadata enables discovery through classification:
1 2 3 4 5 | |
Subject Guidelines:
- Use hierarchical terms (broad to specific)
- Include curriculum standards if applicable
- Add keywords users might search for
- Limit to 5-10 relevant terms
Description Metadata
Description metadata explains what the MicroSim does:
1 2 3 4 5 | |
Description Components:
- What it does (one sentence)
- Key features (interactive elements)
- Educational value (what users learn)
- Target audience (optional)
YAML Frontmatter
YAML frontmatter places metadata at the top of Markdown files, making it both human-readable and machine-parseable.
Frontmatter Syntax
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Frontmatter Rules
- Start and end with
---(three dashes) - Use consistent indentation (2 spaces)
- Quote strings with special characters
- Use
|for multi-line text - Arrays can use
[]or-bullets
Extended MicroSim Frontmatter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
JSON Schema for Validation
JSON Schema defines the structure and validation rules for metadata. It ensures your metadata is complete and correctly formatted.
What JSON Schema Provides
| Feature | Benefit |
|---|---|
| Structure definition | Documents required fields |
| Type checking | Ensures correct data types |
| Validation | Catches errors before publishing |
| Documentation | Self-describing format |
MicroSim Metadata Schema
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | |
Validating Metadata
1 2 3 4 5 6 7 8 9 10 | |
MicroSim Packaging
MicroSim packaging is the standard directory structure that makes MicroSims portable, maintainable, and consistent.
Standard Package Structure
1 2 3 4 5 6 7 8 9 | |
File Purposes
index.md File
The index.md file is the primary documentation entry point:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
main.html File
The main.html file is the standalone, runnable version:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
style.css File
The style.css file provides consistent styling:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
script.js File
The script.js file contains the p5.js sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
data.json File
The data.json file stores configuration or content data:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
metadata.json File
The metadata.json file provides machine-readable metadata:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
Quality Score and the 100-Point Rubric
The quality score provides an objective measure of MicroSim completeness and professionalism. The 100-point rubric breaks this into specific, measurable criteria.
Why Quality Scoring?
- Provides clear expectations
- Guides improvement efforts
- Enables comparison between MicroSims
- Signals professionalism to users
The 100-Point MicroSim Rubric
Documentation (25 points)
| Criterion | Points | Requirements |
|---|---|---|
| Title & Description | 5 | Clear, descriptive title; comprehensive description |
| Learning Objectives | 5 | Specific, measurable objectives aligned to Bloom's |
| Usage Instructions | 5 | Step-by-step guide for users |
| Embedding Guide | 5 | Iframe code and integration instructions |
| Credits & License | 5 | Creator attribution; clear license statement |
Metadata (20 points)
| Criterion | Points | Requirements |
|---|---|---|
| Dublin Core | 8 | All required fields (title, creator, subject, description) |
| Educational Metadata | 6 | Grade level, Bloom level, learning objectives |
| Technical Metadata | 6 | Framework, dimensions, dependencies |
Code Quality (25 points)
| Criterion | Points | Requirements |
|---|---|---|
| Structure | 5 | Follows standard layout (setup, draw, helpers) |
| Comments | 5 | Header comment, function documentation |
| Naming | 5 | Clear, consistent variable/function names |
| Accessibility | 5 | describe() function, keyboard support |
| Error Handling | 5 | Graceful handling of edge cases |
User Experience (20 points)
| Criterion | Points | Requirements |
|---|---|---|
| Responsiveness | 5 | Works at multiple widths (300-1200px) |
| Controls | 5 | Intuitive, well-labeled controls |
| Visual Design | 5 | Consistent colors, clean layout |
| Performance | 5 | Smooth animation, no lag |
Packaging (10 points)
| Criterion | Points | Requirements |
|---|---|---|
| File Structure | 4 | All required files present |
| Preview Image | 3 | 1200x630px social preview |
| Validation | 3 | Passes JSON Schema validation |
Scoring Interpretation
| Score | Rating | Meaning |
|---|---|---|
| 90-100 | Excellent | Publication-ready, exemplary work |
| 80-89 | Good | Minor improvements needed |
| 70-79 | Acceptable | Functional but needs polish |
| 60-69 | Needs Work | Missing important elements |
| Below 60 | Incomplete | Significant gaps to address |
Diagram: Quality Rubric Scorecard
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | |
MicroSim Validation
MicroSim validation ensures your package meets all requirements before publishing.
Validation Checklist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
Automated Validation Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
Social Media Optimization
Making your MicroSim shareable on social media requires proper image previews and metadata.
Social Image Preview
The social image preview appears when your MicroSim is shared on Twitter, Facebook, LinkedIn, or other platforms.
Image Requirements
| Platform | Size | Aspect Ratio |
|---|---|---|
| 1200×675px | 16:9 | |
| 1200×630px | 1.91:1 | |
| 1200×627px | 1.91:1 | |
| Universal | 1200×630px | 1.91:1 |
Creating Preview Images
- Screenshot approach: Capture the MicroSim at an interesting state
- Designed graphic: Create branded image with title overlay
- Automated: Generate from canvas using
canvas.toDataURL()
1 2 3 4 5 6 7 8 9 | |
Preview Image Best Practices
- Show the MicroSim in action (not static state)
- Include the title as text overlay
- Use high contrast for visibility at small sizes
- Avoid text smaller than 24px
- Test at thumbnail size (200×105px)
Open Graph Tags
Open Graph tags tell social platforms how to display your content.
Essential Open Graph Tags
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Testing Open Graph Tags
Use these tools to verify your tags work correctly:
- Facebook Sharing Debugger: developers.facebook.com/tools/debug
- Twitter Card Validator: cards-dev.twitter.com/validator
- LinkedIn Post Inspector: linkedin.com/post-inspector
Complete Packaging Example
Here's a complete, properly packaged MicroSim:
Directory Structure
1 2 3 4 5 6 7 8 | |
Full index.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
Key Takeaways
You've learned to package MicroSims professionally:
-
Metadata standards provide vocabulary for describing educational resources.
-
Dublin Core offers 15 elements; focus on title, creator, subject, and description.
-
YAML frontmatter places metadata at the top of Markdown files.
-
JSON Schema validates metadata structure and completeness.
-
MicroSim packaging uses a standard directory structure with six core files.
-
index.md provides human-readable documentation with embedded frontmatter.
-
main.html is the standalone, runnable version with Open Graph tags.
-
metadata.json provides machine-readable metadata for automation.
-
The 100-point rubric evaluates Documentation, Metadata, Code, UX, and Packaging.
-
Quality scores range from Incomplete (<60) to Excellent (90-100).
-
Validation ensures all requirements are met before publishing.
-
Social preview images should be 1200×630px for universal compatibility.
-
Open Graph tags control how MicroSims appear when shared on social media.
-
Proper packaging signals professionalism and builds user trust.
Challenge: Package and Score
Take a MicroSim you've created and package it according to the standards in this chapter. Create all required files, add complete metadata, and generate a preview image. Then use the 100-point rubric to score your work. What areas need improvement?
Next Steps
You now know how to wrap your MicroSims in professional packaging that signals quality and enables discovery. Your work can be found, understood, and reused by others. In the next chapter, we'll explore accessibility and internationalization, ensuring your MicroSims work for all learners regardless of ability or language.
Remember: the bow on the package matters. Users judge quality by presentation before they ever run your code. Make that first impression count.
References
- Dublin Core Metadata Initiative - Official Dublin Core documentation
- JSON Schema - Schema specification and validators
- Open Graph Protocol - Open Graph tag reference
- Twitter Cards - Twitter sharing documentation
- Creative Commons - License options for educational content