
Decentralizing the web with Beaker - feross
https://changelog.com/jsparty/42
======
pfraze
A few developments worth sharing:

\- This week we managed to get a performance bump by moving the dat stack into
its own process:
[https://www.youtube.com/watch?v=A1lVBr5BchE&feature=youtu.be](https://www.youtube.com/watch?v=A1lVBr5BchE&feature=youtu.be)

\- We're working on identity and user-filesystem tooling, discussed here:
[https://twitter.com/pfrazee/status/1058830217798660096](https://twitter.com/pfrazee/status/1058830217798660096)

\- We're replacing our discovery network with a new DHT that handles hole-
punching, and that's going to be exposed in a user-to-user messaging called
PeerSockets [https://github.com/beakerbrowser/beaker-
core/pull/6](https://github.com/beakerbrowser/beaker-core/pull/6) This is one
of Maf's top two priorities right now. His other priority is a new version of
the dat data-structure that will improve performance and lay the groundwork
for multiple writers in a dat.

~~~
nil_pointer
Thank you for founding this project. I've been playing around with DAT, and
using it with this the browser seems very promising. Keep up the great work.

------
p4bl0
Anyone knows a good comparison of Day, ZeroNet, and IPFS? Why did Beaker chose
Dat rather than the other two?

I've played with IPFS and ZeroNet (my web page is available on those networks
too), but never with Dat.

~~~
vitovito
My understanding is that Beaker initially supported both Dat and IPFS, but
dropped IPFS in favor of Dat for a variety of reasons, some of which were
discussed in this other HN post:
[https://news.ycombinator.com/item?id=16434057](https://news.ycombinator.com/item?id=16434057)

From a user perspective, Dat (and ZeroNet) maps to folders and filesystems
much more coherently than IPFS does. I evaluated a few systems for a single
use case in this Twitter thread:
[https://twitter.com/vitor_io/status/1019271473771569153](https://twitter.com/vitor_io/status/1019271473771569153)

~~~
p4bl0
> From a user perspective, Dat (and ZeroNet) maps to folders and filesystems
> much more coherently than IPFS does.

How so? Once you have the hash of a folder in IPFS you can access its files
and subfolders using the classic slash notation.

Take for example my web page at /ipns/pablo.rauzy.name, the structure under
that folder is exactly the same as it is on the classical web version of my
web page, and is accessed in the same way.

~~~
vitovito
Access it, yes, but you can't update it. Dat and ZeroNet both let you maintain
a single hash with dynamic contents.

Your web page points to different hashes over time through IPNS, which is
additional work for a user, and relies on IPNS instead of being part of IPFS
directly.

~~~
p4bl0
Right. It's not possible to have both content based addresses (like IPFS) and
identify based addresses (like ZeroNet, apparently Dat, but also Tor, I2P, and
IPNS).

To me as a user, IPNS additional work isn't much more than sitePublish and
then siteSign in ZeroNet. The first is equivalent to ipfs add, the second to
ipfs name publish.

------
mark_l_watson
Beaker is a nice project for self hosting, local authoring, etc. I have it
installed on a laptop. Off topic, but I saw that they use NativeScript for
portable web/iOS/Android apps - very cool, not seen that before and it goes on
my long list of things to try.

~~~
pfraze
Are we using NativeScript? Not sure what you're referring to here.

------
staltz
When the internet is being mostly used (and increasingly more so) from mobile
phones, why does Beaker focus on desktop? And further, do you think the web
(both old web in conventional browsers and new web in Beaker) is desktop-
first?

(I've been wanting to ask this in person, but so far we haven't met, and I
suppose other readers might think of this question too)

~~~
pfraze
Beaker is fundamentally a builder's tool. Right now, building means
programming, and programming means typing- and typing means the desktop!

I see mobile as primarily a communication platform, while desktop is for
productivity. So, I think we should approach them differently. It's true that
mobile growth is up, but I don't think that means that desktop is dying.
Desktop still has a strong user base. At this point, I almost feel like
desktop is the most neglected. We'll get to mobile when the time is right.

------
fouc
Beaker is a web browser, where the user can make & serve their own website
from within Beaker.

------
explorigin
I like the idea of beaker but I want to store user data at a non-local user-
specified endpoint. A gallery app is a perfect example. You want access to
lots of data but you can't store it all locally in all locations that you want
access to. Ideally the user would be able to specify their datastore rather
than the app supporting specific ones. Blockstack does this but their solution
is DOA for decentralization.

~~~
p4bl0
In ZeroNet you can specify optional files that will be downloaded only if
needed and not by default when loading the website. Maybe Dat allows this too?

~~~
explorigin
Last I checked, ZeroNet didn't allow user-upload to somewhere else in a way
that supports gigabytes. Text-snippits and gifs...sure.

~~~
xf86alsa
You haven't checked for quite a while then :)

ZeroNet has supported movie-sized files and up with it's BigFiles plugin since
early this year. It's effectively done torrent style, downloading chunks from
multiple peers, but working over TCP, with optional Tor support built in.

------
Ne02ptzero
Paul Frazee [00:11:59.05]:

> Yeah, so Mathias was working on that, while I was in the Secure Scuttlebut
> community… And then at one point I decided – well, Electron got to the point
> where I was like, you know what, _I think it’s actually possible to make a
> browser off of Electron_.

What a day we live in, making a browser with browser-code. Who knew?

