The documentation system tenet of uniform addressability states that most documentation should have a human-friendly and consistent addressing mechanism. This tenet supports the principle of low cognitive loadâby facilitating the inference of a document viewâs topic and contentâand truth proximityâby minimizing the proliferation of addresses which may point to stale or incorrect content.
Berners-Lee (1999) noted the importance of uniform addressability prior to inventing the World Wide Web (WWW):
âOnce a bit of information in that space was labeled with an address, I could tell my computer to get it. By being able to reference anything with equal ease, a computer could represent associations between things that might seem unrelated but somehow did, in fact, share a relationship. A web of information would form.Â
The need to encode the name or address of every information object in some way âequalâ [emphasis added] was also essentialâÂ
A uniform address is necessary to integrate documentation in automation workflows and help humans set expectations about the nature of the underlying document view. In the words of Engelbart (1995), âEvery knowledge objectâfrom the largest documents, to aggregate branches, down to content units such as charactersâhas an unambiguous address, understandable and readable by a user, and referenceable anywhere in the hyperdocument system.â
In most cases, a uniform address is implemented using a Uniform Resource Identifier (URI). URI is also the term preferred by Berners-Lee âto emphasize the importance of universality, and of the persistence of informationâ.
A document viewâs URI plays a similar role as the international standard book number (ISBN). In the case of books, it ensures differentiating two different books when they happen to share the same title. In enterprise documentation, it helps ensure that the most recent information pertaining to a given topic is always available using the same address.
Letâs look at a few examples at AllScuba, a fictional scuba diving store:
docs.allscuba.co.uk/Customer
docs.allscuba.co.uk/Product
docs.allscuba.co.uk/_projects/CRM_Migration
docs.allscuba.co.uk/_projects/CRM_Migration/Sprint_1
docs.allscuba.co.uk/_incubating/Conversion_to_native_app
docs.allscuba.co.uk/_archived/Billing_Migration
While this tenet may appear to be stating the obvious, there are a number of unseemingly conventions at play here which set user expectations. The conventions should not be viewed through the lens of âeditorial policyâ but in terms of the inferences that users will draw when benefiting from such an uniform addressing mechanism. For example:
Inference 1: All documentation has a home
The domain docs.allscuba.co.uk
is the go-to place for all documentation
Inference 2: Key concepts are addressed consistently
All documents follow the docs.allscuba.co.uk/[Topic]
pattern
Key concepts are found at the top level: they start with uppercase and are in singular form. All fundamental concepts use the same pattern. For instance, it is likely that the documentation for suppliers is found at docs.allscuba.co.uk/Supplier
If anything changes about the nature of, say, customers, the underlying documentation will change but the URI will stay the same. You can always rely on docs.allscuba.co.uk/Customer
to learn anything relevant about who AllScubaâs customers are, how they are modeled, in which systems their data is stored, and so on.
Inference 3: Transient documents are obvious
Non-current documentationâpast, in motion, and futureâhas a lower-case prefix. Document views under the likes of _projects/
, _incubating/
, _archived/
, and so on, do not represent the current AS-IS state of affairs at AllScuba.
You are free to choose any other conventions as long as they are applied consistently throughout the documentation base. What is important is that document addresses follow a consistent pattern that everyone can rely upon.
The second inference, that of being able to address key concepts consistently is paramount in an enterprise documentation system. This notion is more formally referred to as canonical identity.
Uniform addressabilityâs ultimate motivation is the creation of a canonical identity between URIs and topics. Consider the following URIs:
docs.allscuba.co.uk/Customer_Version_2
docs.allscuba.co.uk/Customer_Created_by_Mikey
docs.allscuba.co.uk/Customer_Draft_Nov_12
docs.allscuba.co.uk/Customers_info
None of these addresses seem to break any rule as far as URI well-formedness is concerned, but they still break uniform addressability by making it unclear what is the address that provides information about customers. When someone searches for âCustomerâ and comes across URIs like these, the first userâs reaction will be: âWhich one is it?â. A proliferation of URIs pointing to similar topics violates both the principle of low cognitive-load and truth proximity.
There should be a good and explicit reason to create competing versions of a Customerâs documentation, which takes to the next related topic, disambiguation.
Sometimes, we do have different interpretations, or even conflicting descriptions upon the same business object. For example:
docs.allscuba.co.uk/Customer_Retail
docs.allscuba.co.uk/Customer_Business
In cases like this, it is imperative to declare a general entry URI docs.allscuba.co.uk/Customer
and from there, pointers to the different interpretations, while making an effort to describe the common properties among Retail and Business in the general Customer document view. Likewise, when users access docs.allscuba.co.uk/Customer_Business
directly, they should be made aware that this is either a specialization, a different view, or an outright challenging/competing view upon what it might have otherwise been a general Customer description.Â
Last, the notion of canonical identity and disambiguation should not be taken as barriers of entry to users who wanted to add to documentation efforts and are now confronted with the choice of an appropriate URI.Â
Say that Mikey wants to write some text indicating that he had some sour interactions with a few customers. This is OK. If Mikey wants to have his own take on what an AllScuba customer should be described asâhe is a co-creator after allâhe is welcome to contribute as long as the URI conveys the less-committal nature of this view. For example:
docs.allscuba.co.uk/_opinions/Customer_According_to_Mikey
A uniform address establishes a contract between a URI and a certain type of content. A URI is not what a file is named, it is what the contentâs topic is about. While it is normal to play around with different URIs while content is being drafted for the first time, once it is released to the worldâand by this I mean the enterpriseâthe URI should not change for arbitrary reasons.
When a URI changes, the former URI should be preserved so that it can point to the new one. If the URI has changed just because a new name is preferred, this can be implemented as a simple redirection, but if the content has changed in nature, then an explanation must be given, offering the user insights upon the alternatives. For example, upon accessing docs.allscuba.co.uk/End_Customer
, the user may find an explanation that both docs.allscuba.co.uk/Customer_Retail
and docs.allscuba.co.uk/Customer_Business
may play the role of end customers, with links to both of them.
Uniform addressability is not a notion applicable only to the online world. The tenet of flexible renderingâif adhered to, of courseâgives us offline versions of any document. In this case, there would be a 1:1 relationship between each offline document and its online counterpart. Maintaining this link is essential.
In the case of offline documentation that is not directly connected to the online documentation system such as posters, banners, and so on, the concept of key callouts is helpful. A key callout is a reference to documents using a short word without the use of a verbose domain name.
The convention could be, for example, that all keys can be typed directly following the documentation domain name, or that they will lead to the relevant documentation view if typed in in the documentation platformâs search engine.
© 2022-2024 Ernesto Garbarino | Contact me at ernesto@garba.org