Skip to content
Marcus Ottosson edited this page Jul 28, 2014 · 23 revisions

A birds-eye view of Pipi and its capabilities, along with the target audience.

Prior to setting out to develop a minimalist, re-mixable and extendible framework for content creation, a number of constraints was set out. We wanted Pipi to reach as broad of an audience as possible and to facilitate the heterogeneous needs involved within each production; whether it be pre-visualisation, game level design or feature film work.

Upon the above requirements, an architecture was formed.

Uniformity

Each resource is uniform in behaviour and appearance; including what may be referred to as assets, shots, sequences, levels, users, tasks et. al. This allows tools to operate on anything and everything without requireing special attention or maintenance

Schemaless

Resources are natively schemaless. As opposed to other solutions that lock you into a schema prior to initiating any new project, a schemaless approach means that you are free to start out a minimalist and only build out when and where you actually need to.

De-centralisation

De-centralisation means to be without dependence on centralisation. Each application operates in isolation under a commonly understood language (messaging, more on that later) and may, but doesn’t have to, interoperate with other applications. This is a service-oriented architecture.

Consolidation

Metadata is stored together with its content. Traditionally, metadata is seggragated into a database where it is later manipulated and managed. When separated you face issues of where the true source of things are located; is this file the latest version, even though the database has recorded another version? Where is it? You also face issues of synchronisation; I’m storing this file here, now I’ll tell the database that this is what I did.

Codebase

Clone this wiki locally