Summary

This issue is one of those small ones that come when everyone is heads-down working on stuff, but it’s all boring stuff — the ‘sausage making’ that is so crucial to a project’s quality and success, but isn’t all that pleasant to look at. As such, it’ll be a grab bag of things that have been completed recently and things that you can expect soon.

Highlights

  • Holochain updates for developers, grab bag #1
  • Holo and Holochain updates, grab bag #2
  • First episode of Build It!
  • Calling all critics!

Holochain updates for developers, grab bag #1

  • The biggest news is that we consider Holochain RSM ready to start developing on! I don’t mean the API is stable or the code is production ready; I just mean that, if you’ve been developing hApps with Holochain Redux, Holochain RSM is more stable, bug-free, and feature-complete.
  • The core dev team is preparing to create numbered releases for Holochain RSM and its HDK. Once this happens, binaries will be available on crates.io and documentation will be available on docs.rs.
  • The core dev team is also auditing Holonix, our dev tools distribution/environment, to prepare it for Holochain RSM. This involves building Holochain binaries, removing old dev tooling, and adding new dev tooling. If you’re a hApp developer, head to the forum and tell us what you’d like to see in the new Holonix!
  • Tryorama, the Holochain scenario testing toolkit, has been fully refactored for Holochain RSM and is now able to listen to signals emitted by your DNAs.
  • Holochain has a new admin API function that lets you inject peer addresses. This lets you skip the conversation with the bootstrap service, which is especially useful in tests.
  • We’re exploring performance optimisations that rely more on a node’s own cache; this should help hApp devs craft a UX that feels snappy. We’re still working on what that will look like, but it’ll most likely take the form of different flavours of `get` that let you hit the user’s cache only (for super speed), hit the cache before talking to a DHT authority (for super speed and moderate correctness), or always talk to a DHT authority (for correctness).
  • The host API is getting some encryption functions. The first set will let you encrypt public DHT data for decryption by multiple peers. This uses the libsodium secret box algorithm, which means that peers will have to generate and share a key through some other secure channel. This will be followed by the ability to encrypt DHT data for decryption by a single peer. We want to spend some serious thought on this to make it properly secure — not just in principle, but in actual use. That is, we want developers to be able to use the functions without needing to think about whether they’re using them the wrong way and opening up security holes.
  • The developer documentation is being rewritten for Holochain RSM. Our first pass will be to make it ‘not wrong’, which means that any Redux-specific content will be rewritten or removed. (Don’t worry; we’ll move the old stuff to another website that you can still access.) After that, we want to go from ‘not wrong’ to ‘really awesome’:
  • An improved Core Concepts guide with more concise information and a really great illustrated story about those two celebrities of computing, Alice and Bob
  • A new Guidebook, probably centred around the Core Concepts and packed with useful design advice from real-world hApp developers
  • Reference guides for conductor config, the conductor admin API, and Tryorama
  • Wiki-style pattern library and howto collection to replace the ones currently on the forum
  • Contributors welcome! Connect with me on the forum if you’re interested.
  • Members of the developer ecosystem are starting work on a Holochain Gym, a set of guided lessons that not only teach you how to understand and use Holochain, but also how to write really good applications. If you struggled to understand Holochain at first, head over to GitHub and suggest exercises for the gym. (Note: these will probably replace the tutorials that are currently on the developer documentation website.)

Holo and Holochain updates, grab bag #2

  • Currently we’re testing Elemental Chat, the first proof-of-concept app that will be live on Holo Host. So far, we’re delighted with how well everything is working. That’s not to say it’s gone off without a hitch — as with HoloFuel on Holochain Redux, this real-world testing is pushing the fledgling Holochain RSM to get better. This is a phase for catching bugs, strengthening resilience, and improving performance in the networking components of Holochain and Holo, as well as improving Elemental Chat’s UX. So far everything does work, and through close collaboration between the Holo and Holochain teams it works fast, but we want to do better than that for the initial release — we want it to work fast and smooth. Current issues revolve around peers leaving the DHT and not having their data accessible to peers that join later, as well as minor issues like packet size and message timing discrepancies causing broken connections. Refreshingly, most of these bugs have been fairly quick to identify and fix.
  • We’re going to be at FOSDEM next year! If you’ve never heard of FOSDEM, it’s the world’s biggest open-source conference. In their own words, “FOSDEM is a two-day event organised by volunteers to promote the widespread use of free and open source software.” We’ll be co-hosting the newly crafted Distributed Web room, along with other friends in the DWeb space. FOSDEM is free, and this year it’ll be online, so we’ll see you there! If you’d like to give a talk, send your proposal to Bear and Anna by 23rd December.
  • QA and pre-release testers have successfully tested a minor update to the HoloPort operating system (which includes some not-so-minor component updates such as Holochain RSM!) It’s ready to roll out, but we’re going to hold back until self-hosted Elemental Chat is ready.

First Episode of Build It!

This week we had our first live Build It! episode with Philip Beadle. In it, Philip talked about how to use his Vue CLI preset and plugin (more info on Vue CLI presets and plugins here) to scaffold a working Holochain app, complete with conductor, DNAs, Vue-based UI, and admin UI.

Watch the replay here!

Calling all critics!

You might have noticed quite a lot of calls-to-action in this issue. In summary, here they all are again. If you’ve got a critical eye and have strong opinions on how we should be doing things, please jump into the fray!

Development status

Latest

Blessed (available via https://holochain.love)

  • Holonix: 0.0.81
  • Holochain Core: 0.0.51-alpha1
  • hc-happ-scaffold: 0.1.2