Beaker 1.0 Beta – a peer-to-peer Web browser
beakerbrowser.com
beakerbrowser.com
What do you consider to be THE killer feature(s) of Dat over the classic web? instant Publishing? Resilience?
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.
If I want to build an app using this, when should I choose hypercore and when should I choose hyperdrive?
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.
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) with builtin hole-punching (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.