If I were setting up an online store

There would be no cart. Clicking a “buy” button would queue the item for purchase, prompting for billing/shipping info if needed, only once.

Shipping would be free, and would be 2-day shipping. Shipping is a cost of business, just like paying rent for a storefront.

That’s it. Shopping should be simple.

Multi-Version Media format

Make living music albums. Make movies that don’t always end the same way.

The multi-version media format is a simple, cross-platform package file format that allows developers to write audio/video applications in which the media being played (eg a song or movie) can be a different version with each play. See the Amber G. App (iOS only) for the first such player (for which I developed the format 🙂 ).

Each media file (e.g. an MP3, M4A, MP4 or MOV file) is replaced by a specially-formatted directory containing multiple versions of the same piece of media (eg multiple live versions of a song, versions of a movie with alternate endings or extended scenes).

Format

  • <media name>.mvm
    • media_list.json
    • <file version>.<extension>
    • <file version>.<extension>
    • <file version>.<extension>
    • ...

Example for the song “Alive” by Amber Griis:

  • Alive.mvm
    • media_list.json
    • Alive.mp3
    • Alive live drums.m4a
    • Alive crazy rock drummer.mp3

media_list.json

This file contains a specially-formatted JSON object that describes the contents of the directory.

[ 
    { "Name" : "Alive", "File Type": "mp3" },
    { "Name" : "Alive live drums", "File Type" : "m4a" },
    { "Name" : "Alive crazy rock drummer", "File Type" : "mp3" } 
]

Playlist.json

This file sits at the root level of the directory in which your .mvm folders sit and simply contains a list (an array), in the order in which they should appear in a playlist, of the names of the folders in your player.

Example:

[ "Alive", "Fly", "Be In Love" ]

Note that this means your folder names must match what you want displayed. This is intentional to provide simplicity by convention.