Today I came across a digital garden created by Riz aka ibnishak (the creator of Timimi, Tekan and many other TW hacks). Here is a link to a note made by him about - why he is no longer using TW for his note taking.
I just wanted to know the opinion of other TW community members regarding the points he has mentioned in his notes. Please keep the discussion in a positive way.
That’s interesting, I understand his points.
Me, it took me all of 5 minutes to know that TiddlyWiki would not suit me for note-taking, and it bothered me immensely that so many seem to like it for that purpose (having me repeatedly wondering “what did I miss?”)
And then I stopped caring about that, and just focused on the things TiddlyWiki does for me that no other tool can: single-page web apps, intertwingularity mapping, and agile documentation (in particular as a context-sensitive help engine for software.)
All other uses cases for TW, not my cup of tea at all. That’s why I use a whole suite of tools, each really the best at one or more tasks (for every scenario or specific senarios).
Riz knows his stuff: knows TiddlyWiki very well, knows his way of thinking and operating (his requirements), and knows where TiddlyWiki is failing him. Nobody would know better than Riz what fits the Riz, and he’s done a great job summarizing/organizing his thinking when, surely, everything about it is as complex as any intertwingularity.
Hmm. Could be a problem down the line if he stops supporting Timimi.
It’s not that he’s wrong, but it’s hard to find a better solution that is also open sourced and is well supported by a community. Some of the complaints about TW would also apply to other, proprietary solutions. For instancce, complaints have been made about how slow Obsidian is to load large numbers of notes, especially on Android.
Once you have been burned by a proprietary application changing it’s business plan or selling itself to some company run by suits, you understand why the open-source part is important.
For saving, these days I’ve been depending more and more on RClone. RClone (RCX) is also a good option on the Android device, because it allows you to use your own browser instead of an app.
Speaking of large numbers, this TW has 63k tiddlers: EO Dict — Vortaro de Esperanto
I’ve been working on my own note-taking flow for about a year. Probably should have been spending more time on the content rather than the mechanism, but there you go. I’ve tried a variety of tools including Stroll and Sections. But I’m looking now at a mixed approach, using TWOutlier on the desktop combined with other tweaks to tag filtering, excision, and tag navigation.
It’s definitely a loss that they won’t be active outside of Timimi, but it makes sense.
I’m not in a situation where I need to constantly juggle a lot of info and such, so
…or do you want to work on your tool
Working on my tool () is the hobby. Getting Utility from the results is kind of a bonus on top of the tinkering and intellectual stimulation.
My go-to Note-Taking app is still Google Keep. When I get back to my computer, useful notes go to my information-organization tool and digital playground: TiddyWiki.
It’s hard to imagine trying to find a really robust note-taking app that is easy to use and sync and whatever…because I’m just not in that world.
But, TiddlyWiki did provide a very easy way to store and retrieve work-related info when I got my first proper office job.
Everyone’s needs differs. So it’s upon each of us to decide which tool suit our needs best. I do respect his opinions.
Riz is from my place (Kerala) in India. But he almost left TW when I started using it. It would have been nice to have him in this community .
Check this. I guess he will continue to support Timimi
That’s true. I don’t have a large wiki. So I can’t talk about the scalabilty aspect. If I remember correctly there have been some performance improving changes in the recent TW releases. Am I correct ?
But I haven’t used an app which can adapt to most of my needs (of course not all). I have used onenote for years, remnote for 6-12 months, experimented with obsidian, logseq, tana, anytype, kosmik. None of them could make me happy while using them except tiddlywiki (because I like the UX of TW more). This is for desktop use.
In mobile, using TW is not that easy. I am planning to add some quick capture tiddlers for rapid entry of data in mobile. Since the big release of 5.3.0 version is over, I think one of the future versions of TW should focus on mobile UI and UX.
Google Keep and Apple notes are very convenient options for rapid data entry in mobile and to it sync seamlessly to the desktop.
In android, I also use RCX which works very well, especially for using local media files.
Mine also. I use TW in my free time, and it’s fun to fiddle with it (sometimes frustrating also when I am unable to get the desired result after working for long hours)
I have recently added TWOutlier in my wiki. But I use fields more than tags for storing data in my current workflow. That’s why I created this post. But it may be difficult to implement using fields and fields won’t allow for nesting unlike tags. May be I will have to start using tags more.
That screenshot you shared is not clear. What were you demonstrating?
To me using tiddlywiki mearly as a note book is ignoring its capability as a platform tool and I am not supprised “Riz aka ibnishak” found dropping in and out of tiddlywiki frustrating. Personaly I have embraced it, so I dont face the pattern he does. Because I dont follow that pattern the other issues he raises are not big problems for me.
I do support his critisisum of https://links.tiddlywiki.com/ and when I tried to constructivly critisise it I got a lot of “pushback”. I dont know how anyone can concider it finished, it is one of the worst wikis I have seen, even if it has some good features.
Perhaps the difference with me is I am here for the long hall, because I belive both in its current possibilities and those just around the corner.
Well, fields don’t naturally nest. Tags can nest out of the box. Possibly you’re thinking of some other way of specifying the relationship between tiddlers. I’ve been thinking about that a lot lately, mostly in terms of links. In the end, there’s no reason in TW not to use tags, other than “tag space” becomes polluted with structural tags. But if you have a system that allows you to hide structural tags, then that is no longer a problem.
In other systems, like Obsidian, tags are just a special form of keyword.
May be I will have to start using tags more.
It’s a 10,000 foot view of the project. Guess I should have made it a little more detailed. Basically you can make your TOC structure right as you work. But there’s also a way to break out of the TOC so you can navigate tiddlers one-by-one (better for mobile).
Data entry with any app is difficult for me. So I don’t take notes extensively that way, often using Simple Notes, Keep etc. for actual brief notes. But with the right navigation tweaks (font size, zoom mode, navigation buttons), TW becomes a good tool for reviewing existing material. I’ve put the tools for those tweaks into the sidebar to make the changes easy.
I just skimmed through that thread…can fields be used in a similar manner in TWOutlier ?
Check the home page of this wiki. I have created a dashboard for quick review and entry in mobile. It is still a work in progress.
You might be able to use the “sort” field as a backdoor to filter the text. Keep in mind that the sort field wants a filter operator, not a filter expression as input.
That looks very nice! I notice that the modal has a fair bit of margin. I’m wondering if that is inconvenient on a phone screen. It certainly looked nice on a tablet.
Inability to scale.
Interesting. I used to use a tree-type note taker for 20+ years. I had about 200 “nodes” in that program, each node corresponds to 1 tiddler. Then I found Tiddlywiki. I take notes about many programming languages and tools I have to use, and dozens of projects I work on over the years. So I would have 100-200 tiddlers. I don’t think I would need 30,000 tiddlers. TW works for my use case, so that’s why I use it.
The TW search facility is much better than in my other note taking app. The first tiddlers it lists are the ones that match the title of the tiddler, which I like.
The problem with the tree-type note taker is it had to be recompiled to keep up with 64-bit architecture, and support had stopped years before 64 bit compilers existed. With TW it works in any browser. So I don’t have to worry about TW becoming obsolete.
Also:
- It’s not that hard to upgrade TW when needed.
- It supports the Markdown plugin which I like.
- I don’t think TW won’t have to be recompiled if we get to 128 bit architecture.
Just my rather long three cents regarding the OP. It raises many important issues, which made me rethink if TW is really the best tool to use in my case. But I have come to conclusion that even though it has many problems, I know no better solution in my case. The most important feature of TW that other solutions lack, is its extreme portability. Comparing to the popular Obsidian, I would probably be happy with its smaller set of featuers/hackability, but requiring the installed application and a rather costly sync subscription are a major drawback.
I would add another another issue of TW from my perspective of note taking for personal and work purposes.
- The relative difficulty in storing attachments (images, documents) in TW. It is not feasible in single file TW. Node.js on a server (for online access) is difficult to set up for a non experienced user. In case of an open knowledge wiki, this can be overcome by using links to public resources hosted independently of TW. But in case of private content, well, I can link to my cloud storage where I keep the documents, but then I can’t see it in TW (well maybe some API of e.g. Google Drive would allow it, but it requires work to set up). In Google Keep/ OneNote/ Evernote/ Apple Notes I can just throw a heavy PDF in and not worry about it. If that is a good way of archiving data and documents is another question of course.
And here are some counterarguments to those from link in OP:
I would ask the long-time Tiddlywiki users to stop and consider for a moment if Tiddlywiki is actually aiding expansion of their knowledge, or is it merely satisfying their urge to tinker with stuff.
- Both for me. I surely spend much more time on tweaking it than I need for efficient note taking, but at the same time I am taking proper and useful notes in it. Prior to discovering TW I didn’t take much work-related notes (because I couldn’t find a tool where it would be worth doing) and didn’t pay much attention to organizing personal notes.
Tiddlywiki UI is outdated
- Yes, it does look outdated, I agree. But there is no specific argument made as to what does the current design lack or what it cannot do properly. I presume one of the reasons why no one bothered to change it much, is that it simply works good. There is plenty of popular software, both commercial and free, that has not changed UI much since a long time, take office suites or browsers for example.
Thanks @vilc for you view point. I had a thought when reading this comment.
In some ways this is similtaniously true and false, and it comes about due to the versatility of tiddlywiki.
If you treat tiddlywiki as a platform or compare to a cloud server you can use webdav or node to break the single file model storing media in seperate files. But not using the single file model.
- Note that tiddlyhost is not the above, it is cloud delivered single file wikis.
If you treat tiddlywiki as a single file smart document its has enought capacity if not more, as most single file documents to handle media except perhaps for the most media rich contents. Compare it to word, powerpoint, excel even a combination of these. Like such documents it can be cloned, posted, shared, emailed.
- Quite importiantly you do not need any service to host it and can just have local files, only you access, and all for free.
If we do want to move to the server or cloud platform model, we quickly see a range of divergent solutions, many technical, or with some limitation or other that makes choosing difficult. But for most users the line between “served or single file” is blured, so it is easy to be confused, or make unfair comparisons.
- Do Notion and obsidian etc… run on a single file model, without a server and fees? I dont think so.
Having used TiddlyWiki for more than a decade now and informed by my expierence in Information and Knowledge management, I primarily use a large number of single file wikis and happy with lots of intergration between wikis (I will not detail for brevity).
- I have a large complex Single files wiki that ties everything together which does not include much media.
If I were a “betting man”, I am not, I would think if we could serve TiddlyWiki multifile on PHP or WebDav and permit TiddlerLevel locks (as in Bob) for multi-user, and external files (like upoload plugin) then it would be much easier to set up and deploy scalable internet facing cloud and multi-user team solutions.
- There would be nothing holding TiddlyWiki back.
- Unfortunatly the server side is dominated by Node, which is difficult to get Internet facing, and secure.
- Since beyond a single file wiki there are so many platforms and operating systems etc… involved, the community ends up fractured and divergent and its hard to coral people back towards a somewhat universal hosting solution.
Just my personal perspective, and hopefruly a direction to move.
It’s not that difficult if you can embed media(images,videos and pdf) as local files and reference them using relative path. I use this method using tiddlyclip plug in and save media addon. File upload plug in also might do this.
This is what I do for images.
These local media files load fast and can be accessed in mobile also easily if saved in a cloud storage of choice. Also the wiki can be kept light.
I think it’s totally fair to lean heavily into the tooling. I see the long term fiddling similar to fiddling with emacs, of which I am currently doing. But I think it really depends on how you are using TiddyWiki and where. I have worked at 2 aviation related companies where I leaned hard into using TiddlyWiki to organize stuff related to my job. I don’t work at those companies anymore. But I had very little control over my computing environment and so the idea of being able to take my notes with me in one single file really appeals to me.
The independence of TiddlyWiki in the single file version is really useful if you can’t install anything on your computer, or if you don’t want to store anything outside of your corporate network. The freedom to carry everything in a single HTML file can motivate you to want to use a tool and you adapt your workflows to it.
@Mark_S Some of the items I have kept in those modals overflow beyond the margins of the phone’s display. I should use two separate quick capture tiddlers - one for desktop and other for mobile - which gets automatically displayed depending on the device used.
It’s is good to know that, despite the critical approach to TW, Riz is committed to maintain Timimi, as it’s one of the easiest path to storing your TW locally and the route we follow here after having a public wiki in TiddlyHost.
Regarding Riz’s criticisms I don’t share the starting premise: the idea of wanting to have single TW with everything on it as an stressing point in my use cases. And I found splitting my wikis by topic and audience a powerful knowledge management mechanism (personal private/public, our table role playing group, the data activism grassroots community, my general classes, wiki/hipertext learning, among others).
That being said, I share some of the criticisms. I share the one regarding the default UI feeling kind of old, but that have been addressed in several theme and ui tweaking discussions, so I will address other two.
NodeJS seems overkilling when HTML files are not enough
There are lighter self containd alternatives like TW5-Server. But, part of the JS culture creates this maximalist approaches (if plain JS is not enough, go with the overcomplex framework of the week, headless full browser Electron or huge NodeJS and its dependencies). And while each culture has its caveats and advantages, I think that, as a TW community, we should explore and make more visible more minimalist, non JS nor full blown solutions. With TiddlyWikiPharo we are trying that approach, and because we use Nim for some external optimizations, maybe we’ll use TW5-Server in the future.
Operators/filters knowledge seems too specific and difficult to recontextualize elsewhere
I like the way TW created a continuum that blurs the distinction between user and developer, instead of those high barriers being put in other wiki software, where the jump between being a “content creator” and a “functionality creator” is pretty big. In contrast, in TW you go from formating wiki text, to macros, to filters and extra operators in a mostly pretty fluent way. I have seen that with some of my learners in my classes and workshops.
That being said, the more complex the filters and customizations go, the more you need the particular ways of TW, knowing that they will not be transferable elsewhere which, at least in my case, make me practice them in pretty constrain settings and do most of my data manipulation in Pharo (as shown in the data stories about migrations from Hugo and from Wordpress to TW).
What I would like is to be able to extend TW in several languages, once its data has been exposed in JSON. This is the approach we use in TiddlyWikiPharo by parsing (with Nim optimizations) the HTML file, looking for the JSON tiddlers. But something easier should be provided by default, kind of the /tiddlers.json
address provided by TiddlyHost, if we want an easier cross-language extension mechanism that doesn’t require a full NodeJS server behind to work, but it is provided by the default HTML single file (because it already knows how to store and read itself as JSON).
Exposing the JSON storage as a easy prepackaged default will open possibilities to use TW not only from external languages and frameworks beyond JS/NodeJS (as we do with Pharo and Nim), but also from “internal” ones, which would create more extension mechanisms to traverse/blur the gap between content and functionality creators.
For example, I imagine adding a Fengari plugin included in some stand alone version of TW that makes TW extensible from Lua using some kind of Lua powered domain specific language (DSL) for tiddlers’ querying, composing, building and styling. The language can be similar to the one used in Typst “hashtag” functions but using Lua tables/functions to query and compose tiddlers. So a functionality like the one in this filter, could be expressed in an imaginary Lua DSL:
--||
all()
|> select()
|> taggedAs("member")
|> ramdomized()
|> styled("MemberTemplate")
--|
The user would loose the compactness of <$list filter="[tag[member]choose-random:all[]]">
of the initial tiddler example, in this imaginary Lua DSL (influenced by Elixir’s pipe operator). But, by using functions to compose a tiddler’s query, randomize its result and injecting that into view, s/he would gain exposure to functional programming concepts (listed below), while keeping them simple in an easy to learn language. In this way, the usage of alter filters outside TiddlyWiki is high, as it is bringing back knowledge outside of web programming (e.g. from the diverse Lua ecosystem) into TW.
For example, in the previous code, the all() |> select ()
could be replaced by selectAll()
, which would be defined in some “Lua tiddler macro” as something like:
function select(reach)
if reach == "all" then
return selectAll()
end
-- ... other selection cases follow
end
function selectAll()
return select(all())
end
And so, filters could be an example of DSLs, pipe operators and functions, function composition and a bridge to the Lua language, that would have a gentle learning curve, as we do with TW operators today, but with more reusability potential.
Of course, this is easier said than done and there is a long path ahead to follow this, including parser changes to support other languages and DSLs. But this could be easily started by improving the exposing of the JSON storage.
As a working conclusion…
While TW’s criticisms and their validity depend on the context where they arise and despite TW providing a fluent experience when is “used as intended” (and its many intended uses behind), it is easily stressed when is not: large wikis, complex theming, non JS or Node. Some of the criticisms can be addressed, kind of swiftly, by exposing TW storage internals so more languages and frameworks, avoiding the incidental current complexity and lack of recontextualization that is behind many of such criticisms.
How to traverse and open the possibilities, as a community, is still an open question, as more experimentation is needed (I’ll do my part by sharing my experiences of extending TW mostly outside of TW).
Ps: The code for the imaginary Lua TiddlyWiki DSL could also be written as the equivalent:
--||
taggedAs("member")
|> ramdomized()
|> styled("MemberTemplate")
--|
which shows that once a sound extension DSL have been implemented, economy of language and composition becomes easier… of course is even easiest in the plane of imaginary extension DSL and details are in the implementation.
That’s an interesting point. It is so from my perspective, when I think about it. I have basic knowledge of some scripting languages and html/css, so I think I can manage my TW better than “an average Joe” (but rather not better than “an average TW user”, as we seem to be a rather technical crowd). But I have no experience in JS or in web hosting and so on, so using an online-accessible TW in Node variant is too much effort for the gains it offers. It would be interesting to have an option “in between”, something more flexible than single html file, but not as difficult to maintain and scary for newbies as Node. Maybe it would be easier to implement in services such as Tiddlyhost as well. But as you said, it probably would require quite a lot of development work, that may be better to invest in other improvements.
In that case, TW5-Server, listed above, seems a good alternative to NodeJS and it has parallel implementations in two easy to learn languages: Nim and Python. You just download and run a script or binary.
Probably, we are going to explore the Nim implementation in detail in the future, as we would like to have self hosted wikis, while avoiding the incidental complexity of NodeJS.
Add some pro/con in Obsidian vs Tiddlywiki compare site?
Why not add pro/con here?
Those websites has better SEO than our forum, post things there will better introduce tw To new users , other than just sharing information Between us who already know lots about tw.
I just searched for Tiddlywiki as a note taking tool - Positive and negative
in Google and got this 10day old conversation.