Common Ground 2000
Application Independent Information

see: Screen Shots

A format designed as a transport of data between all software products. The objective is to represent all digital data in a single format that is accessible to humans and Adams

This format was created in 1995 for a mapping conference. After working 25 years translating propriety mapping systems, databases, plot files, and tape formats, I decided to design a single format that would handle the same job, CG2 is the result.

The result is that CG2 can duplicate all digital files. My original intent was to create a transport media that could be read by humans and Adam and EASY to program, as it turns out the format could replace all digital data structures, this would mean that we would have no more propriety data structures (.doc, .mdb, .gif, oracle, sybase, ...) which is: application independent information.

The health care system could use CG2 to standardize patient information. CG2 had no inherent limits, a single cg2 file could contain the contents of your complete company's network, millions of files, thousands of formats, and terabytes of data, and be accessed just as fast (index it). My recommendation is to use CG2 as the format for the application's data stored on disk. In doing so the information would be application independent. An application would be able to read and write a cg2 file independent of any other application.

It took 6 months to design, a tagged comma separated values (CSV) format. I added 6 enhancements to a standard CSV file:

  1. Tagged records
  2. Field names and format
  3. Hierarchical data model
  4. Arrays
  5. Structure (1 level)
  6. multiple tables in 1 file


Elements of CG2 used in existing systems:
  TAGS used in files that need them
  NAME / FORMAT used in a few well defined files (i.e. databases)
  HIERARCHY used is disk structures, never in data files or databases
  ARRAY seldom used (i.e. IFF, Oracle and CableCad, very rare)

Existing file formats (i.e. XML) generally have none of the elements of CG2, however any file read all of these elements must be determined. Most of the information about a file is stored in "code" and never seen. Files used for transport or ones that are popular may have a published specification which always seem to have 1400 pages, (PDF, SDTS, TIGER, DOC, ...)  not much help, generally takes 6 to 8 months of work to move into code.

Some Examples of the more complex file structures:

  • .PDF 1 file, multiple structures (objects)

  • .DWG, 1 file, multiple sections and structures

  • HTML, 1 file

  • .ACCDB 1 file, multiple sections and structures

  • Arc/Info multiple files, sections and structures

  • Image A True ASCII representation of a PNG bitmap image example

  • Video ASCII video format

The word "propriety" got me started 35 years ago to stop information hijacking. "The Information I create I should own".

Cg2 Format Specification

Sample File