Project 2036: the future of TiddlyWiki

Hi Jeremy,
First I’d thank you and all the developers of TW for the great job! Awesome. TW became an important part of my life organising all the small but important notes. Wtf?

I totally agree to focus on the future of TW.
Please keep the stability as high as now.
Please differenciate better between experiments, half developed software and stable plugins.

Some plugins I’d like to see with full integration, because they matter for me most.

  • TW Plugin TiddlyJam
  • TW Plugin for E-Book (TWpub plugin)
  • TW Plugin for Node Red
  • TW Plugin for maps und maptiles ( leaflet plugin)
  • TW Plugin for draw.io
  • TW Plugin tiddlymaps
  • TW Plugin timeline plugin

The above extensions are so valuable for me, a better and more systematic integration would be great!
I’m not a programmer, maybe I can help with UI testing?

Chris

1 Like

Welcome to Talk TW Chris69, Thanks for contributing.

When you say “full intergration” what do you mean. Each of these plugins have being developed by different contributors and placing them in the core would consume bytes when not everyone may use them. Or do you mean something else?

  • If you think these could be in common use we could package them into an “edition” of tiddlywiki.

I wonder if TWX could include additional tools for data manipulation?

The tiddler / field as a record is powerful and can be easily used to structure data and tables. It would be great if we had a set of tools that allow a more intuitive way for solutions to be built on top of tiddlers but appearing as if they were records, tables or a collection of tables a database including using tiddler titles as keys/forign keys.

  • This would allow those comming to tiddlywiki from skills as broad as database, spreadsheet, tables to use tiddlywiki from the state by using there own expierence.
  • By providing these tools we also encorage the “correct” use of tiddlywiki.

Similarly I would like to see tools, standards and or guidence that helps with dealing with self-referential lists.

  • A key example is when sorting by a camputed value. It would be nice if we could generate a list in memory with multiple columns, sort on a nominated colum then return the list (of titles), then purging that working table (Structured variable?) from memory.

Hi,
I really appreciate your demand.

All of the above mentioned plugins fit perfectly in my work environment. And I’d really love to make TW a more universal tool for me. The potential of TW with integrating of all above plugins is tempting

But, some of the plugins seem to be more of a temporay playground to test ideas, not more. They generally work, but no activity for years…

I’d wish, that mature plugins are marked as such and can all be installed from the same official repository and in the same easy manner.

I’m willing to contribute in this direction. Not in a programming manner, but more as a user with UI focus.

Chris

2 Likes

Right. Given the massive use of plugins this sounds like a good, relatively simple to acheive, objective.

I still use some plugins made years ago that are no longer maintained (death of author; abandoned; experimental etc. )

I always worry they will stop working. But @jeremyruston has done an amazing job on backwards compatibility so the failures on v. old plugins I routinely use is still pretty low.

But, the point, I think, is the one you imply: there is a case to be made for a somewhat more Centralized source for, what one might call, Canonical Plugins.

An affirmative thought, TT

Exactly!

Probably this case touches one aspect of the thoughts of Jeremy, talking about the future of TW.

Chris

1 Like

I agree on all you layout in your post as vital issues. Great questions.

But I think you missed one. I will try and articulate it.

I see your brilliance in masterly juggling HTML, CSS, Javascript and SVG et al.

But there is one thing that got eclipsed—TW as “Master Of The Machine”.

What do I mean? I mean that TW standard is in a standard browser is now in a “clamp down”. Potential hampered.

Browser limits limit TW. TW was unlimited until browsers limited it.

I think use of Back-Ends to liberate standard browsers would RE-EMPOWER TW to be what it is … a full-on free expression of volition.

A comment, TT

4 Likes

We’ve had lot of wish list stuff in the discussion following @jeremyruston’s initial post, so what’s your/ our/ my story?

Still working on this post. Pressed the send button by mistake. Be back later.

on this note, i made a thread in the past considering an all-in-one tw operating system, where a hardware device would boot to tw and all of a user’s apps, files etc. could be accessed via a tw interface. on a much more reasonable note, i’ve found myself wanting to put links to open local files, folders, apps, or run terminal commands from tw links many times, all of which are limited by browsers.

admittedly i have not looked much into tiddlydesktop, so i am not sure if it allows these things. but if not, that would be a huge expansion of the capabilities of the platform. and on the security side, maybe the core could detect if a plugin uses these features and produces a warning / confirmation window before installing the plugin?

Right. Browsers now are very limited.

I won’t go over how Bob (still?), TiddlyDesktop and the first version of Timimi allowed, via TW scripts, passed to the O/S, machine control.

I still think it a good objective for any TW user who wants to control their machine to do so.

Right. You’d likely need (1) a plugin and (2) a back-end system tool installed to re-connect the browser to the O/S.

I agree a “simple warning” is advisable and is enough.

My point was that the limitation of common browsers has had bad effects on freedom— as well as a few good safeguards. It is now far too limiting.

I’d like to see TW explicitly be able to control ALL I do on a computer :grin: when I want that.

TW is getting limited by browsers in a way that is limiting its existing powers and development IMO.

QED, TT

1 Like

In the past few days I have been pointed towards two AI tools. I’d not used either before, nor was I aware of them

  1. Perplexity
  2. rabbitOS

The latter really suprised me. It outputted images, markdown files. It created a repo.

I’ve now asked rabbitOS to create me a TW

It is still crunching away. It may never do it.

However the idea is seeded. Create TW files pre-populated with data.

Any thoughts?

Alex

This is what it output. It didn’t complete the task such that umami_dashi_wiki.htlm actually worked with the images and tiddlers.json

Any ideas on what I would put in a prompt to create a node.js version which would be able to read folders of .tid files ?

Screenshot 2025-04-22 at 19.14.29

try rabbitOS here: https://hole.rabbit.tech/rabbitos

1 Like

I’d like the back-ends for getting at the OS to be configurable per machine that I might sit down at with a relatively simple way to configure them.

For example I have previously wittered on about email Message-Id URLs which should of course follow the standard. One could use the OS’s handler which in turn goes to Mail.app or Thunderbird. Or fall back to gmail.com on somebody else’s computer.

Then there’s opening files and directories.

Perhaps I’ll have a macro in my notes that refers to <<source_file file:“project_A/create_problems.c” line:“389”>> and I’d have my back-ends translate that to a Windows UNC path on my Windows machine, an automounted UNIXy path on UNIXy (inc. MacOS) machines and some URL on anything else (following the gmail above) .

Something I have experimented with recently is having the EDITOR environment run a script that fires the file spec through a reverse SSH TCP tunnel to my client machine’s editor (well emacsclient). That allows me to run for example cscope efficiently on the server. But I could also imagine an http request to my server hosting the wiki using some mechanism to make my local editor (or Finder or file explorer) do something.

TiddlyWiki and I have had quite a history together. I first started experimenting with TiddlyWiki with classic trying to start a Getting Things Done system and later as a game engine through Twine. But once I discovered what TiddlyWiki was at its core I found that it was the perfect tool to dumb brain ideas into. Anytime I found or thought of a tip, trick, idea, or link I didn’t have to worry where I should store that. Unlink a raw file system where I had to worry about what directory to organize it into or how to manage separate files that are actually related (linked). Searching would need a structured data system. Presentation would need some kind of build system. Web ages needed a server. None of that worked will in the sneaker net that I used to be stuck in long ago.

Like most systems my GTD setup floundered and my use of TW faded. But I revived later when I needed a working static website generator and I knew a normal blog was too much structure for me to keep going. Instead I needed a dumping ground of random stuff big and small that I could have generated to a basic personal home page. TW came to my rescue now at version 5.

The more I used it the more I discovered how flexible it was and how useful it was to have a single HTML file I can place anywhere/anytime. I started using TW for all kinds of things like Minecraft Tutorials and Résumés (CVs). I learned just how many features come built-in from the core modules. And anything that wasn’t in the core modules I could add myself. I started using TW as a base framework to add my own features including image processing build tasks.

Eventually I needed a way to track my daily habits at work. The field I work in needs strict approval for installing applications. It is close to (but not really) air-gapped. I thought TW was perfect for this kind of situation since it just an HTML file running in the browser. Then since we use Node for our development build tools it was not a hard jump to vet the source and run TW under Node. Now with a localhost server I can pin a tab in my browser and have a daily brain dump wiki with daily journalling.

For whatever reason, this has been the only tool I’ve ever tried that has remained in daily use for six years now.

It is for these reasons I find TW to be invaluable for me. I hope these core ideas remain.

  • designing a structured wiki
  • brain dump ideas without any organization
  • complex and expressive searching
  • customize anything
  • single file saving
  • self-executable (runtime on all modern machine by default)
  • auto-save to a built-in backend
  • no JS frameworks, VanillaJS based core
  • zero dependencies
  • easy to upgrade
  • easy to contribute to
  • easy to walk the codebase
6 Likes

Right.

That way would ensure security AND freedom. An opt-in backend connection.

I fear on browsers now it would still be very difficult.

One way around it would be to run a daemon in the background that could detect any file written to disk by a TW.

So … In TW have an action to save a batch command file (I.e. a “command tiddler”) to disk that a daemon can detect and execute.

Not ideal, but still workable atm.

TT

Yes. A beautiful one.

Thank you to everyone for the thoughtful and interesting feedback. I have now posted a longer thread about v5.4.0, but do feel free to continue to post here.

@jeremyruston: That links points right back here. Is there somewhere else it should point?

see [TW2036] Planning for v5.4.0