Update to the MIX content system: Mixins

Jonathan Brown
MIX Blockchain

--

I blogged previously about how the MIX content system will work.

Since then I have made some further improvements. The main innovation is the introduction of what are called mixins. This is a concept from object-oriented programming. You may also be familiar with mixins from SASS.

The basic idea is that every piece of MIX content can have multiple parts and each part is encoded with a specific mixin.

For example, a video might be composed of the following mixins:

  1. Video
  2. Title
  3. Description
  4. Tags
  5. Geolocation
  6. Licence
  7. Recording date
  8. Language
  9. Item derived from

The first mixin is considered to be the “content type”, that is why Video is first.

The advantage of having all of these parts of the content being independent mixins is that software that is not familiar with the content type can still get a lot of useful information from the content. It also creates a freedom to mix and match different mixins in a way that would not be possible with more rigid content types.

The mixins have a hierarchy in the same way that the content types had in the previous design. This means that if a piece of software does not know how to handle a new version of a mixin, it can potentially go up the tree as far as necessary to find a mixin that it does know how to process.

To implement mixins the following changes were made:

  1. The base schema for all MIX content has been updated.
  2. The Content Registry smart contract has been replaced with a Mixin Registry smart contract.

--

--