I think tiddler is a magic and has not gotten enough attention in TW docs specially for endusers!
As an end user (the one uses Tiddlywiki for daily note taking, task manager and small online personal webpage) I want to know what properties a tiddler has and how one can efficiently use a tiddler?
In comparison to other note taking apps out there (like obsidian, roam, logseq, notion) I think none of them has a magic like tiddler in Tiddlywiki.
I call tiddler a note card, but I realized it is much more than a simple note card!
One difference in my opinion is the field feature in Tiddlywiki that makes a Tiddler quite powerful note card. One can make a micro-database.
I remember one of my students made a Periodic Table where each element was stored in a tiddler, and each element property in a field. I do not think you can do this in other note taking tools.
I also love the export feature on every Tiddler. I can export my note into a html file and everybody can open it (every device with a moderate browser can open my note and read it)
Like you I believe Tiddler is a magic! and @jeremyruston is very smart created such amzing thing years ago!
I’m not gonna give you an easy answer … rather just point out that the main “unit” in TiddlyWiki IS the “Tiddler” … it is a radical approach to data design that let’s you do most anything. Other systems talk about “units” but, in reality, they compromise them quickly.
TW is very unusual in that BOTH it’s base content and it’s system for organising that content uses the SAME system of Tiddlers.
TBH, we need a Philosopher Of Data Design to explain it well.
Shadow tiddlers can be modified by users. If modified they become System Tiddlers which allows users to “own and modify their software”. … If such a modified system tiddler is deleted, the “shadow tiddler” will take over again. … IMO this feature is absolutely unique to TW
User content is a tiddler. — User content can be tagged. — Tags can be tiddlers — Tags can be tagged to create structure — Tags can contain content like a TableOfContents — Content can be linked — Links automatically “create” backlinks — Backlinks can be used by filters — Filters create lists of tiddlers — Filters can be used by macros like the toc-macros — Macros are defined in Tiddlers — Macros are tagged $:/tags/Macro — $:/tags/Macro is a system-tag — There are more system tags like $:/tags/PageTemplate — Templates are Shadow Tiddlers — Tiddlers tagged $:/tags/PageTemplate are used by the “core software” to build the TiddlyWiki UI (user interface) — “the core” is a plugin - you know — Templates are part of the core — At startup the core is expanded into Shadow Tiddlers — Shadow Tiddlers can be manipulated by the user — So advanced users can “own the TiddlyWiki UI” … – to come to an end –
The way I look at tiddlers is they are a record, their title is the key to the record, but there are many ways to locate a tiddler. As other point out almost all of tiddlywiki is a tiddler and anything you create, not withstanding you can have tiddlers within tiddlers such as transclusion, or tiddlers that list or display tiddlers but the key to the tiddler is ;
the “title is at eye level”. Titles are what we think about and they are also the key to every record, and filters and everything, know how to handle titles.
However each record/tiddler has a few or any number of fields. Such as the text, and created/modified dates and the users name who created or modified it.
The next most well known field is the tags that allows you to store a list of titles we call tags which are as they sound you can place any tag on any tiddler zero or more tags. We call this a list field.
The fact is you could have additional fields that act like tags, but let us say you wanted to add an owner field, you can make it so it only accepts one value, so each tiddler can have none or one owner set.
Then to finish all off the above can all be handled as sets or lists from 0 to one to many members in each list or set. And along with the package comes numerous list or set display and manipulation tools.
Before I stop - all of tiddlywiki is built on top of itself, is readable and configurable including almost any CSS or HTML even Javascript. So the sky is the only limit.
This sums up a lot of a tiddlers features very nicely! the sheer amount of things you can achieve with TW is enough to make your head spin haha
I like to say TW is a webapp in a similar design philosophy as Gnu/Linux, with it’s “everything is a file” approach translating very nicely to TiddlyWiki’s “everything is a tiddler”.
I would like to say that I feel like TW might even be more customizable in some aspects as a file/folder on Linux, but that’s just my opinion, I’m but a humble windows user at the moment!
I agree, as well as all the other features we’ve added on top with plugins, like the export feature for other formats, and even having a portable BASIC machine stored inside it.
Oh, I would love to see a periodic table demo on our public lists of example TiddlyWikis. (Maybe it’s already there somewhere?)
It would be an ideal reference wiki for learning, and could show how the same basic info from fields can be sliced and diced.
I imagine the default tiddler would show the periodic table as one sees it in every high school classroom, and then the possible link-paths to details and other layers of info would be delightful!
Another technique I think is rather underappreciated is the use of the caption field, especially to add a longer title or additional context. This ability to re-use subtiddler fragments is to me what is particularly magical about TiddlyWiki.
Actually even now after more than a decade I find new magic within tiddlywiki and using titles (tiddlers).
I am, currently investigating automating the tagging process a simple example would be if a tiddler is tagged todo present the option to tag it done. But of course todo and done are titles and can be tiddlers.
In such cases we want a “display condition and an action”
If tagged todo (condition)
Allow mark done (action)
Where the magic comes in is “tags” is just a “list field”, and any field is a list field, when treated as such, but filters also define lists and fields can contain lists, including lists of filters? one or more titles are themselves a filter of named titles. In the prerelease the checkbox widget can also act on a list.
Maybe this “magic” comes down to a very small set of key ideas?
TiddlyWiki is (almost) completely written in tiddlers, which can be modified by the user
A tiddler can be written in WikiText, Javascript, CSS or other languages
WikiText is more powerful than Markdown, and is (almost?) a programming language
This gives that a user can modify and extend the TiddlyWiki UI and the WikiText syntax (at least by adding widgets, macros, operators) by editing and creating tiddlers.
This looks a bit like metaprogramming, where code can be treated as data (and the other way around). This idea is implemented on the language level in e.g. Lisp, which allows you to extend the programming language itself.
There is one feature of TWclassic that sadly is gone in TiddlyWiki5 because of performance concerns … Transcluding sections, which did introduce an intrinsic “data structure” by simply using the same heading titles in several different tiddlers. …
So the structure of plain text did automatically create a “data structure” that could be used by the underlaying system, to extract connections between different tiddlers.
The concept is very powerful, but was considered slow to implement in the early days of TW5. So there is a bit of magic lost too …