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).