Announcing Beaker Browser 0.7
May 26, 2017. @pfrazee
What is Beaker?
Beaker is an experimental browser that uses a peer-to-peer protocol called Dat to run websites without hosts.
1. Anyone can be a server
Beaker uses a peer-to-peer network to distribute the cost of bandwidth and disk space. This makes it affordable for anyone to publish and host applications.
2. Sites run on the user’s device
We call this the “Thick application model.” P2P sites are detached from hosts, and therefore put the data and business logic on the user’s device.
3. User-data is private
Dat sites have to ask permission to contact a remote host, so sites will be encouraged use localStorage and the new APIs in Beaker to manage user data. And, due to Dat’s transport encryption, only people who know the URL of a Dat site can download a site’s files.
This does come with a tradeoff to browsing privacy.
4. Sites are open-source
Dat sites include all the files they need to run the application, and Beaker can run them, making them defacto open-source (though a license is still a good idea). Beaker has a “Fork this site” button built into the context menu.
5. No blockchains
We are skeptical of blockchains and don’t plan to include one in Beaker. We don’t believe the decentralization of the Web requires global consensus. Instead, we believe in distributing data authority.
Finally, a p2p website for my cat.
What’s new in 0.7?
Here’s a quick list:
- The Dat protocol has gotten faster and more featured.
- Building Dat sites is now much easier.
- The browser UI is 15.73% less ugly.
- There’s a new DatArchive Web API.
- Basic peer swarm analytics (how many peers, last hour graph).
- Native support for markdown sites.
What happened to the builtin editor?
We had, for a period, a builtin editor in Beaker’s 0.7 pre-release. It used Microsoft’s excellent Monaco editor to let you edit source on a site you visit – which is still a cool idea, but:
We pretty quickly realized that an editor is useless for web development if you don’t have build tooling, and porting build tooling to work inside Beaker is a big process.
Editors take an enormous amount of work to do well, and we were really unsure we ourselves would use our own editor. Tara and I boh love Sublime.
Both are big issues, but point 1 is a deal-breaker. I can’t get anything done without npm these days.
So, we scrapped the builtin editor and instead came up with the staging area, plus a simple “View source” tool to review a Dat site prior to actually forking it. We think this works a lot better, and we hope y’all agree.
Head over to beakerbrowser.com and give 0.7 a try.