Simple distributed media library

Registered by Jason Gerard DeRose

This blueprint has been superseded. See the newer blueprint "Distributed Media Library" for updated plans.

Currently the various photo-managers and music-managers have differing (and
sometimes conflicting) standards for how they layout files on the filesystem,
how they store metadata. Also, there currently isn't anything available for
video-management (AFAIK), but it makes sense to combine photo and video
management in the same workflow as they primarily come from the same device
(digital cameras).

This blueprint proposes a common standard for how media files and their metadata
are stored. It aims to be cross-application and cross-platform. Some goals are to:

* Get media files and their metadata out of application specific silos to facilitate
easier social integration, publishing, and use by multiple applications

* Build for robust synchronization, both directly to computers on the local
network and via cloud services

* Lay foundations for distributed content creation work-flows, making the free
desktop a killer platform for artists

Initial focus is on user-generated media (photos and videos in particular), but
there's no reason this same library can't be used for downloaded media as well
(from music stores, podcasts, etc).

The proposed design will:

1) Name the media files by their content-hash and store them in a special
dot-directory, say something like:

    ~/.media/ffa9615a6e17868b18f82040d4c52942717705a3.jpg

2) Store their metadata in desktopcouch, using the content-hash for the document
"_id", say something like:

    {
        "_id": "ffa9615a6e17868b18f82040d4c52942717705a3.jpg",
        "tags": ["clouds", "sky", "colorado"],
        "mime": "image/jpeg",
        "size": 1313172,
        "width": 2784,
        "height": 1856,
    }

Blueprint information

Status:
Complete
Approver:
Rick Spencer
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Jason Gerard DeRose
Definition:
Superseded
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Jason Gerard DeRose
Completed by
Jason Gerard DeRose

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.