Tiddler Revisted. Is It a Magic?

Very good question!

I’m not gonna give you an easy answer :slight_smile: … 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.

Best, TT

2 Likes

That periodic table is amazing!

Short version

In TiddlyWiki A tiddler is a tiddler is a tiddler… That means everything is a tiddler.


Longer version

The TiddlyWiki “core software” is a tiddler. More precisely it’s a plugin.

Plugins are “packages” of tiddlers, which can be managed by users.
eg: The Browser Sniff plugin contains 4 tiddlers.

See contents of the Brwoser Sniff plugin

At startup – plugins are expanded to Shadow Tiddlers and executed, if they contain software.

They also can contain documentation like readme’s

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


Recursive Version

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 :wink: — 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 –

User content is a tiddler

Recursion short — A tiddler is a tiddler is a tiddler

have fun!

3 Likes

Its tiddlers all the way down…

2 Likes

Recursion forever …

TT, x

2 Likes

You are almost a philosopher.

I know that Crusoe is Crusoe but maybe sometime Crusoe is irritated by Crusoe?

Could a Tiddler ever conflict with another??

TT. :slight_smile:

Tiddler is tiddler:

1 Like

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.

2 Likes

Thank you all for your great input!
So Tiddler is everything and most part if TW is made from Tiddler.

I conclude we have a limitless flexibility when using Tiddler in comparison to card notes in Obsidian.md or similar.

Philosophical statement: We are proud of Tiddler! :wink:

1 Like

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!

2 Likes

I think it worth saying what I wrote before, even though I’m not a computer person …

TiddlyWiki’s basic architecture means it has become a kind of “Operating System for Web Pages.

TBH I think we should shout more about its ability to CSS, HTML, SVG & JavaScript seamlessly.

I think it is extremely unusual.

A comment
TT

1 Like

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.

TW is truly a marvel of software.

2 Likes

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!

-Springer

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.

The sky is the only limit, if that.

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.

4 Likes

That’s right. … I was drawn to TiddlyWikiClassic as I did search for literate programming a long time ago.

1 Like

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 …

1 Like

I think someone did a brainfuck thing in TW which means it’s Turing complete or something…

LISP… I have vague AutoCAD memorirs…

The magic starts when one realises that while at the core everything is a tiddler tiddlywiki allows to make them look and act very differently, like

  • add a tag to a tiddler and it becomes part of the side-menu (or any part of the UI for that matter)
  • change the appearance of a tiddler in the story river depending on tags, fields, etc.
  • show templates in tiddlers driven by tags, fields (e.g. show a participants text box when a tiddler is marked “meeting”
2 Likes