Android app Beta test, TidGi-Mobile v0.2

background

Tiddloid is too slow for my 100~200M+ wiki (size depending on using lazy-image or save-all), each time I save a tiddler, it triggers a save of the whole HTML, which will take 3-5s, and open HTML is longer.

My SHARK KTUS-A0 has Snapdragon 8 Gen 1 CPU and 12G RAM, it still is so slow, maybe the single HTML wiki is not suitable for an all-in-one wiki lover like me.
So I decided to write a mobile TW app that’s lazy-loading, single-tiddler-saving, and can sync to NodeJS wiki like TidGi-Desktop, so I use react native expo, which is stable enough for GPT4 to write most of the code, I just need to debug and refactor the code.

feature and download

So after a week, here is it GitHub - tiddly-gittly/TidGi-Mobile: Local first free note app with powerful plugins from TiddlyWiki ecosystem. Sync to TidGi desktop.
You can download the apk from Github Release.

It is mostly a working demo for using 100kb HTML wiki, and a sync adaptor to lazy load tiddler from SQLite when needed. In this version, features are:

  • “Scan QR to SYNC”: Can scan QRCode on TidGi-Desktop or any NodeJS wiki that has tw-mobile-sync plugin to download wiki to mobile, and cache tiddlers in the SQLite
  • “PREF…”: Configs about wiki, you can delete wikis here, if there are any severe bug…
    • “Sync & Backup” → “Sync To Cloud”: Sync changed tiddlers back to connected TidGi-Desktop or NodeJS wiki

outcome

Now opening a wiki still takes 4s, because tw is building cache from scratch each time (which can be avoided after https://github.com/Jermolene/TiddlyWiki5/pull/7329 is merged). But saving a tiddler cost nearly no time, maybe a 1000x boost!

The code is in MIT license, because I think it was too easy writing this app, it is mostly done by the AI.

If you want to make something interesting too, I encourage you to read the sync-adaptor code and the local backend that read tiddler from SQLite for it

And there are also some technical discussion on Github about this project:

8 Likes

It’s V0.1.0 now, have most of feature I want at the moment, so may stop development until I have other needa or someone find some bugs.

1 Like

Added some screenshots on Readme


How it stores and uses data

When sync from a TidGi-Desktop app:

  1. HTML, contains some of core tw things like $:/boot an
    1. To update tiddlywiki version or those raw HTMLs, yo
      full-resync
  2. SQLite, when adding wiki, we fetch all skinny-tiddlers
    then store them in SQLite DB to speedup booting and save m
  3. JSON, when adding wiki, we fetch all plugins’s full con
    will not be updated
  4. Files, binary files like images are stored as files on

a HTML with all plugins and skinny-tiddlers are store in
And we also sync all tid/md file from your Desktop App to

Later, we use a Sync-Adaptor to only load the file you nee
performance on huge wiki.

Currently only tiddlers in SQLite are synced back to TidGi
JSON is never changed. So if you want to add plugins, you
Desktop, and a full resync from TidGi-Desktop is required.

1 Like