One of my “projects” was to be able to store all my data and be able to add information to it. I gave it some crazy name, and let it sit and pickle away in my mind until it matured.

In comes .meta-json. With every file that would be stored (such as file_name.ext) , there would exist a separate file stored alongside that original file that would have the additional extension of .meta-json.

.meta-json is meant to be a common, easily indexable and searchable format that gives files a raison d’être. the format is rooted in json with specifics that helps to define the metadata of the file.

The proposed format comes down to:

   'author': 'unknown',
   'type': 'image',
   'title': '',
   'description': {
      'en': 'something'
   'date': '',
   'source': '',
   'location': '',
   'people': [''],
   'checksum' {
      'sha256': 'xxxx'
   'mimetype': '',
   'creation-date': '',
   'filesize': ''

This format pretty much breaks down to key/value pairs. Every key can either have a string or an array/object as a value, depending on the name of the key.

Key Value Types Description
author string|array A list of people who participated in creating this file
type string A generic name for what the file is (image, video, archive, document, etc)
title string|object A visible summary of what this items is.
As an object, the key:value is localization:summary
description string|object A full description of the item. This can be akin to “a picture is worth 1000 words”, but for any kind of media.
date string A parseable date/time identifying when the item “happens”, not typically the same as the creation or modification dates, but it very well could match.
source string How this item was acquired. Typically images are either via Camera or Scanner, Audio would be via Radio, Microphone, Telephone, etc. Documents could be OCR.
location string|object A parseable location where the item “exists”. As a string it could be a general location such as “around the corner from Joes Diner” or an intersection. If placed as an object, this identifies specificity as it could be “gps”: “”, “address”: “”, etc
people array Whom is depicted. Comes down to names or Identifiers of whom is presented in the items is called, such as “person 1”, “person 2”, or “Mick Jagger”.

Additional fields can be defined and exist, but a majority of the data should be present in the metadata for each file to complete it.

This is the initial spec of the .meta-json format.

Leave a Reply