Bringing TiddlyDesktop’s features to more platforms

Hello community, developpers and @jeremyruston in particular,
I am working with TW most of the time with browser and server, but I have come to the belief that TW would need a transplatform app with the possibility to collaborate to gain more popularity among a less tekki public. Some time ago a came across ssb and manyver.se and made a post on this topic in the forum. Since then I made some efforts to understand how this works and whether this could be compatible. So now I want to ask you, what you think of this idea.

Would it be possible to replace nw.js with another node.js framework to create a tiddlywiki-app for all plattforms? And would you support such an attempt?
I stumbled into a short conversation with André Staltz, the creator of manyverse which is an app for SSB secure scuttlebutt which is present on all plattforms.

Scuttlebutt/Manyverse and Tiddlywiki/Tiddlydesktop seem to have a lot in common - both depend on json and node.js - and I thought a fusion could be a great tool for offline-editing and syncronization of TW between different devices and for collaborating.

Staltz just published a node.js (-framework?) for mobile devices GitHub - nodejs-mobile/nodejs-mobile: Full-fledged Node.js on Android and iOS and and a tool to compile node.js native apps for this GitHub - staltz/prebuild-for-nodejs-mobile: CLI tool to compile node.js native modules for mobile.

I think it would be a great leap forward for TW if there was a synchronizing trans-plattform app to work with tw with the possibility of collaboration. And it could be a great enhancement for Manyverse which so far lacks the features of working with the content that Tiddlywiki provides.

If you think this is possible and support this, I would propose to André Staltz to make a fork of Manyverse that includes TiddlyDesktop.

Best wishes Jan

P.S.:There is a very practical Video-Walk through the code of manyverse Manyverse codebase walkthrough (2020-03) - YouTube

1 Like

Thank you @JanJo – I have been seeing more and more about the Scuttlebutt protocol over the last few months. Unlike the ActivityPub protocol that underpins Mastodon (and other “fediverse” implementations), Scuttlebutt is appealing to me because it is genuinely peer-to-peer and decentralised. Gossip protocols seem a natural fit for sharing tiddlers. Having said that, I know that there are usability challenges with the way that messages are cannot be edited or deleted after they are sent, which means that from a user perspective it is more like email than publishing on the web.

I wasn’t aware of the Manyverse app. It certainly looks like it might be a platform that could support TiddlyWiki in an interesting and powerful way. The challenge is that even to assess the possibilities requires a fairly deep understanding of Manyverse and how it is architected.

The background context is that I am always looking out for a better alternative to nw.js as the platform for TiddlyDesktop. The biggest shortcomings of nw.js in my view are that there is no pathway to providing a mobile app, and that it doesn’t have an integrated, straightforward cross platform installer for the operating systems that it does support.

It seems that there are at least two scenarios of interest:

  • Just reusing Manyverse’s cross-platform Node.js app infrastructure as an alternative to TiddlyDesktop
  • Treating TiddlyWiki as some sort of plugin within Manyverse so that TiddlyWiki can use the Scuttlebutt protocol to exchange messages

I think there’s quite a lot of work here, and so perhaps we’d need to find a developer who wants to lead the effort. I’d be happy to provide support on the TiddlyWiki side.

1 Like

Hi Jeremy, the scuttlebutt-community is aware of the problems of the protocol to delete messages and Staltz is developping a protocol called minibutt to cure this - partly by beeing faster to index and scan partly by introducing the concept of metafeeds.
Alas this means the standart exchange format moves away from .json.

This was what I asked in the manyverse developers-Chat. So far they do not have a concept of plugins.So it would rather have to be a fork which perhaps could convince the devs of the possibilities and beauty of TW and Tiddlydesktop.

Very interesting @JanJo, thanks for bringing this to the communities’ attention.

I simply raise the following for consideration while considering these “cross platform” or “architectural design considerations”.

Perhaps for completeness I may point out another part of the question when making a “local application” for TiddlyWiki (Implied with TiddlyDesktop), which presents both advantages, disadvantages and design issues;

  • A local app can be given additional permissions and do more locally, by not being “seen through the security of a ‘general’ browser”.
    • One of the key advantages of TiddlyDesktop
  • Modern browsers are so feature rich that when a TiddlyWiki is “seen through the security of a ‘general’ browser” we gain access to many tools, features, add-ons etc…
    • A disadvantage of a local application such as TiddlyDesktop (with its minimal browser)

The common alternative approach’s so far has being to;

  • embed the TiddlyWiki in an application OR
  • “Serve” the TiddlyWiki from the local device and access it through

Unfortunately mobile vs desktop platforms and devices have differing possibilities and security relating to these approaches.

Because this thread is dedicated to using manyverse and nodejs-mobile as a framework for bringing tiddlydesktop to all plattforms, I posted another video/website which deals with solutions for the challenges to use ssb for serving TW mentioned by @jeremyruston in the thread dedicated to using ssb as a backendless backend I started some time ago. It is interesting to keep in mind that manyverse is could not only furnish a plattform that could bring TW even to mobile devices, but also a protocoll to sync and collaborate - and that the focus of the development of ssb seems to shift to that direction.

1 Like

I am discovering that thread… I was a SSB enthusiastic user, I liked the data replication mechanism.
But by defining 8MB “tiddlers”, this was to short for “multimedia sharing” and too big for full range replication happening when you become friend with “Big” SSB old users or large PUB !

This is why, I’ve reproduced SSB protocol with TW over IPFS. This is then fully decentralized and by more tweak-able.

In order to catch the “friendship relations”, no “PUB” is used but Gchange.fr user accounts (using same key as TW records with IPNS) delivers star relations activating replications between TW and producing Tag extracted tiddler union and merge.

Other “key” relations are extracted from Duniter.org blockchain and can be extended to any ed25519 keys application ( SSH, PGP, SSB, … ).

Tiddlywiki and the IPFS “Video Wall” Experiment

In order to introduce private sharing, it would need to incorporate an asymmetric cryptographic library as TW Plugin and use private key, import friends and groups public keys to (de)cypher and sign tiddlers from TW to TW’s…

I can make a demo as you wish

1 Like

Hello @papiche,
you mean an implementation of “astrowiki” within the manyverse-Framework which would give the user freedom to sync with the wikis/users he wants? I guess this would be a big hit already because of furnishing a plattform to link wikis across different devices using the advantages of an app like local storage.
… cela serait chouette :wink:

By recording TW through an IPNS key onto IPFS, your TiddlyWiki is Web3 hosted.

You can create your TW on the “demo Station” : https://astroport.copylaradio.com

Astroport_RegisterPage

Then a TiddlyWiki will be created (example : amour@yopmail.com _PASS_ — ♥BOX — Astroport.ONE, Youtube link is specified in that tiddler ).

You’ll receive its link by email… TW can be recorded on the demo station, so you can try it online.

Once you install “Astroport ONE” on your desktop, when you enter the same credentials & email, then the TW will disappear from demo server and be “transferred” on your localhost computer (where record rights are OK).

1 Like