Introducing TiddlyDesktop

1,997 views
Skip to first unread message

Jeremy Ruston

unread,
Jan 13, 2014, 3:45:22 PM1/13/14
to TiddlyWiki
A belated announcement about TiddlyDesktop, a new cross-platform custom desktop application for working with TiddlyWiki. It currently works on Mac OS X and Windows with Linux coming soon.

It's made with node-webkit, an opensource toolkit from Intel that melds the Chromium open source web browser with Node.js, to give the mindbending property of web pages that can call Node.js APIs from JavaScript. It's great fun to work with; it feels like it multiplies the two familiar capabilities of Node.js and the browser, giving much more power than either on their own. Anyhow, my excitement over the internals is probably best discussed over on the tiddlywikidev group.

The motivation for doing TiddlyDesktop is that it gives us a chance to create a TiddlyWiki experience that we can fully control, without any browser restrictions getting in the way. I believe it will become a critical leg of the TiddlyWiki ecosystem.

In the first release, TiddlyDesktop has the following features:

* A main window showing a list of registered tiddlywiki files
* A browse button for adding new files
* An "open" button for each file that opens it in a new window
* A "remove" button that removes a TiddlyWiki from the list
* Changes can be saved in TiddlyWiki in the usual way with the save/download icon
* When quitting and reopening the app, any open TiddlyWiki windows are reopened

In the future:

* Implementing the "clone" button to make copies of TiddlyWikis
* Add a "empty clone" button that makes an empty copy of a TiddlyWiki (ie, with all system tiddlers, but the ordinary tiddlers removed)
* Allowing template tiddlywikis to be loaded up as http:// or file:// URIs, so one can immediately create a new wiki based on http://tiddlywiki.com/empty.html
* Preserve window positions across quit/startup
* Drag and drop to add TiddlyWiki files to the main window
* Autosave
* Protection against closing the window without unsaved changes
* Support for opening a wiki as a small borderless, always on top window for displaying reminders
* Exploring other OS integration opportunities, such as desktop alerts, or integration with OS X system services menu

A very exciting possibility is to make it possible to directly open a wiki that is stored as a wiki folder with individual tiddler files (at the moment it is only possible to work with these wikis under Node.js).

There is a screencast showing how it works on both Mac and Windows here:


You can download TiddlyDesktop from GitHub:


Obviously, please take care before using it for anything critical. It's extremely early days.

Any questions or comments welcome,

Best wishes

Jeremy

--
Jeremy Ruston
mailto:jeremy...@gmail.com

Ton Gerner

unread,
Jan 14, 2014, 5:03:13 AM1/14/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
Hi Jeremy,

Awesome!

I did already experiment with the earlier announced "single" TW version, but this much better.
As I already said during the last hangout, I like this idea very much: independent of your standard browser and a very 'clean' interface; just the TW.

It reminds me of the - now discontinued - Mozilla Prism project with which I experimented a few years ago to make "desktop apps".
(Even renaming *.html to *.hta makes a separate IE instance with 'clean' interface).
In both ways I made (classic) TW "apps" for other people.

Cheers,

Ton

Stephan Hradek

unread,
Jan 14, 2014, 5:34:40 AM1/14/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
I thought the big advantage of TW is that it is not required to install anything on the computer in order to be able to use TW.

I hope this will stay the main focus of TW: Be just dependant on a browser to be installed. Even if it might be a bit clumsy to use when you can't install e.g. TiddlyFox.

I hope TiddlyDesktop won't become the main taget for TiddlyWiki.

Jeremy Ruston

unread,
Jan 14, 2014, 5:49:14 AM1/14/14
to Stephan Hradek, TiddlyWiki
TiddlyDesktop, and TiddlyFox for that matter, are about strengthening the ecosystem of tools around TiddlyWiki to make it more useful. There's no question that the single file cross-browser form of TiddlyWiki is the most important thing about it. What I did with Node.js support in the first place was part of this same strategy.

Those with long memories will remember me talking back in early 2012 about node-webkit and an earlier project called App.js; all the Node.js code in TW5 was written on the assumption that it will be running the browser some day.

Best wishes

Jeremy

PMario

unread,
Jan 14, 2014, 7:03:33 AM1/14/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
On Monday, January 13, 2014 9:45:22 PM UTC+1, Jeremy Ruston wrote:
A belated announcement about TiddlyDesktop, a new cross-platform custom desktop application for working with TiddlyWiki. It currently works on Mac OS X and Windows with Linux coming soon.

\o/ great stuff!
well done!

- mario

Leo Staley

unread,
Jan 16, 2014, 2:51:57 AM1/16/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
Hey Jeremy

Not to be a Negative Nancy, but I'd like to voice some of my concerns. While this sounds really nifty, I'm scared that it will take away from development on the core, cross-platform, cross-browser Tiddlywiki functionality that is currently going on. Wouldn't it be better to wait to work on this until Tiddlywiki5 is mature?

See, I'm pretty excited as I begin to see the things that TWC can do with all these plugins, even though I don't yet know how to do them, but I would really love to jump on board with TW5 as soon as it can do all that stuff too. But, it sounds like development on a whole new product like a desktop application will only slow that process down. I'd hate for TW5 to become like my experiences with Linux- Full of potential, and used to great potential by die-hards, but opaque to novices. It's kinda like that right now, but It looks like that could change with TW5. A short lament: It saddens me that the most brilliant developers and programers I know have so little awareness, try as they might, of what novices want and need; they have forgotten. You seem pretty good at it yourself, I'm just hoping TW5 catches up with you. 

Cheers
Leo

Jeremy Ruston

unread,
Jan 16, 2014, 3:55:31 AM1/16/14
to Leo Staley, TiddlyWiki
Hi Leo

The primary answer to your concerns is here:


You can see there that it took me less than three days to create the first version of TiddlyDesktop. You're perhaps perceiving it as some kind of massive replacement for TiddlyWiki, but it's really a tiny thing, and it extends rather than replacing TiddlyWiki.

1) node-webkit brings together the browser with Node.js. These are the two environments in which TW5 already runs. So there's nothing new; it's just the combination of existing things
2) TiddlyDesktop doesn't change TiddlyWiki at all. It embeds TiddlyWiki's in a browser window, and gives them the same capabilities as TiddlyFox. Just a tiny bit of code to deal with file saving
3) I've stated here repeatedly that the single file nature of TiddlyWiki is the crux of it's identity. TiddlyDesktop is part of strengthening the opportunities that TiddlyWiki gains from taking that form
4) TiddlyDesktop maintains TiddlyWiki's cross-platform nature. The TiddlyWiki's that one works with are still entirely cross-platform, it's just the TiddlyDesktop app that has to be provided for each platform (but that's easy, because the node-webkit project has done all the work)

The reason for proving the concept of TiddlyDesktop now is that I need to ensure that I understand what it can do, so that I make sure that TiddlyWiki5's development continues to reflect the capabilities and opportunities of our extended ecosystem. TiddlyWiki now runs on quite a lot of different platforms:

- plain browsers
- TiddlyFox
- TiddlyDesktop
- TWEdit on iPad/iPhone
- AndTidWiki on Android
- TiddlySpot
- TiddlySpace/TiddlyWeb

That rich ecosystem is incredibly powerful for users. It gives you a broad range of capabilities that can be used in flexible combinations. Imagine what the world of TiddlyWiki would have been like if back in August 2012 I'd decided not to take 3 days off TiddlyWiki5 to write the first version of TiddlyFox.

Best wishes

Jeremy



Andrew Lister

unread,
Jan 16, 2014, 6:14:03 AM1/16/14
to tiddl...@googlegroups.com, Leo Staley, jeremy...@gmail.com
Is this the case - that under node.js you can run only one tiddlywiki at a time, whereas using TiddlyDesktop you can have several open at once?  Or at least it's much easier to switch between different TW, in TiddlyDesktop, since you don't have to restart node.js from a different directory.


Andrew Lister

unread,
Jan 16, 2014, 6:32:22 AM1/16/14
to tiddl...@googlegroups.com, Leo Staley, jeremy...@gmail.com
Just found this earlier thread about multiple TWs under node.js


which has this instruction:

"Copy serve.sh to serve-mynewwiki.sh and change "editions/clientserver" to "editions/MyNewWiki" and change the port to another (unused) port, e.g. 8090."

Is that still relevant, with the latest update?  Or do I only need to launch the new instance with:  "tiddlywiki --server port:8090"?

Jeremy Ruston

unread,
Jan 16, 2014, 6:32:26 AM1/16/14
to Andrew Lister, TiddlyWiki, Leo Staley
On Thu, Jan 16, 2014 at 11:14 AM, Andrew Lister <andrew...@gmail.com> wrote:
Is this the case - that under node.js you can run only one tiddlywiki at a time, whereas using TiddlyDesktop you can have several open at once?  Or at least it's much easier to switch between different TW, in TiddlyDesktop, since you don't have to restart node.js from a different directory.

You can run multiple tiddlywiki's under Node.js by opening up another terminal window and starting TiddlyWiki under a different port than the existing instance.

TiddlyDesktop right now lets you open multiple single file tiddlywiki documents. I've not yet implemented the support for wiki folders. TiddlyDesktop, or rather node-webkit, on which it is based, is equivalent to a single instance of node.js, so out of the box it can't run multiple Node.js tiddlywikis either (worse, only one instance of the app can run at a time). But the approach I'm taking is to host the ordinary browser edition in a sandbox, injecting interfaces to the global node.js code needed for the file system access, so we will end up being able to run multiple wiki-folder-based TiddlyWikis within TiddlyDesktop.

Best wishes

Jeremy

 

Jeremy Ruston

unread,
Jan 16, 2014, 6:33:30 AM1/16/14
to Andrew Lister, TiddlyWiki, Leo Staley
"Copy serve.sh to serve-mynewwiki.sh and change "editions/clientserver" to "editions/MyNewWiki" and change the port to another (unused) port, e.g. 8090."

 

Is that still relevant, with the latest update?  Or do I only need to launch the new instance with:  "tiddlywiki --server port:8090"?


Exactly that, yes. You can ignore the part about serve.sh; just start up your second TiddlyWiki instance in the usual way, but with a different port.

Andrew Lister

unread,
Jan 16, 2014, 6:48:42 AM1/16/14
to tiddl...@googlegroups.com, Andrew Lister, Leo Staley, jeremy...@gmail.com
Thanks, got multiples working once I figured out that the command was: 

tiddlywiki --server 8090 

rather than : 

tiddlywiki --server port:8090 

Jeremy Ruston

unread,
Jan 16, 2014, 6:49:42 AM1/16/14
to Andrew Lister, TiddlyWiki, Leo Staley
Ah, sorry, I misread that in your post.

Best wishes

Jeremy
 

Richard Hopkins-Lutz

unread,
Mar 14, 2014, 12:08:47 PM3/14/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
This is seriously brilliant, since I don't tend to use Firefox anywhere. Works beautifully with tiddlywiki 5 so far

Matthew DeAbreu

unread,
Mar 17, 2014, 12:15:21 AM3/17/14
to tiddl...@googlegroups.com, TiddlyWiki, jeremy...@gmail.com
One unfortunate thing I've noticed is that on my mac (Macbook Pro 13.3" 1280x800) whenever I open a TiddlyWiki from the main menu a new window is created and the top bar is actually above the screen and so I am unable to access the minimize, maximize, and close buttons; nor am I able to easily move the window. While not a huge problem it does get kind of annoying.

Thank you for all the great work on TiddlyWiki!

Jeremy Ruston

unread,
Mar 18, 2014, 5:42:56 PM3/18/14
to Matthew DeAbreu, TiddlyWiki
Hi Matthew

the top bar is actually above the screen and so I am unable to access the minimize, maximize, and close buttons

Thanks, I've created a ticket here:


Best wishes

Jeremy.

Reply all
Reply to author
Forward
0 new messages