I felt like that is what we were discussing here. For instance, in TW-com, we have all sorts of documentation on Filters. A fair chunk of it forms a hierarchy. The clickable railroad diagrams are one beautiful way to express that hierarchy. Breadcrumbs were brought up as a more general way to do the same thing, to express hierarchies that exist among subsets of the tiddlers.
I think of those as a different sort of beast. Those are usually expressed as a fixed set of steps, with the current step highlighted, and the main navigation involves previous / next controls. Breadcrumbs allow direct access to any of the levels above the current one in the hierarchy.
As I said ealier, I think that ship has sailed. “Breadcrumbs”, like “file”, “folder”, and “desktop” are analogies to commonly-recognized concepts, but are never perfectly correlated. “Breadcrumbs”, like their fairy-tale counterparts, help you navigate your way back. But they don’t track the entire path you took, and they also offer jumps higher back that Hansel and Gretel would much have appreciated!
That’s a very serious concern for large wikis or ones with many interconnections. I think @pmario’s story metaphor is great for smaller chunks, without too many overlapping paths. But it breaks down when there are too many links.
Yes. It is significantly enhanced by a visual metaphor, such as a tree navigation, a connections map, or breadcrumbs. And some people have stronger senses of this than others, as we’ve discussed here before.
Note that my question to @pmario was specifically about his proposal, an attempt to show that it’s likely to run into scalability problems. Although I still have some ideas about it, I ran into this wall with my Nearest Neightbors demo. Some day I will try to get back to that, to build a graphical view, but it’s extremely challenging to find a good way to this.
I think there’s some problem with “the hierarchical context a tiddler is in”. When we have a single such context, there seem to be a number of good options. But nothing seems to work well when there are many.
As I realized when writing my WizardNav plugin, tag tiddlers are a pretty powerful way to capture such information.
I’m trying to steer back to “breadcrumbs” as used on many websites. This is what I think would help with documentation on TW-com. They’re not perfect, and if tiddlers really should show in several hierarchies, it can get ugly. But I think overall it would be a big help.
Absolutely.
Yes, or stories, pathways, etc.
But rather than that, let’s go back to discussing more standard breadcrumbs for hierarchies.
But it does borrow a lot from the standard web (think links, tabs, cards, icons, etc.) When we can reuse conventional structures in a familiar way, we make it easier to use.
And I’m suggesting much the opposite: let’s find a mechanism to match the term. We already have opt-in TOC functionality; let’s add opt-in breadcrumb functionality. But here I mean web-standard breadcrumbs, and not a full story/pathway/tracks/trail feature.
It sounds fairly simple to implement, so long as tiddlers live only in one hierarchy. (Just give each tiddler that live in a hierarchy a field that notes its parent, traverse the chain until one doesn’t have a parent, reverse the list and display it as a list of links, in whatever pretty format you like. Or – only a little harder – express it by having tiddlers list their children.) But as soon as any individual tiddler has multiple hierarchies, it gets much uglier.
The breadcumb navigation would be great improvement in documentation.
Some thoughts:
The term “breadcumb” does reference to trail/track/ …/navigation/path. I would also be more inclined to use one of the referenced terms.
I have doubts about: how/where we would want to display it. It shows new questions about how it could be implemented.
Would the use of this navigation be stored in any place? Someone might want to move foward/backward, althought it would be too work to implement it.
There are many points to close before to start.
While I was reading I thought in possible uses of the breadcrumb macro.
The macro to use in the body or outside of body (like the tags wrapper)
Hint about the breadcrumb or not.
Example: Navigation: breadcrumb 1 > breadcrumb 1 If the term for this define the breadcrumb menu is Navigation
Another idea, and more complex, would be a kind of wizzard/navigator (tiddler) for the documentation with its breadcrumb menus and one or more stories to facilitate the navigation.
I understand some are focused, not on breadcrumbs, and more on hierarchies, but TiddlyWiki needs to cater also for non-linear, multiple stories and journeys and other representations. You could say my first answer to the OT is;
Can Hierarchical Breadcrumbs Benefit TW Documentation?
Yes they can, but they are insufficient
To me, Breadcrumbs is a powerful metaphor, that I personally want to retain even if others have trashed its use in the past. I would send a tug out and bring the ship back into port
When faced with a problem, we can find a way to address it.
I did not illustrate it, but as I said;
Examples may include;
Using small text for the non current stories, or hide them behind a more
using sign posts show links to the other stories not every item in each story
Introduce other graphical representations, or popup etc…
I am not sure there is a web-standard, there is a broken use. I feel the best way to overcome this is as follows;
What ever recall it and create describe is as it works, like defining terms
Since people may expect a hierarchy, others historical crumbs, others stories, journeys or paths lets look at addressing each of these.
I think we did have some decent tools to visualize “stories” and show the “context”, a tiddler is within that story, with TWclassic from May 2011 in the “Recent tab” eg:
For a Complex UI
Story Selector … with 4 possible stories … 2nd one selected
The “HowTo Freestyle” story TOC
A tabbed Story-river … so only 1 tiddler is shown at the time
The tabs are dynamically expanded so it’s “kind of a history” … breadcrumb like nav
A modded version of Saq Imtiaz’s NavigationMacro (kudos go to Saq
Previous Button
Next Button
For “production” the right sidebar would be hidden.
IMO today this could easily be replicated with an improved “Tabbed Internal TOC”, a new TW5 NavWidget (4) and a bit of filter “trickery”.
It has mouse-over titles and can be clicked to navigate. (The wikies had been published at tiddlyspace) … May be I should push them to GH pages, for the nostalgic value.
I think I’m assuming a different context than you are.
I agree that there are plenty of ways one can design an entire UI to handle multiple trails through the data. I do so in many of my wikis.
But I thought we were talking about enhancements to individual tiddlers, likely with what are traditionally called breadcrumbs. I would expect something such as the MDN example you posted, References > HTML > Elements > <td>, or my suggestion above of something like this:
For tw-com, I was thinking of this for reference documentation (as opposed to other sorts of documentation such as tutorials, how-to-guides, or explanations, as described by the divio documentation system.)
For this style, it shouldn’t matter how we hit, say, Filter Expression; the path we took to get there should be irrelevant, and so would some external “currentStory” definition. It should still show it with Filter Syntax as its parent and Filters as its grandparent.
What you’re describing is interesting, and I’d love to see work towards making that simple to use in TW5. If we can show in any way that the user is on Step 4 of 6 in the current story, especially if we can also easily offer the choice of different stories, then we can offer a great new navigation option.
But for breadcrumbs, I think we should be looking at something simpler.
The idea here, at least as I recall, was as an additional source of information, not to replace any existing tidder metadata. I would phrase the question, “If we had a simple technique to create hierarchical breadcrumbs, could we use it to make tw-com more useful as a documentation tool?” I don’t know if that’s how the OP was intending, but that’s definitely how I’ve been interpreting it.
Absolutely; this would only affect a few portions of tw-com. Not everything is hierarchical, and this might have problems for those tiddlers appearing in multiple hierarchies. Still it would be a worthy addition to the current navigation idioms.
Can you explain how you see that metaphor, and how it might differ from what I think is the common usage these days, to wit, breadcrumbs describe a series of steps to get back from the current location to the starting point, the root? The navigation of full stories, including links to nodes not yet visited, is not part of this, nor, despite the fairy tale heritage, is the exact path you took to get here.
“Standard” was not the right word, but it is a well-understood technique for hierarchical data. For instance, the MDN page for Breadcrumb Navigation includes this header:
Practically anyone who’s used the web understands this. It says you’re in “Breadcrumb navigation”, which is in the “CSS Layout cookbook”, which is in the “CSS” section, which is inside “References”. It is only useful if there is a hierarchy, but it’s a simple, unobtrusive, effective way to offer a “You are here” signpost.
Right. This is what I’ve been discussing as being more difficult. I don’t think it has anything to do with your implementation; it’s a hard problem in general I noted it above with `Drag and Drop Mechanism", pointing out the first two of these:
Features > Drag and Drop > Drag and Drop Mechanism Features > Importing Tiddlers > Drag and Drop Mechanism Reference > Mechanisms > Drag and Drop Mechanism
I don’t know if there are any tiddlers on TW-com which have more than three such paths, but it’s easy enough to imagine wikis with tiddlers that do. Perhaps it’s simply best in these cases to show the multiple location bars. Wikis which have too many of these would simply be better off not opting into this navigation tool.
Or the tiddlers themselves could simply have a field which chooses the best parent to display:
title: Drag and Drop Mechanism
tags: [[Drag and Drop]] [[Importing Tidders]] Mechanisms
...
location-parent: Mechanisms
...
and in this case, the only bar to show would be Reference > Mechanisms > Drag and Drop Mechanism.
Interesting! And quite a bit different than what @pmario is proposing. I’m curious what you mean to imply with the icons ⮌ and ▲.
I think this technique would carry us a fair way, but if the number of paths makes this exceed a single line, it would get pretty ugly.
I don’t know if I can find time, but if I do, I will try to do something similar with my idea. It doesn’t sound very hard to implement, but I’ve said that before…
I’m afraid I’m unable to parse this. Can you expand a bit?
That’s exactly the reason, why I did create the TocP plugin, which uses the “parent” field to define a unique path for TOC-like implementations.
Since there can be several fields, it’s possible to define unique paths for each usecase. eg: tutorial, explanation, reference …
BUT … maintaining such relations is very time consuming = “costly”. So there needs to be a second mechanism, that is easy and fast to maintain. … That’s the “story” idea, that uses a field, similar ot the “list-field”.
List-like fields are easy and fast to manipulate, but they their downsides too. eg: list-fields can only contain tiddler titles. It’s not possible to add filters to them, which my story plugin allows.
If you take the table of contents as an example, additional content tiddlers could be created, instead of tagging one original tiddler with multiple parent tiddlers. The content of the new tiddlers can point to the original tiddler as a cross reference but by avoiding one tiddler being tagged with multiple members from the same tree the data is “normalsed” and there will be no tiddlers having multiple parents. Thus every tiddler has a single path back to the root.
I think this would not be costly if it were simply a way to privilege one of the possible paths to the root over the others. No tiddler would have to use it, and it would only be useful for those with multiple such paths. All it would do is to make one path the default – or the only – navigation bar.
I’m not sure if I have the skills yet to do what I’m imagining – and I owe my periodic table stuff some real time – but if I can manage it, I will try to demo this idea soon.