[TW5/TWC] Interesting new "Beaker Browser" with peer-to-peer hosting

415 views
Skip to first unread message

Jeremy Ruston

unread,
Dec 21, 2016, 6:26:29 AM12/21/16
to TiddlyWikiDev
Beaker Browser (https://beakerbrowser.com) is a very interesting new browser forked from Chromium that adds the ability to serve sites to other browsers over a peer-to-peer network. It seems like a perfect fit for TiddlyWiki.

The browser can host a number of sites, each of which is a bundle of files and folders. They are served on a protocall called “Dat”, where the URLs look like this:


My Beaker Browser will serve that URL to other browsers; other Beaker Browsers can view the site, and fork it.

I’ve made a brief video that demonstrates how to get up and running in the most basic way:


The video doesn’t show an extremely neat feature called “Live Reload” where clients get automatically reloaded when the site changes.

The next step is to use the Dat API to create a saver module for TW5 so that one can edit and save directly. The resulting user experience will be just like TiddlyFox; saving will just work.

If it’s not clear that I’m quite excited, I think this is the distributed TiddlySpot that we’ve been waiting for. The nice simple API would make it a great platform for TWederation, for example:


If you’re interested to try it out, install the software and try the dat: URL I gave above. Create your own site and post the URL here.

Best wishes

Jeremy.


Jeremy Ruston

unread,
Dec 21, 2016, 7:19:48 AM12/21/16
to TiddlyWikiDev
I’ve now created a preliminary Dat file saver that works with Beaker Browser:


A testament to the API, this is by far the shortest of the savers currently supported by the core.

The saver is available in the latest prerelease build at http://tiddlywiki.com/prerelease

So, here are full instructions for getting things up and running with the new saver:

1. Download and install the Beaker Browser from https://beakerbrowser.com/
3. Run Beaker, and if necessary open a tab to beaker:start
4. Click the cloud icon in the left column
5. Click the green “New” button
6. Enter the details of your site
7. Click the link “select them manually” and upload the index.html file you downloaded in (2)
8. View the site by clicking on the link to index.html; it should open in a new tab
9. Try out creating tiddlers, and saving changes

Let me know how you get on,

Best wishes

Jeremy

Jeremy Ruston

unread,
Dec 21, 2016, 7:27:41 AM12/21/16
to TiddlyWikiDev
By the way, sadly, Beaker Browser is macOS only at the moment :(

Jeremy Ruston

unread,
Dec 21, 2016, 8:12:23 AM12/21/16
to TiddlyWikiDev
I’ve made a brief post to Beaker Browser’s mailing list:


Best wishes

Jeremy.

Matthew Lauber

unread,
Dec 21, 2016, 9:03:36 AM12/21/16
to tiddly...@googlegroups.com
I should point out, there are precompiled binaries for OSX only at the moment.  Looking at the github page, instructions for installing from source on linux are available, and only took about 5 minutes for me to get up and running.

PMario

unread,
Dec 21, 2016, 9:42:40 AM12/21/16
to TiddlyWikiDev
On Wednesday, December 21, 2016 at 12:26:29 PM UTC+1, Jeremy Ruston wrote:
The next step is to use the Dat API to create a saver module for TW5 so that one can edit and save directly. The resulting user experience will be just like TiddlyFox; saving will just work.

If it’s not clear that I’m quite excited, I think this is the distributed TiddlySpot that we’ve been waiting for. The nice simple API would make it a great platform for TWederation, for example:

Very interesting indeed!

It seems they are also supporting the IPFS protocol. see: text below video.

More interesting is, that it seems to have full file access api. https://beakerbrowser.com/docs/apis/by-example.html

-m

Jeremy Ruston

unread,
Dec 21, 2016, 9:44:36 AM12/21/16
to tiddly...@googlegroups.com
It’s working really great. The API is super easy to use and cool.

I’m thinking about ways of hosting TiddlyWiki’s with each tiddler as a separate file so that we can do twederation efficiently; the API is fast enough.

Best wishes

Jeremy.

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/faff8750-8336-444e-978d-12647bf55227%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Riz

unread,
Dec 21, 2016, 11:00:32 AM12/21/16
to TiddlyWikiDev

Error while saving:
Dat Saver Error: ProtectedFileNotWritableError


Linux Mint 18 Sarah


Jeremy Ruston

unread,
Dec 21, 2016, 11:01:49 AM12/21/16
to tiddly...@googlegroups.com
Hi Riz

You’ll need to fork the site before you can edit it.

Best wishes

Jeremy

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Paul Frazee

unread,
Dec 21, 2016, 11:10:11 AM12/21/16
to tiddly...@googlegroups.com
Hey, I'm the author of Beaker.

If things are working correctly, an ownership issue would be indicated by a ArchiveNotWritableError. At the moment, a ProtectedFileNotWritableError is thrown if you try to write `/` or `/dat.json`, the latter being a protected manifest file.

Looking at this line, I think it's possible that the pathname wasn't populated because Riz was at /, not /index.html. That would cause the write to attempt to be at '/', resulting in the error.

I'll file an issue to give a more descriptive error for this condition. Jeremy, if you can ensure that index.html is the target, that should resolve this issue.

-prf

On Wed, Dec 21, 2016 at 10:01 AM, Jeremy Ruston <jeremy...@gmail.com> wrote:
Hi Riz

You’ll need to fork the site before you can edit it.

Best wishes

Jeremy
On 21 Dec 2016, at 16:00, Riz <madapeed...@gmail.com> wrote:


Error while saving:
Dat Saver Error: ProtectedFileNotWritableError


Linux Mint 18 Sarah



--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywikidev/n6yUdu2zHWo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Dmitry Sokolov

unread,
Dec 21, 2016, 10:57:50 PM12/21/16
to TiddlyWikiDev
Hi Jeremy,
how would you host/share tiddlers as separate files, please?
Cheers,
Dmitry

Jeremy Ruston

unread,
Dec 22, 2016, 5:18:35 AM12/22/16
to tiddly...@googlegroups.com
Hi Dmitry
how would you host/share tiddlers as separate files, please?

Beaker (and Dat) have the concept of a “site” as a bundle of files and folders. Right now I’m working with a full TiddlyWiki HTML file stored within the site. The plan is to extend things so that we can run TiddlyWiki in a similar way to the Node.js configuration, where each tiddler is (or can be) a separate file.

The advantage with respect to twederation would be that it makes things more efficient: one can request an individual tiddler from a remote site, instead of the entire wiki. Having said that, the way that Dat works means that the entire site syncs to your machine, so there wouldn’t be savings in terms of network traffic.

Best wishes

Jeremy


Jeremy Ruston

unread,
Dec 22, 2016, 5:31:06 AM12/22/16
to TiddlyWikiDev, pfr...@gmail.com
Hi Paul

Hey, I'm the author of Beaker.

Thanks for dropping by, and congratulations again on a fascinating bit of work.

If things are working correctly, an ownership issue would be indicated by a ArchiveNotWritableError. At the moment, a ProtectedFileNotWritableError is thrown if you try to write `/` or `/dat.json`, the latter being a protected manifest file.

Gotcha. So would a reasonable strategy be to do a dat.stat(document.location.split(“#”)[0]), and then if it comes back as a directory, add “/index.html” to the URL?

Many thanks,

Jeremy.

To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Paul Frazee

unread,
Dec 22, 2016, 9:18:56 AM12/22/16
to TiddlyWikiDev, pfr...@gmail.com
Hi Jeremy


Having said that, the way that Dat works means that the entire site syncs to your machine, so there wouldn’t be savings in terms of network traffic.

That's not always the case. By default, you only download individual files. A full file sync only happens if you rehost the site.

Gotcha. So would a reasonable strategy be to do a dat.stat(document.location.split(“#”)[0]), and then if it comes back as a directory, add “/index.html” to the URL?

Yes that would work.

-prf

Jeremy Ruston

unread,
Dec 22, 2016, 9:45:13 AM12/22/16
to tiddly...@googlegroups.com, pfr...@gmail.com
Hi Paul


Having said that, the way that Dat works means that the entire site syncs to your machine, so there wouldn’t be savings in terms of network traffic.

That's not always the case. By default, you only download individual files. A full file sync only happens if you rehost the site.

Thanks for the clarification, that makes a lot of sense; I’ll continue to investigate storing the wiki as individual files.

Gotcha. So would a reasonable strategy be to do a dat.stat(document.location.split(“#”)[0]), and then if it comes back as a directory, add “/index.html” to the URL?

Yes that would work.

Great, many thanks,

Best wishes

Jeremy


-prf

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Dmitry Sokolov

unread,
Dec 22, 2016, 9:23:25 PM12/22/16
to TiddlyWikiDev
Hi Jeremy,

thank you for posting your experience on TiddlyWiki running on the Beaker, added to the list of TiddlyWiki platforms:
http://confocal-manawatu.pbworks.com/w/page/113574373/TiddlyWiki

I hope to write a comparison of the platforms in future.
Is anything else missing from the list?

Cheers,
Dmitry

Dmitry Sokolov

unread,
Dec 23, 2016, 6:34:26 PM12/23/16
to TiddlyWikiDev
Thank you Jeremy and Paul,
this all looks very promising.
I am working on a concept that will be based on the P2P federated wiki, yet to be developed.

I made at attempt towards co-ordinating or work:
http://confocal-manawatu.pbworks.com/w/page/114069763/TiddlyWiki%20Intents%20Map
It looks like we are moving towards implementation of IPFS protocol on TiddlyWiki.
Anything missing from the list of features is to be added later.

Your thoughts?

Cheers,
Dmitry

Mat

unread,
Dec 25, 2016, 5:33:27 AM12/25/16
to TiddlyWikiDev
Jeremy Ruston wrote:
Beaker Browser (https://beakerbrowser.com) is a very interesting new browser forked from Chromium that adds the ability to serve sites to other browsers over a peer-to-peer network. It seems like a perfect fit for TiddlyWiki.


Very interesting. Only Mac so I can't try anything but just to make sure I understand the implications for a TW context; 

- is the dat:// scheme not usable in regular browsers? (I find no public site using it and basically no info on it outside of the Beaker project).
- ...and therefore, would one need special browsers both to admin a TW? ...
- ...and also to visit (merely read) a TW?

<:-)

Jeremy Ruston

unread,
Dec 26, 2016, 3:10:55 AM12/26/16
to tiddly...@googlegroups.com
Very interesting. Only Mac so I can't try anything but just to make sure I understand the implications for a TW context; 

Windows and Linux are coming, apparently.

- is the dat:// scheme not usable in regular browsers? (I find no public site using it and basically no info on it outside of the Beaker project).

No, the dat:// protocol isn't supported in regular browsers.

- ...and therefore, would one need special browsers both to admin a TW? ...

Yes, you need to use Beaker or something else that understands dat://

- ...and also to visit (merely read) a TW?

Yes, dat:// sites cannot be read with a regular browser.

Think of Beaker as being a variant of TiddlyDesktop that allows you to share your wikis with other users without requiring a central server. In other words, it's TiddlyDesktop with server-less federation...

Best wishes

Jeremy


<:-)

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Mat

unread,
Dec 26, 2016, 3:55:02 AM12/26/16
to TiddlyWikiDev
Thanks for clarification!

<:-)

PMario

unread,
Dec 26, 2016, 6:17:31 AM12/26/16
to TiddlyWikiDev
On Sunday, December 25, 2016 at 11:33:27 AM UTC+1, Mat wrote
Very interesting. Only Mac so I can't try anything but just to make sure I understand the implications for a TW context; 

- is the dat:// scheme not usable in regular browsers? (I find no public site using it and basically no info on it outside of the Beaker project).
- ...and therefore, would one need special browsers both to admin a TW? ...
- ...and also to visit (merely read) a TW?
 
As Jeremy points out, the dat:// protocol is not usable with other browsers at the moment. ... But if it gets enough traction that other browsers would loose market share, they may implement it. ... (in the future)

It's beta software atm. The version number is 0.5.x. So imo it's still early enough, to get some of the TW ideas into the project, which will be beneficial for both projects.

-mario

Arlen Beiler

unread,
Dec 26, 2016, 6:52:36 PM12/26/16
to tiddlywikidev
Jeremy, 
I suppose Beaker has your spell checker that everyone wanted in TiddlyDesktop :)

Also, if you do implement a tiddler-based format, would it use the standard data folder format? Or if you need a new format to get authoritative file names, could it possibly be ported back to NodeJS?

I have often thought about doing something like this with the TiddlyWiki Dropbox saver, where it would sync individual files.

Another question, are these site files easily accessible on the file system? Or is this another "Local store"? :)

Also, can you run regular chrome at the same time as this? I guess that might be more of a dev question.

Sounds quite interesting.

Cheers,
-Arlen

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Paul Frazee

unread,
Dec 26, 2016, 7:44:03 PM12/26/16
to tiddly...@googlegroups.com
I can answer some of those Beaker questions

Another question, are these site files easily accessible on the file system? Or is this another "Local store"? :)

It's a local store but that's kind of an open question. We could move the files into an easily-accessible path (eg ~/Dats) though I do lose a little bit of control then. For instance, it might be nice to implement transactional writes that fail if another tab writes the file concurrently, and I won't be able to supply that guard as easily if apps other than Beaker are writing to the files.

That said, we do have some tools for this already. If you watch this screencast you can see the `bkr` command that lets you do checkouts of dat sites to custom folders. We might be able to build on that.

I'm interested to hear what people want/need.

Also, can you run regular chrome at the same time as this? I guess that might be more of a dev question.

Yeah it's a different data directory. No collisions

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywikidev/n6yUdu2zHWo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Dmitry Sokolov

unread,
Dec 26, 2016, 11:51:20 PM12/26/16
to TiddlyWikiDev
Paul,
I think, Beaker is a huge step towards P2P Web.
Thank you for that.

Most of my customers are working under Windows OS with files and folders. Customers appreciate knowing how to backup and synchronise data because that is critical for their business. Introducing "wiki" or anything else is already too much for them. Ideally, the whole system must include no elements to learn.

What I can also to talk about is kinds of information business is based on:
  1. paper documents
  2. electronic documents
  3. ideas / concepts / topics, and
  4. the way of organising all bits and pieces of information, above, for quick access and reuse
What they know is that
  1. paper documents are stored in folders on shelves and retained for certain number of years / months
  2. electronic documents are stored in computers and must be backuped
  3. ideas, etc., are stored personally. Ideas management is a pain and better not to touch it
  4. overall, information management is a nightmare. Don't even talk about that. Just give me a solution

Bottom line:

I can't talk about wikis and wiki stores.
I can talk about ideas
  • stored individually, as single files,
  • can be found as easy as the other (Windows?) files by their titles and
  • opened in future by either MS Word, or by a web browser.
  • All files and folders can be easily synchronised, accessed and restored as soon as needed.
So, these are the frames I am trying to work in.
Your suggestions would be highly appreciated.

Cheers,
Dmitry
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywikidev/n6yUdu2zHWo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywikide...@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.

Paul Frazee

unread,
Dec 27, 2016, 10:59:57 AM12/27/16
to tiddly...@googlegroups.com
Good thoughts, Dmitry. I will keep them in mind

To unsubscribe from this group and all its topics, send an email to tiddlywikidev+unsubscribe@googlegroups.com.

To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
Reply all
Reply to author
Forward
0 new messages