> Markdown version of [/videos/968-json-and-beyond](https://www.wearedevelopers.com/videos/968-json-and-beyond). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # JSON and Beyond Douglas Crockford asserts that JSON is incomplete for modern distributed systems. Discover why the creator of JSON is explicitly dropping 'null' in his new binary format, Nota. - **Speakers:** [Douglas Crockford](https://www.wearedevelopers.com/@douglas-crockford) - **Event:** World Congress 2024 - **Published:** August 20, 2024 - **Duration:** 18:40 - **URL:** https://www.wearedevelopers.com/videos/968-json-and-beyond ## Summary Douglas Crockford, creator of JSON, reflects on the format's origins in 2001 as a textual, minimal subset of JavaScript designed for early single-page web applications. Against the prevailing XML hype—proving his adage that "the good thing about reinventing the wheel is that you can get a round one"—JSON thrived precisely due to its strict simplicity. Crockford emphasizes that JSON's greatest feature is its immutable stability; lacking a version number, it serves as a bedrock layer in an otherwise chaotic tech stack. He warns standard designers against superficial modifications, noting that minor tweaks only introduce a frustrating "incompatibility tax." While JSON remains the gold standard for text-based data interchange, Crockford introduces his new actor-based distributed messaging system, Misty, which requires binary encoding and BLOB support. To solve this, he developed Kim, a highly compact variable-byte encoding alternative to UTF-8 that uses only one bit per byte to track continuations. Designed strictly on his core principle to "keep it minimal," Kim strips away legacy overhead to drastically optimize network messaging efficiency. Building on Kim, Crockford unveils Nota: a binary, JSON-like message format built for low-level system transport rather than human readability. Nota intentionally corrects perceived legacy missteps in JSON—for instance, replacing "objects" with the more accurate "records" to avoid confusing early developers, and entirely dropping null, which Crockford now views as an unnecessary complication. By keeping floating-point numbers entirely in integer space and explicitly supporting private process addresses, Nota achieves loose coupling and high performance without attempting to unseat JSON's dominance in public-facing APIs. **Keywords:** json creation history, xml vs json, data interchange formats, variable byte encoding, nota binary format, misty distributed system, actor-based messaging, kim text encoding, utf-8 alternatives, blob data transmission, software standard stability, incompatibility tax, json null mistake, floating-point integer scaling ## Chapters 1. **Origins and design rules of the JSON format** (00:12) — JSON emerged as a minimalistic, text-based data interchange format to seamlessly connect Java servers with JavaScript clients. 1. **The decline of XML and the stability of JSON** (01:53) — Google Trends data highlights the continuous and steady adoption of JSON against the rapid functional decline of XML. 1. **Practical advice for designing future data formats** (03:55) — Future data standards should offer significant architectural improvements and maintain absolute stability to avoid creating an incompatibility tax. 1. **Designing the Misty actor-based distributed messaging system** (06:03) — The Misty project utilizes an actor-based architecture with a custom networking layer for securely executing distributed processes. 1. **Optimizing character encoding with Kim variable byte encoding** (06:55) — The Kim variable byte encoding provides a simpler, more memory-compact alternative to UTF-8 for specialized data applications. 1. **Structuring Nota as a binary data message format** (10:13) — Nota uses a JSON-like binary structure to strictly encode large binary objects and private process addresses efficiently. 1. **Encoding floating point numbers and symbols in Nota** (13:33) — Floating point values leverage scientific notation without decimal points to streamline numeric processing purely within integer space. 1. **Integrating Nota as a low-level message format in Misty** (16:21) — Nota functions as a specialized binary format for low-level network process messages while preserving JSON for external interoperability. ## Related Moments - [Exploring JSON, CBOR, and JOSE for data serialization](https://www.wearedevelopers.com/videos/151-an-introduction-to-operate-sv) (from "An introduction to Operate SV") - [Technical limitations of JSON for streaming data](https://www.wearedevelopers.com/videos/1729-wearedevelopers-live-real-time-phone-agents-unsafe-vpns-more) (from "WeAreDevelopers LIVE – Real-Time Phone Agents, Unsafe VPNs & More") - [Dealing with mixed payloads and structural patterns](https://www.wearedevelopers.com/videos/490-search-and-aggregations-made-easy-with-opensearch-and-nodejs) (from "Search and aggregations made easy with OpenSearch and NodeJS") - [Adopting JSON Structure as a strict data definition language](https://www.wearedevelopers.com/videos/1616-bringing-clarity-to-event-streams-enabling-analytics-and-ai-through-rich-metadata) (from "Bringing Clarity to Event Streams: Enabling Analytics and AI Through Rich Metadata") - [Leveraging the JSON API standard for data structure](https://www.wearedevelopers.com/videos/33-api-design-getting-started) (from "API Design - Getting Started") - [Creating a standardized JSON schema for framework-agnostic discoverability](https://www.wearedevelopers.com/videos/1012-micro-frontends-discovery) (from "Micro-Frontends Discovery") ## Related Articles - [Douglas Crockford - JSON and Beyond](https://www.wearedevelopers.com/magazine/481-douglas-crockford-json-and-beyond) - [Dev Digest 136 - No JS(on) of mine](https://www.wearedevelopers.com/magazine/482-dev-digest-136-no-js-on-of-mine) - [The Overflow: 5 Tools for Developers Working with JSON](https://www.wearedevelopers.com/magazine/706-the-overflow-5-tools-for-developers-working-with-json) - [Tips and Tricks: Working with JSON](https://www.wearedevelopers.com/magazine/493-tips-and-tricks-working-with-json) ## Related Jobs - [Golang Software Engineer](https://www.wearedevelopers.com/jobs/ext/1652471-golang-software-engineer) at **Redis** - [Senior Data Engineer](https://www.wearedevelopers.com/jobs/ext/1589390-senior-data-engineer) at **Douglas GmbH** - [Software Engineer](https://www.wearedevelopers.com/jobs/ext/1304791-software-engineer) at **Bitpanda** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub** - [Cloud Foundations Team](https://www.wearedevelopers.com/jobs/ext/1483289-cloud-foundations-team) at **GitHub** - [Senior Backend Engineer, Blockchain (Smart Contracts)](https://www.wearedevelopers.com/jobs/ext/1940851-senior-backend-engineer-blockchain-smart-contracts) at **Bitpanda**