[TW5] Impressions thus far (and TW on node.js on Android)

679 views
Skip to first unread message

oveek

unread,
Mar 5, 2014, 7:55:43 PM3/5/14
to tiddl...@googlegroups.com
The main thing I'd like to say for the sake of general feedback is I am really liking TiddlyWiki5, and am very excited by what I'm seeing.

I've been a long time user and fan of TiddlyWiki (classic), TiddlyWeb, and TiddlySpace. Here are some thoughts from my recent use of TiddlyWiki5:

The TiddlyWiki5 interface is, to me, a huge improvement. I think it looks great, and is very functional from an UI perspective. While I've always loved TiddlyWiki, I was never fully satisfied with the default appearance and layout of TiddlyWiki classic, and felt compelled to tweak the base appearance and layout. With TiddlyWiki5 I feel like I can pretty much just dive in and use it from the get go (and present it to other people)–the default theme, layout, text styles, etc., are clean and attractive.

Elements of the UI that I'm appreciating from a workflow and usage point of view:
  • The "Open" tab: Having the list of open tiddlers makes it easy to jump between multiple tiddlers in the story. While editing one tiddler, I can quickly jump down to refer to another by clicking it in the list in the open tab, and then jump back to the one I was editing.
  • TagsAdding multiple tags to tiddlers is quick and easy with the filterable tag list. They also look good, and the ability to easily give them a color is very nice.
  • SearchThe immediate search-as-you-type function of the search box makes finding a tiddler a quicker task. The advanced search of Shadow and System tiddlers is a welcome addition that is a big help to tiddly hackers.
  • Control PanelLots of useful information here. The Advanced tab's comprehensive list of modules gives an overview of "what makes the wiki work." All the different types of js modules that provide core functionality and additional features.
  • List widget and tiddler filtersThese clearly provide powerful functionality for creating dynamic self-updating lists of tiddlers (like the task management example). Writing complex lists is a real brain teaser, especially in the beginning while learning the concepts and associated syntax. Combining TiddlerFilters, nested lists, TextReferences and other concepts bring a lot of possibilities to the table.
  • Snapshots: when running as a server side app, this makes it easy to grab a standalone wiki in a single click.
Those are a few of the frontend/UI highlights for me. There are quite a lot more, but I'll leave it at that for the moment. About running as a server side:
  • Node.js / server side:I always prefer to run my wiki using a server side component. I'm a big fan of TiddlyWeb / TiddlySpace so when the TW5 compatibility with TiddlyWeb is fleshed out I may switch to TW5 / TiddlyWeb. That may be my ultimate combination as TiddlyWeb provides robust user management and access controls, multiple storage adapters, and many other features.

    In the interim though, I really like "tiddlywiki node.js app" as the server side component as well, and I see various possibilities for cool functionality here. Having tiddlers stored as flat files is useful. An user on the TiddlyWikiDev group described how he is using git to version control the tiddler files and share the wiki between several machines. I had been thinking along those lines as well, and am now using git to synchronize my wiki between my computer and phone...
  •  Node.js / tiddlywiki on Android: It's kind of amazing to see this working as well as it seems to. I wanted to run TiddlyWiki5 on my phone and be able to sync it with my computer. I think having tiddlers as separate files lends itself better to version control, so that led me to wanting to get node.js running on my phone. I was able to cross compile node.js for ARMv7, copy it to my phone, clone the TiddlyWiki5 git repo onto the phone, clone my wiki instance from my computer, and successfully run that TW5 instance on node.js on a Samsung Galaxy Note II. I haven't tested too much yet, but I opened localhost:8080 in chrome and I was able to browse around the wiki, and create and edit new tiddlers which were saved successfully to the file system. The UI appears to scale and layout nicely to a mobile screen size. The giant screen of the Note II helps too, and makes the wiki surprisingly readable/usable.  

Great work so far, I'm using TW5 daily and loving it.

Oveek

Danielo Rodríguez

unread,
Mar 6, 2014, 7:44:09 PM3/6/14
to tiddl...@googlegroups.com
Holly cr***! I'm really interested in your node.js implementation. How did you compile node JS on your phone? Did you get some kind of executable as a result? Could you describe the process?

Thanks in advance

oveek

unread,
Mar 9, 2014, 8:58:13 PM3/9/14
to tiddl...@googlegroups.com
Hi Danielo,

Yea it's really pretty nifty :) I can pull together more details, but at a high level, to build node.js for my phone what I did is clone the node.js source from github, and use the Android NDK (Native Development Kit) on my desktop computer to cross compile node.js targeted for the ARMv7 instruction set.

The Android NDK includes a script that allows one to create a "standalone cross compiler toolchain". That toolchain can then be used to generate executables that are targeted to run on a different processor architecture than that of the host machine where the compile is being done. The result is an executable that can be run on an ARM processor.

I copied the compiled files over to my phone, and used a terminal application on my phone (provided by a really great Android app called Terminal IDE that provides an amazingly comprehensive suite of Linux utilities, including a shell) to run node.js from the command line.

That's the rough sketch of the process.     

Danielo Rodríguez

unread,
Mar 13, 2014, 4:13:28 AM3/13/14
to tiddl...@googlegroups.com
Thank you very much for your answer.
Does this process require a rooted phone? I didn't see anything that could require root. Just to be sure.

Timothy Sanders

unread,
Oct 18, 2016, 8:41:15 PM10/18/16
to TiddlyWiki
This is fantastic, thank you for posting it.

I'm eager to set up a similar workflow for myself with tw5 and my mobile device and desktop computer.

My needs are that I need to be able to access my wiki without the guarantee of an Internet connection on my mobile device, and also, I would really need to be able to use git to track changes between multiple instances of my wiki.
I was thinking of using this:
https://github.com/simonthum/git-sync

And having a bare repo that my devices sync to, where each device has a unique git username. Since I'm the only one using it, it's unlikely to be out of sync, but if it does have a conflict, the daemon stops, and can signal me that I need to merge changes. I could even do it completely within tw5. The git-sync daemon could add its sync logs to the wiki, and add tiddler if it exits on failure. It could even be possible to merge within tw5. And I could have the most recent sync log in a .tid that is ignored, until after the sync succeeds or fails.

Xavier Cazin

unread,
Oct 21, 2016, 3:32:10 PM10/21/16
to tiddl...@googlegroups.com

Hi Timothy,

You really should try the Termux open source app : this is both a full Linux box and a terminal, so you get node.js, git, etc... for the same price (free).

You can then do things like serving your wikis to a browser running on the localhost or even to browsers running on other hosts in your local network (provided that you set the host parameter to 0.0.0.0 when running the --server TW5 command). Just as they were served from a standard computer, actually.

Cheers,

Xavier.


-- Xavier Cazin


--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscribe@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b735129d-5996-43c4-9d66-27d9310e9be3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Arlen Beiler

unread,
Oct 22, 2016, 1:09:41 PM10/22/16
to TiddlyWiki
Was just going to mention Termux as well. Also, check out the Hacker Keyboard available in the Play Store. It is a keyboard with all the useful buttons that you need in a terminal. By default it shows up in landscape mode and just displays a regular keyboard in portrait mode. 

On Termux, to install nodejs you just need to run apt install node, or something like that. Also, long press on the screen and tap More... and then help to find a lot of useful information. For Termux, it uses the volume buttons for modifier keys, so check that out in the help as well.

Enjoy!

Reply all
Reply to author
Forward
0 new messages