By mid-90s, software companies started to think about ways to make sure millions of would be internet-connected devices talk to each other. XML, a generalized version of highly popular HTML, was one possible option. In fact, for many years it was the only option. XML standards were designed in mid-90s by a committee of eleven well-respected programmers and had widespread backing from companies.
XML was compiled by a working group of eleven members, supported by a (roughly) 150-member Interest Group. Technical debate took place on the Interest Group mailing list and issues were resolved by consensus or, when that failed, majority vote of the Working Group. A record of design decisions and their rationales was compiled by Michael Sperberg-McQueen on December 4, 1997. James Clark served as Technical Lead of the Working Group, notably contributing the empty-element “” syntax and the name “XML”. Other names that had been put forward for consideration included “MAGMA” (Minimal Architecture for Generalized Markup Applications), “SLIM” (Structured Language for Internet Markup) and “MGML” (Minimal Generalized Markup Language). The co-editors of the specification were originally Tim Bray and Michael Sperberg-McQueen. Halfway through the project Bray accepted a consulting engagement with Netscape, provoking vociferous protests from Microsoft. Bray was temporarily asked to resign the editorship. This led to intense dispute in the Working Group, eventually solved by the appointment of Microsoft’s Jean Paoli as a third co-editor.
Pit against this large army of people and companies was one man, Douglas Crockford. Crockford ran a small company and JSON, his idea for communication method was several years behind what the XML group developed.
Douglas Crockford was the first to specify and popularize the JSON format. The acronym was coined at State Software, a company co-founded by Crockford, Chip Morningstar and Robert F. Napiltonia in April 2001 and funded by Tesla Ventures. The co-founders agreed to build a system that used standard browser capabilities and provided an abstraction layer for Web developers to create stateful Web applications that had a persistent duplex connection to a Web server by holding two HTTP connections open and recycling them before standard browser time-outs if no further data were exchanged. The idea for the State Application Framework was developed by Morningstar at State Software. JSON was used in a project at Communities.com for Cartoon Network, which used a plug-in with a proprietary messaging format to manipulate DHTML elements (this system is also owned by 3DO).
Who won this asymmetric war? We will cover that tomorrow :)