1 Background

Since the conception of personal computing, it has been the goal of various researchers and designers to create a computing system that can be a medium for human thought [3]. Certainly, we have come a long way toward realizing this; but we remain encumbered by the standard information architectures. We will examine each of the common information architectures and find their strengths and weaknesses, before synthesizing them into a new information architecture.

1.1 Information Architecture

Information architecture [1, p. 88] is the manner in which pieces of information are interrelated. The basic unit of an information architecture is the atom (e.g. file, paragraph, etc.). Atoms are logically related via categories (e.g. directory, tag, etc.). Categories can be considered as sets of atoms.

Hierarchical Architecture. The hierarchical architecture is an architecture in which atoms and categories are organized with parent-child relationships in a tree-structure. The categories are arranged to encompass one-another, as in the case of a computer file-system. Then atoms populate the structure at various levels (see Fig. 1).

Fig. 1.
figure 1

A graph of the hierarchical architecture in terms of parent-child relations.

Fig. 2.
figure 2

A graph of the organic architecture. Its “flat” structure allows all categorizations.

The advantages of this architecture include that it gives an intuitive structure to the information (with its spatial analogies like “up” and “in”), that it can be easily instantiated in a computing device, and that — in many instantiations — it can be navigated with minimal atoms and categories displayed at each level.

The hierarchical architecture has limitations, however. It cannot allow certain categorizations of atoms. For instance, if an atom is associated with categories that lie in different “branches” of the tree, this cannot be properly expressed. Another limitation is that there is only a single path to each atom. We will address the concept of path in Sect. 3.3, but for now we can think of it as being like a file-path in a standard computing system. With only a single path to it, a browser of the architecture must know all the “right” moves in order to arrive at the atom.

Organic Architecture. The organic architecture is one which allows atoms to be categorized with any combination of categories, but does not directly relate the categories to each other. This architecture is instantiated in “tagging” systems, for instance, in which a tag can be considered a category.

The lack of explicitly defined relations among the categories gives this architecture its characteristic “flat” structure (see Fig. 2). It is a significant improvement (over the hierarchical architecture) in connectivity, allowing all possible relationships to be expressed, but the structure among the categories is opaque, and, in fact, undefined.

This is problematic when the architecture is instantiated into a computing system that is to be navigated (i.e. browsed). Where does one begin to navigate? What should be displayed at a given state of navigation? In Sect. 2.1, we will continue to discuss these issues.

Sequential Architecture. The sequential architecture is one which arranges atoms or categories in sequences with the relation “is followed by” (see Fig. 3). This architecture is that of narrative, film, and music — and is generally the architecture of the human experience of events in time. For this reason it is ubiquitous, although it is very limited, structurally. The categorization of atoms, for instance, is not defined in this architecture.

Fig. 3.
figure 3

A graph of the sequential architecture.

Fig. 4.
figure 4

Three planes of information architecture.

It is common to create a synthesis of the sequential and hierarchical architectures, as in a document, such as this, with sections. Nominally, each subsection is related only to its (parent) section, although this is rarely actual. This synthesis is obviously fruitful, but inherits the limitations of the hierarchical architecture. We use this as an example of a successful synthesis of information architectures. What follows is a series of three cumulative syntheses that sublates the standard architectures in an attempt to capture the structure of human thinking. The primary objective of this work is to enable a computer — instantiating an information architecture — to be used as a better medium for human thinking.

2 Structure

We will distinguish among three planes of information architecture: the structure plane, the flow plane, and the dialectic plane (see Fig. 4).

Definition 1

(Structure Plane). The structure plane of an information architecture is the set of logical relations among the categories and atoms.     \(\square \)

The structure plane is often the focus of an information architecture, but it can take different forms. The hierarchical architecture has structure in its category-category and atom-category relations, whereas the organic architecture has structure only in its atom-category relations.

2.1 Synthesis I: Organic and Hierarchical Architectures

The first synthesis is of the organic and hierarchical architectures. We begin with the cornerstone of the organic hierarchy: each atom may be associated with any categories. Beginning here ensures that the architecture will preserve the capacity for completely general categorization of information.

However, category-category relations are undefined. This is a limitation, especially for navigation and discovery.Footnote 1 The synthesis of the organic and hierarchical architectures hinges on this precept: a hierarchical architecture can be defined as implicit in an organic architecture.

We call this synthesis an organic hierarchy. It stands alone as an information architecture, but two more cumulative syntheses will include it in the following sections. The organic hierarchy is described in the following series of mathematical definitions. The definitions need not be a hurdle to the understanding of the architecture. On the first reading, it is sufficient to skip them and proceed to Sect. 3.

Definition 2

(Subcategory). Given a collection of categories \(\mathcal {C}\), let \(X\in \mathcal {C}\) be a nonempty proper subset of \(Y\in \mathcal {C}\). We call X a subcategory of Y.     \(\square \)

Definition 3

(Graph Nodes). Let \(\mathcal {C}\) be a collection of categories; let \(\mathcal {U}\) be the union of all categories in \(\mathcal {C}\); and let \(\mathcal {I}\) be the set of all possible nonempty recursive intersections of the elements of \(\mathcal {C}\). Let graph nodes be defined as

$$\begin{aligned} \mathcal {N} = \mathcal {U} \cup \mathcal {C} \cup \mathcal {I}. \square \end{aligned}$$
(1)

Definition 4

(Graph Level Function). The graph level function \(L: \mathcal {N} \rightarrow \mathbb {Z}\) is defined to be equal to 0 if the node \(n \in \mathcal {U}\), equal to 1 if the node \(n \in \mathcal {C}\), and equal to the number of categories \(C\in \mathcal {C}\) for which the node n was the intersection, otherwise. Therefore, \(0<L(n)\le \mathbf{card }(\mathcal {C})\) for \(n \in \mathcal {N}\). Let \(\mathcal {L}_{i}\) be the collection of sets for which \(L(n) = i\) for \(n \in \mathcal {N}\), and let \(\mathcal {L}_{i}\) be indexed such that we can denote a relation \(\mathbf r _i^{jk}\) to be that from element j of \(\mathcal {L}_{i}\) to element k of \(\mathcal {L}_{i+1}\).Footnote 2     \(\square \)

Definition 5

(Metacategories). Given a set of nodes \(N \subseteq \mathcal {L}_{i}\), we can construct a collection \(\mathcal {M}\) of all recursive unions of the elements of N. We call the elements of \(\mathcal {M}\) metacategories of N.Footnote 3 Furthermore, let the map \(\mathbf{meta }\) be defined as \(\mathbf{meta }(N) = \mathcal {M}\). Finally, let \(\mathcal {M}^d\) be the set containing the elements of \(\mathbf{meta }(N)\) that were constructed from the unions of d nodes; we call d the metacategory depth.     \(\square \)

Example 1

Given a collection of categories \(\mathcal {C} = \{X,Y,Z\}\), the union of all categories is \(\mathcal {U} = \{ X \cup Y \cup Z \}\). The set of all recursive intersections of the categories is

$$\begin{aligned} \mathcal {I} = \{ X, Y, Z, X \cap Y, Y \cap Z, X \cap Z, X \cap Y \cap Z \}. \end{aligned}$$
(2)

Therefore, assuming all intersections are nonempty, the set of nodes is

$$\begin{aligned} \mathcal {N} = \{ X \cup Y \cup Z, X, Y, Z, X \cap Y, Y \cap Z, X \cap Z, X \cap Y \cap Z \}. \end{aligned}$$
(3)

The collections of graph nodes at each level are

$$\begin{aligned} \mathcal {L}_{0}&= \{ X \cup Y \cup Z \}, \end{aligned}$$
(4a)
$$\begin{aligned} \mathcal {L}_{1}&= \{ X, Y, Z \}, \end{aligned}$$
(4b)
$$\begin{aligned} \mathcal {L}_{2}&= \{ X \cap Y, Y \cap Z, X \cap Z \}, \text { and} \end{aligned}$$
(4c)
$$\begin{aligned} \mathcal {L}_{3}&= \{ X \cap Y \cap Z \}. \end{aligned}$$
(4d)

If we give \(\mathbf{meta }\) the set of nodes \(N = \{ X, Y, Z\} \subseteq \mathcal {L}_{1}\), we get the collections of metacategories of N at each depth:

$$\begin{aligned} \mathcal {M}^1&= \{ X, Y, Z \}, \end{aligned}$$
(5a)
$$\begin{aligned} \mathcal {M}^2&= \{ X \cup Y, X \cup Z, Y \cup Z \}, \text { and} \end{aligned}$$
(5b)
$$\begin{aligned} \mathcal {M}^3&= \{ X \cup Y \cup Z \}. \ \ \ \ \ \ \ \ \square \end{aligned}$$
(5c)

We define three types of graph relation (or graph edge).

Definition 6

(s-relation). The relation \(\mathbf s \) is has a priori subcategory. An a priori subcategory is a subcategory that is required by construction, and is independent of the contents of the categories. For instance, \(A \cap B\) is an a priori subcategory of A, assuming it is not the empty set. An \(\mathbf s \)-relation \(\mathbf s _i^{jk}\) is defined from tail-node j of \(\mathcal {L}_{i}\) to head-node k of \(\mathcal {L}_{i+1}\) if node k is an a priori subcategory of j.     \(\square \)

Definition 7

(vs-relation). Consider a node j of \(\mathcal {L}_{i}\). Let N be the set of (\(\mathbf s \)-relation) head-nodes in \(\mathcal {L}_{i+1}\) for which j is the common tail-node. Let \(\mathcal {M}_{ij}\) be the set of metacategories of N, \(\mathcal {M}_{ij} = \mathbf{meta }(N)\). A has visible subcategory \(\mathbf{vs }\)-relation with tail-node j is an \(\mathbf s \)-relation with head-node an element of the set of nodes used to construct \(\mathcal {M}_{ij}\) that have the minimum depth \(d_\text {min}\) and that equal \(j^\prime \): the tail-node j intersected with the union of the elements of N.     \(\square \)

Definition 8

(hs-relation). An \(\mathbf s \)-relation that is not a \(\mathbf{vs }\)-relation is defined as a has hidden subcategory \(\mathbf{hs }\)-relation.     \(\square \)

Definition 9

(Visible Atom). For a node \(j \in \mathcal {L}_{i}\), a visible atom is an atom that is in the set \(j \setminus j^\prime \), where \(j^\prime \) is the (\(\mathbf s \)-relation) tail-node j intersected with the union of all head-nodes with tail-node j.     \(\square \)

Definition 10

(Graph of Categories). Together, the set of nodes \(\mathcal {N}\) and \(\mathbf{hs }\)- and \(\mathbf{vs }\)-relations define a graph of categories. The graph can be navigated by beginning at any node and following an edge to an adjacent level (\(\mathcal {L}_{i}\) to \(\mathcal {L}_{i+1}\) or to \(\mathcal {L}_{i-1}\)). When the level increases, the edge represents the intersection of the current node with a single category, and can therefore be represented as “selecting” an additional category. When the level decreases, the edge represents the union of the current node with a single category, and can therefore be represented as “deselecting” that category. At a given node, visible atoms and \(\mathbf{vs }\)-relations should be displayed; \(\mathbf{hs }\)-relations should be somehow accessible, but not displayed.     \(\square \)

Example 2

Given a collection of categories \(\mathcal {C} = \{X, Y, Z\}\), and the set relations defined by the Venn diagram Fig. 5, we can construct the graph shown in Fig. 6 using Definition 10 as follows. The graph nodes were already discussed in Example 1.

Fig. 5.
figure 5

Venn diagram for the categories of Example 2.

Fig. 6.
figure 6

Graph of categories for Example 2. Dashed lines are \(\mathbf{hs }\)-relations and solid lines are \(\mathbf{vs }\)-relations.

The has subcategory graph relations \(\mathbf s \) are determined by construction, as long as they are nonempty. The has visible subcategory \(\mathbf vs \)-relations for a given node can be determined by examining the \(\mathbf s \)-relations with the node as its tail. The heads of these \(\mathbf s \)-relations can be constructed into a set of metacategories, from which we can determine visibility. See Table 1, which lists the metacategories for each node. Let’s examine Node 01 (\(X \cup Y \cup Z\)), for instance. It is the tail for three \(\mathbf s \)-relations because X, Y, and Z are all subcategories. Then the metacategories, divided into sets of depth 1–3, are

$$\begin{aligned} \mathcal {M}_{01}^1&= \{ X, Y, Z \}, \end{aligned}$$
(6a)
$$\begin{aligned} \mathcal {M}_{01}^2&= \{ X \cup Y, Y \cup Z, X \cup Z \}, \text { and} \end{aligned}$$
(6b)
$$\begin{aligned} \mathcal {M}_{01}^3&= \{ X \cup Y \cup Z \}. \end{aligned}$$
(6c)
Table 1. Metacategories used to determine \(\mathbf{hs }\)- and \(\mathbf{vs }\)-relations for Example 2. Nodes are referred to by Level i and index j.

Let us consider those metacategories of depth \(d=1\). Evaluating the metacategories shows that no single category equals \(j^\prime = (X \cup Y \cup Z) \cap (X \cup Y \cup Z) = X \cup Y \cup Z\). Now consider those metacategories of depth \(d=2\). Only \( X \cup Z = j^\prime \); therefore, the \(\mathbf s \)-relations from Node 01 to 11 (X) and 13 (Z) are \(\mathbf{vs }\)-relations. The only visible atoms at \(\mathcal {L}_{0}\) are those that are uncategorized. Similarly, for Node 11 (X), which is at Level 1,

$$\begin{aligned} \mathcal {M}_{11}^1&= \{ X \cap Y, X \cap Z \} \text { and} \end{aligned}$$
(7a)
$$\begin{aligned} \mathcal {M}_{11}^2&= \{ (X \cap Y) \cup (X \cap Z) \} = \{ X \cap (Y \cup Z) \}. \end{aligned}$$
(7b)

Let us consider those metacategories of depth \(d=1\). Evaluating the metacategories shows that no single category equals \(j^\prime = X \cap \left( (X \cap Y) \cup (X \cap Z) \right) \). Considering the single metacategory at the maximum depth \(d=2\), we can see that, by definition, it evaluates to \(j^\prime \), and it requires all metacategories for construction. Therefore, all \(\mathbf s \)-relations with tail-node X are \(\mathbf{vs }\)-relations. This is why we gray-out the maximum-depth metacategories in the table; they needn’t be evaluated in order to know the result. The visible atoms at this node are \(X \setminus (Y \cup Z)\).

Proceeding in a similar manner for each node, we define all \(\mathbf s \)-relations as either \(\mathbf{vs }\)- or \(\mathbf{hs }\)-relations, and define the visible atoms for each node.     \(\square \)

3 Flow

The method of loci is an ancient memory mnemonic still in use by most memory champions [2]. The technique requires a subject to “place” memories in an imaginary world familiar to the subject. It turns out that the technique is not then used as random-access memory in which the user can access any memory at will; rather, each memory-location is accessed in series by “journeying” through the imaginary world [2, p. 93].

This architecture is already expressed in the standard sequential information architecture. This architecture is fundamentally different than the other information architectures mentioned, which express the logical relations among sequences and atoms (i.e. they are structural). The sequential architecture has little structure itself; rather, it expresses the movement of thinking through information structure. It moves in another dimension, which we call the flow plane of information architecture.

Definition 11

(flow plane). The flow plane of an information architecture is the sequential presentation of atoms or categories.     \(\square \)

3.1 Flow and Structure in Standard Information Architectures

As in the method of loci, thinking flows from one idea to the next, not necessarily in some order prescribed by the structure, but through the structure, which provides context for each idea. This is what separates the concept of flow from that of path. A path is the logical categorization of an idea, whereas flow is a sequential presentation of ideas.

The quintessential example of a flow is a narrative, which is often presented in terms of chapters, sections, and subsections. This is a synthesis of the sequential and hierarchical architectures. Its utility is undeniable; it is the structure of nearly all scientific and technical literature. However, it inherits the limitations of the hierarchical architecture in that a flow cannot move freely through the structure due to its restrictions on logical categorizations.

3.2 Synthesis II: Flow and Structure

The second synthesis is the sublation of the organic hierarchy proposed in Sect. 2.1 and the sequential architecture. Therefore, it is the synthesis of structure and flow. This synthesis revolves around two insights, one presented in each of the following examples.

Example 3

The first insight is that flows should not be limited by structure. Consider the simple example of a chapter that compares the works of Søren Kierkegaard and Friedrich Nietzsche. In a hierarchical architecture, the dilemma is whether this belongs in Kierkegaard/Nietzsche or Nietzsche/Kierkegaard. It imposes a structure on the flow that does not exist.

In an organic hierarchy, however, a flow has no such limitations. The cornerstone of the organic hierarchy is that each atom — the Kierkegaard - Nietzsche chapter, in this case — may be associated with any category. Therefore, in any instantiation of this architecture, it will be available to a user under both Kierkegaard/ Nietzsche and Nietzsche/ Kierkegaard. And yet, the structure among the categories is not lost, as in a purely organic architecture. It still may be the case that in a given information system every atom associated with Nietzsche is also associated with Kierkegaard, but some atoms associated with Kierkegaard are not associated with Nietzsche. Therefore \({\texttt {Nietzsche}} \subset {\texttt {Kierkegaard}}\), and Nietzsche would be hidden within Kierkegaard in graph navigation, as illustrated in Fig. 7.

This would look identical to a user browsing the structure as a hierarchy with Nietzsche a subcategory of Kierkegaard, but it does not restrict future categorizations, unlike the hierarchy. Moreover, unlike in a hierarchy, there is nothing prohibiting a user from navigating to Nietzsche immediately (by manual input). It is an allowed, but not a visible (displayed to the user), navigation.     \(\square \)

Fig. 7.
figure 7

Graph of categories for Example 3. Dashed lines are \(\mathbf{hs }\)-relations and solid lines are \(\mathbf{vs }\)-relations. K is the category Kierkegaard and N is the category Nietzsche.

Example 4

The second insight that defines the synthesis of flow and structure is that the structuring of a flow must be highly granular. Categorizing a flow or even, say, a chapter, as a single atom is typically not sufficiently granular to capture the movement of the flow through the structure. Consider a travel journal as a flow with contents structured in an organic hierarchy, as illustrated in Fig. 8.

Fig. 8.
figure 8

Illustration of a travel journal for Example 4. Paragraph 5 is shown in both a flow (Journal 12) and a structure.

We will consider the first five paragraphs of the journal in question, Journal 12. Let all paragraphs be atoms associated with the categories Journal, Travel, and Italy. Furthermore, let paragraphs 1, 2, and 3 be associated with Mosaics; paragraphs 1–3 be associated with Mausoleums; paragraphs 3 and 4 associated with Justinian I; paragraphs 3–5 associated with Byzantine Empire; and paragraphs 4 and 5 associated with Byzantine Artwork. The flow side of the figure shows these categorizations.

If we assume that this journal lies in a broader structure of categories and atoms, we can construct a possible structural view, as shown at right. The graph has been navigated along one of many possible paths. (The order of the categories selected is irrelevant to a given node, so the user may have come along many paths to that node.) The node shown appears to be simply Byzantine Artwork, but it is, in fact

$$\begin{aligned} {\texttt {Journal}} \cap {\texttt {Travel}} \cap {\texttt {Italy}} \cap {\texttt {Byzantine Empire}} \cap {\texttt {Byzantine Artwork}}. \end{aligned}$$
(8)

The intersection operator commutes, so any order is equivalent, and therefore any path including the same categories is as well. The further intersection with the categories Mosaics and Justinian I is possible, which would reveal the atom paragraph 4. At the node shown, however, there are two visible atoms: Journal 7: Paragraph 28 and Journal 12: Paragraph 5. Paragraph 5 are associated with all the categories in the path, but no others. Therefore they are visible, and can (depending on the instantiation) be previewed in context, as shown.

This shows the possibility of discovery in this architecture. Let us imagine that the journaler reviews the journal later and is struck by something about Paragraph 5. Now interested to know if any related information in her broader information system, she views the structure and discovers that Journal 7: Paragraph 28 was also associated with the same categories, and that other information that is related is associated with categories Mosaics and Justinian I.     \(\square \)

3.3 Path

Path is the description of the logical place of a node in a structure, and of how a user navigated to that node. In a hierarchy, there is only one path to each node. For instance, consider categories X and Y, and path X/ Y. There is only one path X/ Y to reach that node. In an organic hierarchy, however, many paths are possible because the order is inconsequential. In our example, X/ Y and Y/ X are equivalent because each path represents the intersection \(\texttt {X} \cap \texttt {Y} = \texttt {Y} \cap \texttt {X}\). This flexibility of path is especially important for information discovery. It allows a user to navigate “up” along a different path than they navigated “down,” for instance.

4 Dialectic

The Fichtean/Hegelian dialectic provides a framework for the evolution of thinking. One formulation of this process is shown in Fig. 9. It begins with a thesis, which gives a perspective on a topic. If a new perspective is introduced, it is called an antithesis. Antitheses can be contradictory to the thesis, but often they are not. Rather, they reveal something previously unknown about the topic, and the relationship between the thesis and antithesis is unresolved. The process of sublation forms a synthesis, which includes both the thesis and antithesis. This synthesis is considered a new thesis. Et cetera.

Fig. 9.
figure 9

A formulation of the dialectical process.

4.1 Synthesis III: Structure, Flow, and Dialectic

In this final synthesis with that of Sect. 3.2, the dialectical framework can be used to express the evolution of thought. Each category may be assigned a thesis flow that is a definition or description of the category.Footnote 4 It will certainly intersect a number of other categories, but it is specifically used to define its thesis category. Similarly, any flow can be considered the thesis flow for a thesis category it generates.

When a flow is newly associated with a category, it becomes an antithesis flow of the category’s thesis flow. It may contradict, supplement, or be redundant with the thesis flow. In any case, when a user sublates these flows, they become a synthesis flow, which is the new thesis flow for the category.

This third synthesis is called the dialectical architecture. It allows information to be structured as in the organic hierarchy (first synthesis), incorporates free-ranging flows (second synthesis), and systematically structures the evolution of thinking (third synthesis). This captures a third plane of information architecture.

Definition 12

(dialectic plane). The dialectic plane of information architecture is the evolution of the structures and flows within the architecture.    \(\square \)

This plane is often ignored in information architecture and its instantiations. Attempts to incorporate it include backup software, wiki revision histories, and version control. Framing it with the dialectical method allows the user to focus on the evolution of the ideas and not a specific flow. It also allows the user to discover new antitheses that arise in connection with other work in the information system.

5 Conclusion and Prospects

We have presented a new information architecture, the dialectical architecture. It enables thinking to be structured in a general manner, flow through that structure, and evolve through dialectic — all in a computing medium.

As with other information architectures, there are many viable instantiations. One instantiation, a note-taking system, is currently in development. Much work remains to determine how successful the architecture is at providing a medium for human thinking. Its basis in the standard architectures, the method of loci, and the dialectical method is a reason for optimism.