Incomplete List of Desired Hypertext System Capabilities

  • Change tracking on the character level, which leads to full undo/redo/playback, historical diff instead of heuristical guessing, amazing branching and merging of variants and servers that only accept modifications to a text as a series of change operations, that might be submitted in full, cleaned up or only the effective, optimized changes.
  • EDL-based text format convention. No need to decide on a particular format in advance as all formats can be easily combined ad-hoc. Text doesn’t end up burried in a particular format that doesn’t support features needed at some later point or can’t be extended except by violating the spec. It also allows overlapping, non-hierarchical structure. Similar to EDLs, xFiles, ZigZag, NOSQL.
  • Abstracting retrieval mechanism powered by connectors. Doesn’t matter if a resource is local or remote, by which technique it needs to be retrieved, great for linking and could get rid of 404s entirely.
  • Reading aids. Track what has been read and organize the consumption for both the incoming suggestions as well as the sharable progress. It’ll also prevent the user from reading the same text twice, help to split reading duties among members of a group, to categorize and indicate updates.
  • Technical bootstrapping on the information encoding level. Instead of heuristical file type guessing, metadata explicitly declares the encoding and format, so if a corresponding application/tool is registered for the type, it can be invoked automatically, as well as automatic conversions between encountered source format and required target format.
  • ViewSpecs. Markup specifies a general meaning/semantic/type, so ViewSpecs to be applied onto it. The user is in control of the ViewSpecs that can be adjusted, shared or come with a package pre-defined. Same goes for EditSpecs.
  • Distributed federation of material. Fork content by others, change it for yourself or publish your branch for others to fork it further or merge. This doesn’t require the original source to cooperate with any of it, but it’s certainly an invitation to do so. Intended to work on every level of granularity, from large raw data blobs to the smallest bits of insertion, deletion or annotation, up to every property of configuration or metadata declaration, each of which might contribute to the composition of a rendering/view.
  • More to come…

Those capabilities work together and thus form a hypertext environment. It almost certainly requires a capability infrastructure/architecture that standardizes the particular functions and formats, so (different) implementations can be registered to be invoked manually or data-driven. It might be slow, it might be ugly, but I’m convinced that it’ll open entirely new ways for the knowledge worker to interact with text, realizing the full potential of what text on the computer can do and be.

This text was written with the C++/Qt4 implementation of the change tracking text editor in order to test if the result file is similarly incorrect as the one produced by the Java implementation. The file appeared to be calculated correctly, but corrupted I/O-wise.

This text is licensed under the GNU Affero General Public License 3 + any later version and/or under the Creative Commons Attribution-ShareAlike 4.0 International.

skreutzer

Autor: skreutzer

http://www.skreutzer.de/about.html

2 Gedanken zu „Incomplete List of Desired Hypertext System Capabilities“

  1. Das erinnert mich an Google / Apache Wave aus dem Jahr 2009. Dort konnte man sich die Entstehung eines Textes wie einen Film anzeigen lassen. Mit einer Zeitleiste konnte man vor- und zurückspulen. 2018-01-15 ist das Projekt wohl entgültig gestorben.

    1. Ja, genau so, und zwar auf Buchstaben-Ebene. Mag sein, dass Google/Apache Wave tot ist, ich brauche diese Funktion aber trotzdem für mich selbst und für jene, mit denen ich an Projekten arbeiten will, da kann es ruhig 2018 oder 2020 oder sonst irgend ein Jahr sein, so ein Tool sollte als Basisfunktionalität immer bereitstehen und nicht von einem einzelnen großen Anbieter abhängig sein. Deshalb bin ich auch weiterhin mit großen Schwierigkeiten dabei, einen solchen Texteditor zu programmieren. Letztendlich kann es ja auch nicht sein, dass es mir nicht gelingen sollte, mit den bestehenden GUI-Bibliotheken eine solche Funktionalität doch noch hinzubekommen.

      Es geht dann übrigens auch nicht nur um das Vor- und Zurückspulen der Textentstehungs-Historie, ich möchte am Ende auch hübsche Abzweigungen in eine Vielzahl von Varianten sehen, die manchmal auch wieder zusammenlaufen und in anderen Fällen auch nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.