The documentation system tenet of authoring delight states that the documentation system should empower authors with modern and intelligent document editing and processing capabilities. This tenet supports the principles of shared responsibility and low cognitive load by reducingâor preferably, eliminatingâany friction which may hinder collaboration.
This tenet sets apart DocOps from all of the other âXOpsâ practices which are primarily centered on headless automation. In DocOps, user experience is paramount. To encourage users to become active co-creators, âit should be made easy for them to comment on, evaluate, and redirect the information they have received.â (Choo, 2002).
While most other tenets in this text focus on the general user experience, this tenet pays particular attention to the user experience in the context of authoring content.
No amount of automation, search capabilities nor advanced language models can do anything about the lack of primeval source content. The principles of generative content and truth proximity are vacuous if there are no ultimate properties nor truth upon which we can construct our edifice of documentation.Â
Even minimal friction points in the workflow of authoring content may result in negative cumulative, exponentially detrimental effects. Reducing the gap between âoh, this is a quick simple editâ and âthis appears to be a bit of a hassleâ, even if measured in half clicks or milliseconds, is of the essence. An enterprise in which its workforce fails to maintain documentation because of self-inflicted technology or process barriers is lamentable.
Given that content is created in a wide variety of applications, we cannot be particularly specific about the features or gaps applicable to the enterpriseâs main documentation platform. The tenet of authoring delight applies all applications, media types, and file formats relevant in a documentation system.
The following is a non-exhaustive list of the most basic âfeaturesâ that characterize a productiveâand thus, hopefully delightfulâauthoring experience.
Letâs now look at each feature in detail.
In-place editing refers to the capability of editing the content in the same visual context in which it is displayed. If this is not possible, then we should aim to reduce the number of steps and visual shifts involved in the transition from âviewing modeâ into âediting modeâ as much as possible.
You may see in-place editing with suspicion, but Berners-Lee (1999) actually conceived web browsers as a collaboration tool, and lamented the fact that third party web browser developers were rushing to public their products without such editing support in the nineties:
âAlthough browsers were starting to spread, no one working on them tried to include writing and editing functions. There seemed to be a perception that creating a browser had a strong potential for payback ⌠As soon as developers got their client working as a browser and released it to the world, very few bothered to continue to develop it as an editor. Without a hypertext editor, people would not have the tools to really use the Web as an intimate collaborative medium.âÂ
Our goals are to promote collaboration by closing the gap between viewing content and editing and increasing truth proximity by bringing the contentâs authoring workflow as close as possible to the context in which it appears.
In-place editing is the âidealized experienceâ whose viability depends on how close the content is to the default documentation authoring context and how easy it is to integrate and automate the launching of relevant applications. As such, we could judge this feature through the lens of truth proximity, whereby the truth is the content being displayed.
The below table treats in-place editing seen through the lens of truth proximity, together with other proximate approaches.
Proximity | Description |
---|---|
0 | Seamless in-place editing: The reading and editing views are one and the same |
3 | Toggle-based reading/view modes: The reading view can be made editable by clicking on an icon or by the press of a key. |
5 | Integrated editor: The editor is launched directly from the reading view but it is separate from the reading view. The editor lives in a separate tab, floating window, adjacent pane, etc. |
7 | Authoring-tool launching: The editor is a different web or desktop application but it can be launched directly from the context in which the relevant content instance appears |
19 | Source URI and Clipboard: the view provides the underlying source contentâs URI and an icon to copy it to the clipboard so that it can be opened from the relevant editor. |
Is it key to note that a dogmatic pursuit for in-place editing can actually reduce truth proximity. On one hand, we want to bring the edit capability as close as possible to the content, but on the other hand, we want the content to be sourced from its ânatural habitatâ. For example, for a README.md file whose natural habitat is a GitHub repository, retyping it or copy and pasting it into a wiki page so that it can be edited in place using the main documentation platformâs built-in editor would result in decreasing truth proximity.
Overall content proximity takes precedence over editing proximity; content must never be copied, retyped, or reproduced so that it is closer to available editing interfaces. The objective is the converse; it is to bring and integrate new editing capabilities where they are absent.
Last one note; the term âeditorâ should not be assumed to refer to only a âtext editorâ. The content may be images, video, etc.
In the late eighties, the emergence of the first what you see is what you get (WYSIWYG) word processors, such as MacWrite on the Apple Macintosh, was all the rage. Before the advent of WYSIWYG technology, users had to exit the editing mode and enter a discrete preview screen. This was the way in which WordPerfect on MS-DOSâprovided that users had a capable graphics cardâworked. This is the antithesis of a real-time preview.
Similarly to in-place editing, this feature can be seen through the lens of truth proximity, as illustrated in the below table.
Proximity | Description |
---|---|
0 | Seamless in-place editing: The reading and editing views are one and the same. The concept of a âpreviewâ is immaterial; what you see is what you get (WYSIWYG). |
3 | The preview pane is adjacent to the editor pane and it is updated as soon as a change is produced on the editor. The preview pane follows any scrolling, page turning, or zoom actions performed on the editor. |
5 | The editor is launched in a new window or tab so the user has to reposition the editor and preview windows manually. Other than this, it also follows any scrolling, page turning, or zoom actions performed on the editor. |
7 | The preview pane is visible at all times but it must be updated on-demand by clicking on an icon or pressing a key. It does not follow the motion actions performed on the editor pane. |
19 | Generating a preview requires more than a single action; for example, accessing a menu item under âFileâ. |
Real-time preview with zero truth proximityâin other words, WYSIWYGâis not always possible nor preferable, depending on the type of content and its semantics. There are many content typesâsuch as mathematical equationsâthat are more convenient to manipulate in a symboling fashion, rather than in a final output one. It is also key to note that WYSIWYG shouldnât be used to treat computer screens as virtual paper, which is what ordinary word processors still do today. As pointed by Nelson:
âI think this pandering to the familiar, this emphasis on paper output, may have set progress back considerably. It represented a turning away from the real screen future to placate the lowest conceptual denominator of those who would see the system. This tendency persists today. There is an inane preoccupation with paper: the current stampede for âdesktop publishingâ, and the paper orientation of the Macintosh computer, where everything has a ânormal sizeââthe size of printout. The great masses of computer users are still wedded to the Virtual Piece of Paperâthe VPOP Paperdigmâbecause they have seen nothing better. I think we could have set a better precedent in 1969.â
This feature is the staple of mainstream paper-oriented word processors such as Microsoft Word and Google Docs. Users expect that their text editor will autocomplete phrases, catch spelling mistakes and alert them of invalid grammatical structures. Now that such large vendors are integrating LLMs in the backends, such capabilities will only improve even further, making users even more reliant on them.
Whether typing and grammar assistance is making users âdumbâ is a philosophical debate. The reality is that the average user is more productive, and produces better quality content when empowered with such capabilities. Whenever users switch to a more âprimitiveâ text editing environment, such as a Markdown editor, or even a simple text entry field to enter the description of a user story, and such capabilities are absent, they become handicapped.
Many users would rather author their content in a legacy word processor and copy and paste it onto the main online documentation system than risk making spelling mistakes and using questionable grammar. Worse, users may opt to author their content on a legacy word processor and call it a day. In either case, shared responsibility and truth proximity violations are clear.
In a mature enterprise documentation system, most documents are composite documents; they are made of content originating from other documents and sources. As such, a common and repeated task is looking up for various content types, and content subsets for inclusion. Such a process should take place within the relevant authoring workflow, without forcing the user to run a separate search.
This is a feature that is actually quite common in several commercial documentation platforms, at least when it comes to documents created within the same platform. The friction arises when referencing external content which forces the user to perform external searches and then paste a URL or content identifier. For example, if a document refers to code or code snippets from GitHub, then the process of searching and selecting such snippets should be part of the same embedding and blending process itself.
Concurrent editing is the ability for two more users to work on the same content unit in real-time, in such a way that all participants can see everyoneâs actions in real time.
The most advanced implementation of concurrent editing offer the following features:
By definition, nearly all content editors that support concurrent editing are Software as a Service (SaaS) solutionsâgiven that a central server is required to keep track of userâs actionsâand are therefore not compatible with the so-called Git workflow given that thereâs no file representation of the content under change.
When two or more users collaborate on the authoring of a document, it is useful to exchange information to aid the management of writing said document, which may not be necessarily reflected directly in the final document view. Such information typically manifests in the form of notes and comments connected to specific sections of the document.
Some documentation platforms support âpublicâ notes and comments whereby they are attached to published documents for everyone to see. Public notes and comments also align with the principle of shared responsibility. In the words of Bush (1945), âHe can leave one item in position while he calls up another. He can add marginal notes and comments.â
Public comments and notes require more thought given that they may go out of sync as the document view evolves. For example, a comment may say âThis specification is incomplete; there are no performance requirementsâ. If performance requirements are added later on, the comment must be âclosedâ, at least by having one of the document maintainers reply with âDoneâ. Another possibility is that comments maintain a relationship to the version so that it is clear whether the comment is against the current version, or an old one.Â
This tenet may come across as too obvious, too general, or somewhat unspecific. You may ask, for example, why isnât in-place editing a first level tenet rather than merely a feature within a âcatch-allâ tenet named authoring delight?
The reasons are twofold. First, the themes within authoring delight hinge significantly on out-of-the-box documentation features of an enterpriseâs main documentation platform which means that mitigating a poor authoring experience might not be entirely under the DocOps engineerâs control. The second is that tilting the scale thoughtlessly toward authoring delight may conflict with other values and principles; for example, copy and pasting content onto the main documentationâs platform so that it can be edited in place, would go counter to the principle of content-wise truth proximity.
© 2022-2024 Ernesto Garbarino | Contact me at ernesto@garba.org