What's this strange dotted line ?

It's a very compact automatic site map generated from the top level of the wiki's page hierarchy. Imagine turning the contents view on its side and shrinking it greatly and you'll see where it comes from.

Each segment of the line represents a major section of the wiki, ie a top-level topic, and its length indicates the number of pages below that topic page. Mouse over the line segments to get tooltips showing their names or to jump there. The black box above the line indicates the position of the page you are viewing, like "you are here" in contents view. You can mouse over and click this too. You'll see it jump to another part of the wiki when you reparent a page. The position is only approximate.

I'm experimenting with making zwiki.org and wikis in general more approachable by presenting the (complex, interlinked) content as a simple linear trail. A wikiline is like a timeline, except it runs through the space of pages in the wiki. It could be detailed or just a high-level summary; made by hand or automated. Like a book, you know that you could in theory start at the beginning and follow it to the end and you would have seen everything, in some recommended order. I think that displaying it along with the you-are-here dot may provide a sense of orientation and stability.

Examples

Feedback

Too much gimmickry ? Useful only to wiki gardeners ?


comments:

Simplify and enhance -- Mon, 01 Aug 2005 09:19:38 -0700 reply
 

Cool feature, great ides, just like sparklines --JózsefJároli, Tue, 02 Aug 2005 02:13:19 -0700 reply
I like it, and it reminds my of Sparklines .

An enrichment - depth is nice -- Tue, 02 Aug 2005 12:37:13 -0700 reply
ZWiki is plain, clear, simple. Add this feature and there's also a bit of hidden mystery. That definitely appears to me. I hope you keep and develop this feature. Make it an option if you want, but make it available!

What's the point? -- Fri, 19 Aug 2005 09:13:58 -0700 reply
It's funky and flash and new, but what's the point? It's highly impractical to carefully poisition the mouse over the tiny dots when I might as well visit the Contents page.

Personally I think it's utterly useless to 99% of users and the confusing it can cause can ruin the whole user experience as complex/advanced/difficult. So it should be off by default but available maybe to "wiki gardeners".

How would it scale for big sites like wikipedia?

Keep experimenting!! Don't let my negativism stop you from playing around.

thanks --simon, Sun, 28 Aug 2005 18:16:23 -0700 reply
..for the feedback. I'm leaning towards dropping this, for now, as I don't think it carries it's weight, especially on zopewiki. I think it's a good direction to explore, but I haven't had time to make it fast and monitor for problems. Here is the prototype code. Cover your eyes!:

      <!-- http://zwiki.org/WikiLine linear position indicator -->
      <div metal:define-macro="wikiline" omit-tag="" tal:condition="python:1">
      <div class="dimtext" align="center"
           tal:define="
                       pagecount here/pageCount;
                       pageindex python:here.wikiOutline().flat().index(here.pageName())+1;
                       percent   python:int(pageindex*100/pagecount);
                       flat      python:here.wikiOutline().flat();
                       rootidxs  python:map(lambda x:(flat.index(x)+1,x),here.wikiOutline().roots());
                       rootpcs   python:[(int(i/(len(flat)/100.0)), n) for i,n in rootidxs];
                       uniqpcs   python:[];
                       dummy     python:[uniqpcs.append(i) for i in rootpcs if not i in uniqpcs];
                       intervals python:[(uniqpcs[uniqpcs.index(v)+1][0]-v[0],v[1]) for v in uniqpcs[:-1]];
                       ">
        <table width="100%" cellpadding="0" cellspacing="0">
          <tr tal:condition="nothing">
            <td></td>
            <td align="center" nowrap>
              page <span tal:replace="pageindex" />
              of <span tal:replace="pagecount" />
            </td>
            <td></td>
          </tr>
          <tr style="background-color:/*#dddddd*/;">
            <td tal:attributes="width python:'%s%%' % percent;"></td>
            <td width="1%" align="center"><a tal:attributes="href here/contentsUrl"><img
            tal:attributes="title python:'you are here (page %d of %d)' % (pageindex,pagecount)"
            src="/p_/sp" width="6" height="6" border="0"
            style="background-color:#000000;"
            /></a></td>
            <td tal:attributes="width python:'%s%%' % (100-percent-1);"></td>
          </tr>
        </table>
        <table width="100%" cellpadding="0" cellspacing="3" border=0>
          <tr>
            <td tal:repeat="item intervals"
                tal:attributes="width python:'%s%%' % item[0];"
                ><a tal:attributes="href python:here.pageWithName(item[1]).pageUrl()"><img
              src="/p_/sp" width="1" height="3" border="0"
              style="background-color:#aaaaaa; width:100%;"
              tal:attributes="title python:'%s (~%d pages)' % (item[1],int(len(flat)/100.0*item[0]) or 1);"
            /></a></td>
          </tr>
        </table>
        <div align="right" class="shade1"><a class="otherlinks" href="http://zwiki.org/WikiLine">about the line</a></div>
      </div>
      </div>