H2G2. Do you think this "App" possible with TiddlyWiki?

In our Fablab, we start a project about an application to learn “how to craft”

The idea is to record DIY transformation methods that makes things becoming new things.
A kind of “minecraft” toolbox, but for real.
principle is to link “resource(s)” to “new resource” through “transformation” (that could be text or video)

A (static) app was made to show it…
https://ipfs.copylaradio.com/ipfs/QmNcNcYRDUFmR1Ey1MAyhzzZRJEi1Dfq8YXRTXq6XZ9n4A/
H2G2

Instead of making with a “central database” (like usual)…
:fork_and_knife:
I wonder if TW could be used as database & app ?
And i am far from being able to answer…

So i ask.

1 Like

I don’t know anything about your Fab domain, but I’ve built a number of wikis that are designed like that: tiddlers that are mostly data, and templates to display them and link them together in various combinations. One recent example, for a chess club at my company, is at http://scott.com/Tiddlywiki/Demo/ClubDemo/v2/, slightly anonymized with fake names and stock photos.

I find this quite useful for relatively small data sets. I don’t know how far it will scale.

That wiki right now has three main data types: Members, Meetings, and Puzzles (the latter broken into two subtypes.) There are 14 non-system tags, nine or ten of which are about content and the others structural, such as TOC-hierarchy tags and TODO.) There are about a dozen main content tiddlers, with text of their own, and then 100 Member tiddlers (many with an associated avatar image tiddler), a dozen Meeting tiddlers (more if I go back to cover prior years), and 231 Puzzle tiddlers – a total of 453 non-system tiddlers.

This is supplemented by 35 custom system tiddlers (templates, stylesheets, macros, editing configurations, and so on) and 28 overridden TW tiddlers.

Altogether, that leads to something slightly over 500 tiddlers. So it’s not tiny, but also not very large.

I have another one that I hope the anonymize and be able to share here that has much more data, around 4500 tiddlers, built the same way, with data tiddlers and templates doing the bulk of the work. So this style is certainly possible, and I think it’s quite powerful. A third example is my periodic pable demo. which started primarily as an attempt to build precisely this sort of wiki, although has morphed into a hybrid with a more traditional wiki.

I don’t use TW much as a personal notebook. For me it’s more of a framework for these sorts of single-file UI/database combinations. I think it works quite well.

To build these, it has helped me to have programming skills to convert external data formats into data tiddlers. I tend to do this in Node, create a JSON file, and drag that into my wiki. As long as I don’t mess with the title structure, I can repeatedly do that until I have the structure just the way I want it, and the import simply overlays the last run. I have also gotten reasonably competent at running batch operations of my data inside the wiki itself – but you can probably do that just as well with Mohammad’s Commander. If you don’t have programming skills to do the sort of data conversion I mention, I’m sure there are people here who can help you figure out other ways to do it.

So yes, not only is this possible, but I find it fun!

Thanks a bunch for your detailed response, Scott! It’s incredibly helpful to hear about your experiences with using TiddlyWiki in such a structured manner. Your examples provide a great insight into how versatile TW can be when it comes to managing data and creating functional applications.

I’m particularly intrigued by the idea of organizing our crafting methods, resources, and transformations as tiddlers within TW. It seems like a neat way to create a dynamic and interactive platform for users to explore various DIY techniques.

Your mention of using programming skills for data conversion is duly noted. While I’m not proficient in programming myself, I’m encouraged to know that there are resources and communities available to assist with such tasks.

I’ll definitely delve deeper into exploring TW’s capabilities for our project, and your insights have given me a lot to think about. Thanks again for sharing your experiences and offering guidance—it’s much appreciated!

https://neal.fun/infinite-craft/

Do you think we could get to this kind of interface ?

PS: I can’t load http://scott.com/Tiddlywiki/Demo/ClubDemo/v2/

Possibly, but it will be far from trivial.

That’s because I typed http://scott.sauyet.com/Tiddlywiki/Demo/ClubDemo/v2/ wrong. Sorry about that.

It is using “nuxt” that needs “nodejs”
I understood that tiddlywiki can load javascript stuff in it’s “$:/” partition
Would it be possible to load such framework over TW default ?
I saw some plugins doing so…

May be we could start more basic.
I wonder how to make a “new ressource” and a “new transformation” from sidebar button? We can use $:/resource and $:/transformation tags along with tiddler “template”?

How would you make tiddler with a “True / False” radio button changing true=yes/no field (that will serve for “wrong method” for such transformation)?

I create a TW for this purpose.
INTRODUCTION
It is equiped with Commander Plugin 2.1.7 — bulk operations on iddlers
And starts with “Howto questions ?”

Anyone can contribute…
Validate your changes with “Publish this wiki to IPNS” button

clic if you want to enroll experiment
  • me

0 voters

Every day, it is backup & chained with yesterday (“blockchained”) in IPFS.
It’s decentralized ID is did:ipns:k51qzi5uqu5dixogb28272m8j36bfs23t82u698e70uxbt2nz43nltw20noouo (it has “no hosting” dependency as any ipfs gateway can give access to it)
It has the possibility to “export json” from programmable selections That can first feed external nuxt App.

By recording TW “self transforming steps”,
It can produce a “movie” that step by step solves “Howtos” showing TW programing from scratch to whatever we achieve… Would you enjoy making it together ?

It’s quite possible to load client-side JavaScript into a TW app. But nodejs is a server-side framework. That’s not really possible.

This doesn’t mean that we can’t achieve the same effect inside TW. We might be able to recreated it or to import the client-side pieces of that nuxt app, but again I say, it’s not trivial.