ScreenJSON is there to solve specific computer-related problems related to storing and analyzing semantic screenplay documents, and to provide post-draft functionality not available with current authoring platforms. The data embedded in the presentation is abstracted from mark-up to objects, attributes, properties, and variable types.
There are multiple screenplay formats. Most are focused on formatting the content in their UI, and and none of them are semantically-structured or suitable for the modern web. At a glance:
- Final Draft: Proprietary XML (no semantic data)
- Adobe Story: Proprietary XML (little semantic data)
- Celtx: RDF/XML (little semantic data)
- Open Screenplay Format: Proprietary XML (no semantic data)
- Fountain: Markdown (no semantic data)
ScreenJSON is not concerned with presentation of the data, and leaves this to the host application. Implementing applications are free to manipulate, display, and the UI-specifics themselves.
The aims and objectives of defining the standard are to provide:
- A universal and database-friendly data model and object model for screenplays;
- A universal data interchange format between platforms and programs;
- Support for multi-lingual authoring;
- Methodological tagging for pre-production activities (e.g. breakdowns);
- Support for encryption and element-level access control policies;
- Support for Git-style versioning and licensing data;
- Easier access for structured batch linguistic analysis;
- Support for production/distribution technologies (e.g. 3D, etc).