
Beaker 1.0 Beta – a peer-to-peer Web browser - pfraze
https://beakerbrowser.com/2020/05/14/beaker-1-0-beta.html
======
pfraze
This new version of Beaker took over a year to get done and is basically a
ground-up rewrite. Team is here to answer any questions.

~~~
state
Congratulations on the progress and getting this out the door! It's very
exciting to see significant work on Beaker. I look forward to playing with it.

~~~
pfraze
Thanks! Let us know how it goes

------
sylvain_kerkour
I've been following the Dat story for a few months, Congrats!

What do you consider to be THE killer feature(s) of Dat over the classic web?
instant Publishing? Resilience?

~~~
pfraze
Personally I think it's the hackability. Data is disconnected from apps (in
your personal drives) and shared between applications. Hyperdrives are also
forkable.

Beaker currently pushes people to create personal sites and build social
applications around that. I think a very open social/identity system is just
very cool.

There are also some things that are much easier than they normally are - for
instance, you can setup a webrtc call using PeerSockets, so you don't need to
setup a server to do that. The "zero devops" story is pretty nice.

~~~
sylvain_kerkour
So if I understand right: Hyperdrive (formerly Dat) is the "p2p platform" and
beaker a client which uses hyperdrive to publish and browse archives and
websites?

If I want to build an app using this, when should I choose hypercore and when
should I choose hyperdrive?

~~~
pfraze
Currently Beaker only has Web APIs for Hyperdrive, but we're going to add
Hypercore APIs

Hypercore is lower-level - it's basically an append-only log. There have been
some projects that use it directly such as Kappa-core [1]. You might want it
particularly for CRDT work, but generally I think you can use the filesystem
to do pretty much anything, and that has the benefit of a regular data-form
that can be explored using the terminal and files explorer and browser and
etc.

[1] [https://github.com/kappa-db/kappa-core](https://github.com/kappa-
db/kappa-core)

~~~
sylvain_kerkour
Ack, thanks!

------
shervinafshar
To someone unfamiliar with p2p web core concepts (Hyperdrive, etc.) an "About"
page would be helpful.

~~~
pfraze
Yeah so Beaker uses a peer-to-peer filesystem called Hyperdrive to share
websites. It works a lot like BitTorrent in that it shares bandwidth. Every
drive has a public key and the data is signed in a log.

Since the Hyperdrive FS is read/writable from the browser, you can use web
apis and in-browser tooling to work on the files. This even makes it possible
to write applications by publishing posts/comments/votes/etc as files in the
user's personal hyperdrives.

By default, every user creates a personal drive to act as their identity. We
use that to act as a kind of social network, where the site is both their
identity and their public data locker. The "twitter clone" is called Blahbity-
blog, and it's very simple: it just reads the files you write to /microblog
and merges that into a feed ordered by ctime. Typically you publish .md files
but it can be anything, including .html (which runs in an iframe).

The p2p network uses a DHT
([https://en.wikipedia.org/wiki/DHT](https://en.wikipedia.org/wiki/DHT)) with
builtin hole-punching
([https://en.wikipedia.org/wiki/Hole_punching_(networking)](https://en.wikipedia.org/wiki/Hole_punching_\(networking\)))
to connect people's devices. You can also send messages between peers using
that network with an API called PeerSockets.

~~~
shervinafshar
Thank you. Appreciate the info.

------
0x006A
Has anyone build a forum on top of dat? Thinking of posting text but also
images... or something like hn

