The Future of Text : A 2020 Vision "Decentralizing Text in a Global Information Graph" Dec 9, 2019 Chris Gebhardt, the InfoCentral Project (chris@infocentral.org) Author Bio: Chris Gebhardt is an independent researcher with academic and professional background in distributed systems and databases. His project, InfoCentral, pursues a comprehensive overhaul of software and internet architecture. He believes that properly-designed communication technology can help societies become more civil, collaborative, and community-oriented. ---- It is impossible to predict the future of text and how we will interact with it, but we need to build the right structures for it to evolve unhindered. We already know some of its characteristics. It is social, contextual, collaborative, multi-layered, multi-versioned, and multi-media. Said otherwise, it is non-linear. It is self-describing, portable, fluid, and independent of infrastructure and external authority. Said otherwise, it is decentralized. Yet current mainstream technologies poorly support these characteristics. Partial solutions consistently look like inelegant hacks. We are overdue for an architectural revolution that comprehensively addresses the underlying weaknesses. How we connect text, and data in general, is the most foundational concern. The properties of references heavily influence the rest of an information architecture. To enable reliable versioning, annotation, and layering of information, references must be stable. To remove dependency on infrastructure and external authorities, reference identities must be intrinsic, not assigned. To allow for fluidity and portability of content, references must be independent of context and location. Cryptographic hashing is the only technique for producing references with these properties. To guarantee them, we must exclusively use hashes to address units of text and surrounding data artifacts. (With cryptographic signing for provenance.) Data naming schemes must be abandoned, because named data has the inverse of every desired property! While hash-only schemes present new challenges, solutions are now known. The time has come for a complete switch. Previous applications of cryptographic hashes to data models and network schemes have been relatively naive. The one-way property of hashes guarantees a directed, tree-like structure among connected nodes of data. In turn, most designs have been constrained to linear (single branch) or hierarchical (full tree) models. (Examples include distributed filesystems and version control tools like Git, blockchains, and countless derivatives.) Likewise, because hashes themselves are immutable references to specific data, parallel schemes have been devised for mutable references to data that may change over time. Yet there are zero technical advantages to mutable references like URIs. They are merely familiar to developers, while destroying the properties we desire. The alternative is to use only hashes but then discover, collect, and network knowledge of inbound references. Envision an append-only graph, where new data is discovered by its reference to existing data. Clients append to the graph, watch for others to do the same, and react accordingly. This history-preserving, non-hierarchical data model provides mutability without compromising reference stability. It also enables a feasible form of two-way links. Cryptographic signing and hash-based referencing provide durable publication, something we lost in the transition from analog to digital publishing on the web. Similar to analog prints, signed hash-identified information can be widely disseminated and is resistant to removal, in proportion to its popularity. It cannot change or disappear or lose its identity if a host fails or is hacked. It is archival by default, eliminating the need for irregular backup and mirroring solutions. Creation is decoupled from dissemination. There is no distinction between a local and network copy. There are no names or links to remap. A document's hash is the same wherever it exists. Its references to other documents are the same wherever they exist. This restores a capability we've never had in the digital age: reliable independent annotation. Unlike mutable URIs, hash references cannot break. And because the content is fixed, relative to the hash, no embedded anchors are needed. Third party annotators can use simple text or media coordinates, without worry that the referenced content could shift position later. Compare analog publications, where page and paragraph numbers can be cited reliably, relative to a publishing date. Annotations themselves are contained in hash-identified data nodes that hash-reference the original content. Using the previously described graph model, they can be discovered and aggregated amid networked systems. Propagation is driven by interest and author trust, individually and among communities. Without assigned identifiers like names or paths, no structural conflicts are possible. This enables another revolutionary capability: unlimited independent layering of information. Users will control how multi-sourced information is filtered and layered into local views. Text annotations are more than margin notes. They can attach stylistic, grammatical, or semantic markup, social metadata, and translations. They can support concept-mapping, robust discourse, and multi-media composition. Layering builds context helpful to the reader. It can provide explanations, qualifications, fact checks, cross-references, and surrounding narrative. It can highlight levels of agreement and importance throughout a text, aggregating thousands of readers' reaction annotations. With networked hash reference collection, every node of data is its own permanent nexus of interaction, encouraging further engagement by all parties. This contrasts to the controlled channels of the classic internet, which tend to be both ephemeral and either one-sided or shaped into algorithmic filter bubbles. Instead, continuous exposure to broad context inoculates against disinformation, deceptive advertisement, and harmful bias. We will need new software designs for managing heterogeneous layered information. User interfaces must become dynamic environments of composited functionality, custom rendered for current tasks and modalities. Plain text is elegant. Yet current software architecture encapsulates text with all kinds of technology management artifacts. There are countless containers, from apps and services to myriad file formats. This entanglement ruins interoperability, re-use, and fluidity! We must decouple text and data from supporting storage and network systems. We must liberate it from standalone apps that silo it for commercial leverage. Rather than seeking to control it, computing environments should instead bring software alongside the information at hand. Architecting the future of digital text must be a pursuit of permanence, not expedience. Clean-slate design is required, to prevent stale ideas from compromising the long-term foundations. Anything we bake in must be supported indefinitely. Modularity and extensibility are thus critical. The core standards must be as simple as possible, limited to universal aspects and designed to evolve. We should build bridges from existing internet systems, but the goal is refactoring, not continuous support of outdated protocols and data models. The World Wide Web has served us well but outgrown its architectural foundations. Let's build a Global Information Graph.