<?xml version="1.0"?>
<?xml-stylesheet href="/transform" type="text/xsl"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:bs="http://purl.org/ontology/bibo/status/" xmlns:ci="https://vocab.methodandstructure.com/content-inventory#" xmlns:dct="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" lang="en" prefix="bibo: http://purl.org/ontology/bibo/ bs: http://purl.org/ontology/bibo/status/ ci: https://vocab.methodandstructure.com/content-inventory# dct: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# xhv: http://www.w3.org/1999/xhtml/vocab# xsd: http://www.w3.org/2001/XMLSchema#" vocab="http://www.w3.org/1999/xhtml/vocab#" xml:lang="en">
  <head>
    <title property="dct:title">Navigation by Shibboleth</title>
    <base href="https://doriantaylor.com/navigation-by-shibboleth"/>
    <link href="document-stats#E3pEN0xE0trgj-2DH7x_IK" rev="ci:document"/>
    <link href="elsewhere" rel="alternate bookmark" title="Elsewhere"/>
    <link href="this-site" rel="alternate index" title="This Site"/>
    <link href="http://purl.org/ontology/bibo/status/published" rel="bibo:status"/>
    <link href="" rel="ci:canonical" title="Navigation by Shibboleth"/>
    <link href="lexicon/#EqIUfKvI93wG3TQRQDwoVJ" rel="dct:audience" title="Information Architect"/>
    <link href="person/dorian-taylor#me" rel="dct:creator" title="Dorian Taylor"/>
    <link href="file/derive-navigation-from-partition" rel="dct:hasPart"/>
    <link href="file/notsof-graph-decomposition" rel="dct:hasPart"/>
    <link href="//www.amazon.com/dp/0674627512" rel="dct:references"/>
    <link href="what-i-do" rel="dct:references" title="What I Do"/>
    <link href="person/dorian-taylor" rel="meta" title="Who I Am"/>
    <link about="./" href="3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="./" href="f07f5044-01bc-472d-9079-9b07771b731c" rel="alternate" type="application/atom+xml"/>
    <link about="./" href="this-site" rel="alternate"/>
    <link about="./" href="elsewhere" rel="alternate"/>
    <link about="./" href="e341ca62-0387-4cea-b69a-cdabc7656871" rel="alternate" type="application/atom+xml"/>
    <link about="verso/" href="3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="verso/" href="this-site" rel="alternate"/>
    <link about="verso/" href="elsewhere" rel="alternate"/>
    <meta content="navigation-by-shibboleth" datatype="xsd:token" property="ci:canonical-slug"/>
    <meta content="I have been mulling for years over how to do the navigation for this site, such that it entices some people without turning away others (for all values thereof). I think I may have figured it out." name="description" property="dct:abstract"/>
    <meta content="2012-02-03T01:16:20+00:00" datatype="xsd:dateTime" property="dct:created"/>
    <meta content="navigation-by-shibboleth" property="dct:identifier"/>
    <meta content="2012-02-03T18:06:31+00:00" datatype="xsd:dateTime" property="dct:issued"/>
    <meta content="2012-02-03T18:05:36+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2012-02-06T19:41:43+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2022-05-31T04:18:52+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2022-05-31T15:10:50+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta about="person/dorian-taylor#me" content="Dorian Taylor" name="author" property="foaf:name"/>
    <meta content="summary" name="twitter:card"/>
    <meta content="@doriantaylor" name="twitter:site"/>
    <meta content="Navigation by Shibboleth" name="twitter:title"/>
    <meta content="I have been mulling for years over how to do the navigation for this site, such that it entices some people without turning away others (for all values thereof). I think I may have figured it out." name="twitter:description"/>
    <object>
      <nav>
        <ul>
          <li>
            <a href="on-the-building-of-software-and-websites" rev="dct:references" typeof="bibo:Article">
              <span property="dct:title">On the &#x201C;Building&#x201D; of Software and Websites</span>
            </a>
          </li>
          <li>
            <a href="document-stats#E3pEN0xE0trgj-2DH7x_IK" rev="ci:document" typeof="qb:Observation">
              <span>urn:uuid:de910dd3-1134-4b6b-a823-fb60c7ef1fc8</span>
            </a>
          </li>
        </ul>
      </nav>
    </object>
  </head>
  <body about="" id="ESResSNnAaObrIbiPf0vPK" typeof="bibo:Article">
    <section id="Eq6mnlPDEvzhQPkn3e_8SI">
      <p>I began this site in May 2008 to explain, to myself, <a href="policy/resource-handling-and-representation" title="Resource Handling and Representation Policy" rel="dct:references">a complex and esoteric topic</a>. I wanted to use the properties inherent to hypertext, and by extension the <abbr title="World-Wide Web">Web</abbr>, to help tell the story. I was really interested in <a href="http://en.wikipedia.org/wiki/Ted_Nelson" title="Ted Nelson &#x2014; Wikipedia" rel="dct:references">Nelson's</a> original motivation behind <a href="http://en.wikipedia.org/wiki/Hypertext" title="Hypertext &#x2014; Wikipedia" rel="dct:references">hypertext</a>, which included providing people with multiple paths through a body of work, helping them explore and comprehend the content in the sequence that made the most sense to them. If you found yourself on a page where you didn't understand what I was talking about, you could click on the offending part and get some background information.</p>
      <p>Part of what attracts me to hypertext is that it affords&#x2014;nay, <em>begs for</em>&#x2014;parenthesis and digression. Whereas an essay or monograph is all about getting to the point, we can use hypertext to perorate on some interesting side detail, then stow it away behind a link. As a writing experience it's totally organic, and I don't tax any reader who isn't interested. Only problem is it completely obliterates the notion of <em>done</em>. So I eventually shelved my <a href="http://en.wikipedia.org/wiki/Zeno%27s_paradoxes" title="Zeno's Paradoxes &#x2014; Wikipedia" rel="dct:references">Zeno-esque</a> treatise until I could develop some tools that would get it under control. Moreover, writing decent hypertext with print-era tools is straight-up <em>hard</em>. So in the meantime, while I figure out what to do about some sort of authoring solution, I've just reverted to writing essays, like the one you see here.</p>
      <p>Oh, and people started reading them too, which was never really part of the plan.</p>
    </section>
    <section id="Ev0acvPPZgU4lYSjTWWToL">
      <h2>I am so lazy you have no idea</h2>
      <p>This is essay number <var>86</var>, according to a quick <kbd>grep</kbd> of <a href="f07f5044-01bc-472d-9079-9b07771b731c" rel="dct:references" title="Make Things. Make Sense.">my feed</a>, which at the moment is the canonical index of what's on this site. <em>But it isn't</em>. There are well over <var>400</var>. I've forgotten more than I remember. It's not like they're mostly unfinished either, though a lot of them are. It's just that they aren't reachable in any obvious way. I figure I should probably expose them, but that brings me to a bit of a quandary.</p>
    </section>
    <section id="Ex-cAjziZ5zpnTbqb2cvJK">
      <h2>Where the Title Comes In</h2>
      <p>A <a href="http://en.wikipedia.org/wiki/Shibboleth" title="Shibboleth &#x2014; Wikipedia" rel="dct:references">shibboleth</a> is a way of telling if somebody either knows or doesn't know something, even if they don't know they know (or don't know) it. Spies used to use the concept to out each other, for instance by tricking their opponents into saying certain words to expose a hidden accent. Hang on to that idea for a moment.</p>
      <p>As I mentioned, I routinely deal in complex and esoteric topics. Of course, these topics often tie in with accessible, everyday issues, because I discuss them in order to <em>use</em> them. Moreover, to some people, they <em>are</em> everyday issues. And now that I have a sizeable corpus, I'm seeing a few faint patterns in what I write. Roughly:</p>
      <ul>
        <li><a href="a-conversation-with-lisa" title="A Conversation with Lisa" rel="dct:references"><span class="parenthesis" title="pronounced: the intersection of cybernetics and semiotics">Cybernetics &#x2229; semiotics</span> (symbol transformation and feedback)</a></li>
        <li><a href="beat" title="Beat" rel="dct:references">Semantics and epistemology for shaping public discourse</a></li>
        <li><a href="the-rubiks-cube-principle" title="The Rubik's Cube Principle" rel="dct:references">Math, especially discrete math</a></li>
        <li><a href="on-the-value-of-information-systems-and-design-research" title="On the Value of Information Systems and Design Research" rel="dct:references">Philosophy of design</a></li>
        <li><a href="information-infrastructure-as-a-process" title="Information Infrastructure as a Process" rel="dct:references">The business of creative work</a></li>
        <li><a href="content-robo-inventory" title="Content Robo-Inventory" rel="dct:references">Technical articles about software and the Web</a></li>
        <li><a href="hello-internet" title="What I Do">Personal stuff, &#xFC;ber mich, etc.</a></li>
      </ul>
      <aside role="note" id="E3zHm9Y2qBuELmV-SVwobK">
        <p>Hilariously, these headings are wrong, judging by how hard it was to find exemplars.</p>
      </aside>
      <p>The first two of those would likely attract the same people&#x2014;possibly the third and fourth as well. But the technical articles could be split into at least three distinct disciplines that typically only talk to each other when they absolutely have to. I've literally been mulling for years on a way to carve up this site so that it piques peoples' interests in the right places, and enables them to safely ignore the rest, unless I introduce it to them serendipitously sometime in the future.</p>
    </section>
    <section id="EL-HwwxZziYfuiNERXy4nK">
      <h2>How the hell do I organize this site?</h2>
      <p>The inverse-chronological colly on <a href="./" title="Make things. Make sense." rel="dct:references">the front page</a> is exactly what I <em>didn't</em> want to end up with. I have tried my damnedest to keep everything on this site as temporally neutral as I can make it. I even intentionally leave the dates off the documents. Temporality only matters if you've already read everything and you want to see what's new or changed, like if you've subscribed to a feed. Which is exactly what that is on the front page. I just transclude it with <acronym title="eXtensible Stylesheet Language Transformations">XSLT</acronym> which <span class="parenthesis" title="Thanks, by the way. Also: Android sub-3.x users: sorry.">I run in your browser</span>. Remember: lazy.</p>
      <p>I remember one of the first times I visited <a href="http://en.wikipedia.org/" rel="dct:references">Wikipedia</a>. My first impression was <em>where the hell are the sections</em>? I felt completely unable to get a handle on even the <em>magnitude</em> of the content. Consider an encyclopedia in <a href="http://en.wikipedia.org/wiki/Codex" title="Codex &#x2014; Wikipedia" rel="dct:references">codex format</a>: you can actually <em>see</em> that the listings under <var>Q</var> and <var>X</var> are thinner than the ones under <var>R</var> and <var>E</var>. You can see the extent of the thing on the shelf. Wikipedia divulges none of this. It's like a <a href="http://en.wikipedia.org/wiki/Gabriel%27s_Horn" title="Gabriel's Horn &#x2014; Wikipedia" rel="dct:references">Gabriel's Horn</a>&#x2014; finite volume, but infinite surface area.</p>
      <figure id="Ehm6bwmml5JzzKoV67y9gL">
        <a style="display: block" href="http://www.amazon.com/gp/product/0674627512?ie=UTF8&amp;tag=doriantaylor-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0674627512" title="Notes on the Synthesis of Form"><img style="display: block; width: 400px; margin: 1em auto;" src="file/notsof-graph-decomposition;scale=400,500" alt=""/></a>
        <figcaption>
          <p>In this set of diagrams, <a href="http://patternlanguage.com/" rel="dct:references">Alexander</a> is talking about an abstract design problem. Each dot represents a requirement. Each line represents how two requirements <span class="parenthesis" title="i.e. either support or conflict with">inform one another</span>. The circles represent the optimal decomposition, since they only cut two lines. That striped sluglike shape represents an arbitrary heading (Alexander is an architect, so he uses examples like <em>acoustics</em> or <em>neighbourhood</em>). The problem of dividing up websites into least-overlapping sections is almost identical.</p>
        </figcaption>
      </figure>
      <p>Plus, I agree completely with <a href="http://www.amazon.com/gp/product/0674627512?ie=UTF8&amp;tag=doriantaylor-20&amp;linkCode=xm2&amp;camp=1789&amp;creativeASIN=0674627512" title="Notes on the Synthesis of Form">Christopher Alexander</a> that the optimal hierarchical decomposition pattern of any complex system is found by isolating the subsystems with the <a href="http://en.wikipedia.org/wiki/Minimum_cut" title="Minimum cut &#x2014; Wikipedia" rel="dct:references">least information</a> moving between one another, and that this pattern is almost never congruent with any decompositions we can consciously prescribe.</p>
      <aside role="note" id="EVSTpyWXPRmUtDkzlzseTJ">
        <p>Translation: it makes very little sense to use website sections as a project management tool. <span class="parenthesis" title="and even using book chapters as a project management tool is questionable">They aren't book chapters</span>. I find even <em>thinking</em> in terms of sections imputes a strange prescriptive effect over what gets made, and it poisons the whole endeavour with an ineffable wrongness that can never be purged.</p>
      </aside>
      <p>That, and I totally got over the broken record of <var>About Us</var>/<var>Our Crap</var>/<var>Our Other Crap</var>/<var>Our Links</var> <span class="parenthesis" title="I know, I am trying to avoid temporality, but this statement will always be true, though it might eventually need to be tuned for precision.">well over a decade ago</span>.</p>
    </section>
    <section id="Etre98oTL2JZx92q8CPBIK">
      <h2>Ever wonder why <q>done</q> is so ill-defined?</h2>
      <p>I was considering some kind of <a href="http://en.wikipedia.org/wiki/Tag_cloud" title="Tag cloud &#x2014; Wikipedia" rel="dct:references">tag-cloudish construct</a>, but as far as I'm concerned, once you get over <a href="http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two" title="The Magical Number Seven, Plus or Minus Two &#x2014; Wikipedia" rel="dct:references">the magic number</a>, they grow asymptotically useless. And they <em>still</em> don't tell you how much stuff there is on the site to read.</p>
      <p>A book hints at its required commitment with its thickness. A novel is also a decidedly different <em>shape</em> of commitment than an anthology, comic book, newspaper or coffee table book, implied by the shape of each artifact. The Web exhibits nothing like this. Even its base unit, the <em>page</em>, is arbitrarily long.</p>
      <p>Even if I did come up with a way to communicate to readers how much effort they're on the hook for, I would still want to engender the sense of completion a person gets when they finish a chapter, and know that they can rest that much closer to the end. It's important for people to be able to unload all that state information they build up in their heads. A colloquial term for that might be <em>closure</em>. But a digraph, such as a website, has no concept of an end&#x2014;or a start. It just has entry points, paths and overall coverage.</p>
    </section>
    <section id="E1xOnZahQfVCZ7qsYjsfUL">
      <h2>The Can-of-Worms Coefficient</h2>
      <p>So we're after two things: clusters of documents (i.e. sections) and viable entry points (i.e. cover pages). After all, what we conventionally understand as a <q>section</q> on the Web is just another page with links that fan out to its components.</p>
      <p>To achieve this effect, we're back to Alexander's problem: find a line which cuts the site in two pieces while cutting across the lowest number of links. Repeat the process on the pieces, recursively, until you have nothing left but <a href="http://en.wikipedia.org/wiki/Clique_%28graph_theory%29" title="Clique (graph theory) &#x2014; Wikipedia" rel="dct:references">cliques</a> (clusters where every page is connected to every other page, and thus no optimal cut) or single pages. Voil&#xE0;: your hierarchy. The site's structure will be the most intuitive, natural-feeling pattern in the world, and there is <em>no way</em> you would have come up with it otherwise.</p>
      <figure id="EnWJdncs5xBxSvffLkndwJ">
        <img style="display: block; width: 540px; height; auto; margin: auto" src="file/derive-navigation-from-partition;scale=540,480" alt=""/>
        <figcaption>
          <p>Oh, and there is no reason to keep the inevitable 1-2-4-8&#x2026; nesting sequence. The number of pages in each subset will likely vary tremendously. Just pick a handful of appropriately-sized subgraphs from the lower rungs of the generated hierarchy.</p>
        </figcaption>
      </figure>
      <p>While I was writing this, I thought about something cool: Indicate to the reader when following a link would take them across a partition, by decorating it somehow. Just like how I already decorate links to other sites, or links to PDFs and such. That way you know that when you're following a link, you're either finishing off a line of inquiry or peeling the lid off another one.</p>
    </section>
    <section id="ErUtgE9dripQmu5hyrffZI">
      <h2>Heading Up the Sections</h2>
      <p>With a candidate selected for partitioning sections, it's now time to turn my attention toward their headings. I originally considered trying to summarize whatever came out of the generated partitions, but my experience suggests that probably won't be very easy to articulate. Besides, as I add content, the partitions will invariably move around. As such I'm planning to just go with the top <var>N</var> articles under each partition. But how to order them?</p>
      <p>Temporality is out. <em>New</em> is often not actually that <em>important</em>, or even that interesting. You don't go to a site to see what's new, not since feeds were invented. That said, it might make sense to explicitly consider perishable content, so people catch it before it expires. Though I personally don't have a lot of that.</p>
      <p>Popularity as a delimiter is also problematic, because of the <a href="http://en.wikipedia.org/wiki/Matthew_effect_%28sociology%29" title="Matthew effect (sociology) &#x2014; Wikipedia" rel="dct:references">Matthew effect</a>. The stuff that's already popular gets more popular, simply because it's popular, and buries the rest.</p>
      <p>I'm tempted to use a graph metric, like <a href="http://en.wikipedia.org/wiki/Centrality" title="Centrality &#x2014; Wikipedia" rel="dct:references">centrality</a>&#x2014;essentially how important a page is. Except there are a bunch of different <em>kinds</em> of centrality, each slightly varying, and that really pushes the limit of my understanding of graph theory to pick which one is most appropriate. If it doesn't make sense to me, it probably won't make sense to most readers.</p>
      <p>What I'm leaning toward is using <a href="http://en.wikipedia.org/wiki/Degree_%28graph_theory%29" title="Degree (graph theory)" rel="dct:references">degree</a> to determine which page should be the entry point of each section. Specifically the ratio of the inbound links to the outbound links of each page. A low <a href="http://en.wikipedia.org/wiki/Directed_graph#Indegree_and_outdegree" title="Directed graph &#x2014; Wikipedia" rel="dct:references">indegree</a> means not a lot depends on that page, making it a good candidate for introductory material. A high <a href="http://en.wikipedia.org/wiki/Directed_graph#Indegree_and_outdegree" title="Directed graph &#x2014; Wikipedia" rel="dct:references">outdegree</a> implies lots of points to jump off from. These metrics, of course, should be taken only from the page's partitioned subgraph. Links coming in or out of the subgraph will pollute the result (besides, there won't be a lot of them if partitioning algorithm did its job).</p>
    </section>
    <section id="Ev70pbKeBZYKjbkopHeyyJ">
      <h2>These Look Like Action Items</h2>
      <p>This problem has had me stumped for years. Or perhaps more accurately, there have been few obvious next steps and many appealing distractions. This, on the other hand, is doable.</p>
    </section>
  </body>
</html>
