Let's Talk! Introducing Holochain-Powered Comments on humm

Blog comments on Holochain are here.

We've been working on adding commenting to humm for the past month. Now you can comment on our blog posts here on humm.earth using a Holochain-powered comment app!

From a reader's perspective, commenting on humm is the same as commenting anywhere else online. You sign up for an account (more on this below), meticulously craft an insightful comment, hit the "Submit" button, and sit back while other people revel in your originality and wit. (At least, that's how I do it...)

Now, on Holochain there are so many novel opportunities to redesign how we converse with each other that it can be a bit overwhelming. We purposely chose to simply recreate a standard commenting experience for our first iteration of a comments module, so it'd be familiar and uncomplicated. We have many more ideas on bringing human-centricity to something as simple as blog comments, but that's for a later release. It's also a conversation we'd love to have with commenters here on the blog.

A Quick Walkthrough of humm Comments

Commenting on the blog is pretty straightforward, but I'll walk you through it and provide a sneak peak into the humm Publisher so you can see how it works from a creator/moderator's experience.

As a commenter, you'll create an account in the menu above, and then post a comment. Pretty simple, and here's a handy-dandy gif showing you the process:

NOTE: Your username is currently displayed with your comments, so choose a good one.

And for an inside view into our current version of humm Publisher, here's a video walking through all the features we currently have, including comment moderation:



A Technical Introduction to Humm Comments

(Written by Henry Del Rosario & Nick Mitchell)

The first thing we need to cover is "user" accounts and identity. Given the Holo hosting network isn't live yet, we don't have a readily accessible way to host new user nodes on the fly. So we've created an application in Laravel to handle identity creation and management on the blog. This is meant to (very roughly) approximate the identity management layer that will be built into Holochain, so we can work with unique identities (commenters) now before those Holochain tools are publicly available.

The main reason we implemented this Laravel user management layer is so your unique identity will be attached to each comment in the Holochain DHT, identifying you as the author of the comment.

A Note on Mimicking Holochain Features With Non-Holochain Technology

We are constantly finding ourselves ahead of the Holochain core development timeline, so we have to approximate and mimic the functionality that we expect to be available in future Holochain builds. We're shooting for a 2019 Q1 private beta — as soon as possible after the Holochain beta is released — so to hit that goal, we need to be working ahead of Holochain core development to a certain degree. Please forgive us for not being Holochain purists at this stage of our development process.

A deep-dive into agent-centricity, and why it's not fully realized in current internet-served hApps

We wanted to allow people to comment on humm blog articles, and also make comments a feature of the Holochain-based publishing application we're developing that powers this blog.

Since Holochain is agent-centric, each app install makes you the agent and all entries you publish in the app are sourced to you as the agent. This means that since this blog is viewed from one public node, every comment entry sent to the Holochain node from this blog will assign the same agent source — in other words, the comments will look like they're created by the same person. So, currently there isn't a Holochain-only way to have multiple agent accounts using the same app. Right now we'd have to create a node hosting an app for every user who creates an account in order to create comment entries with each agent's source hash.

Creating a node for each person who wants to comment on our blog isn't feasible because we'd have to manually create a node on a new server for each of them. The work-around solution we've implemented was to create an abstraction that allows people to comment and have an identity on our blog by attaching your username to each comment, without us having to create a node for each individual person.

With this abstraction we can attach an identity to you as an individual person and your comments on the blog. We use this identity, based on your unique username, to store and link your comments to each article entry in the Holochain node being used by the Laravel app. Since you're registered as a unique identity within the DHT, we can create new features in the future such as clicking on your username and seeing all of your previous comments published on any post on the blog.

Links & Anchors are the Way to Keep Continuity

Comments are entries created the same way as posts. By using Links and Anchors we can relate comments to posts. As mentioned earlier, links create a relationship between the hashes of the entries. So you might be wondering, what happens if a post is edited? That would create a new post with a different hash, which means the comments will have a relationship with the old post — the one now marked as deleted — and not the new one. We wanted to keep the comments related to the post even if the post is updated, so we added a unique identifier to each post. That means we can anchor the comments to the unique identifier instead of the post's hash, and then we can update a post and still see the linked comments created before the update.

Links and Anchors might appear confusing at first, so if you're interested in learning more about the technical details on how Links and Anchors work, check out these links:

- Anchors

- Links

We're planning on extending commenting soon, so be sure to sign up for email updates below to receive notifications when we publish a new post. We've got a couple more articles up our sleeve about some design decisions we've made, and a few more we're currently kicking around. And most importantly...

Let us know what you think in the comments below!



Comments

  • Amiga600plus 1 week ago

    Great to see these improvements coming. Very slick and easy sign up. Good work

  • Dave 1 week ago

    this is the start of something beautiful :)

  • marcusnewton 1 week ago

    What a profound event to be a part of. Maybe in the far future some historian will look back to this exact article and admire Holochain's humble beginnings

  • Rom L 1 week ago

    Works great! Hello all!

  • forcize humm team 1 week ago

    Great Job!

  • Gustavo Bronstone 1 week ago

    Awesome! Really looking forward to your future updates, keep up the good work!

  • tomis 1 week ago

    Awesome! I love that you all are pushing forward and building prototypes and not letting Holochain development slow you down.

  • BoyanBC humm team 1 week ago

    Hello everyone!

  • rummy 1 week ago

    Thanks for bringing updates as the best way to "market" holochain and whats emerging here is by...building.

  • Mushin 1 week ago

    Thank you for adding this functionality and for being so very transparent about everything

  • Boyan humm team 1 week ago

    Hello everyone! Boyan from Humm here. Thank you for your kind words as well as participating with your comments in taking the first pioneering steps in the emergence of not only Humm, but the whole Holochain Ecosystem of hApps. Your comments and feedback will help us greatly for the further development of Humm. We'd also love to know what comment features you'd like to see next.

  • willMac.Ne(il) 1 week ago

    Some might say this is a minor achievement, unworthy of a second thought let alone a dedicated post. I on the other hand am proud not to count myself among those so destitute of vision. So, I look forward to what the future has in store. -A forever asshole

  • Raphi See 1 week ago

    Awesome! :-D A great joy to read your articles, like always! One question: Is the comment mod a separate app, that could theoretically be used to comment on other things with a unique identifier? Or will it only be usable by the humm happ?

  • [email protected] 1 week ago

    Where is the holochain tech being used in all this?

  • HenryDR humm team 1 week ago

    Hello Raphi See, we're glad to know you enjoy reading our articles and that's a good question you ask! It was our original plan to have comments as a separate app, but due to the current state of bridging apps in Holochain Proto, we decided to integrate the comments functionality with our publishing app while keeping a degree of abstraction for the future so that we could split both as separate applications. However, as a stand-alone comments app, it could theoretically be used to comment on anything as long as you append a unique identifier to the element on the other side of the bridge.

  • HenryDR humm team 1 week ago

    Hi there [email protected]! Good to know you are interested in knowing more about Humm and Holochain. To summarize, comments are stored in the Holochain app the same way our posts are, and by using Links and Anchors we are able to connect which comments belongs to which posts. If you are interested in knowing even more, you may want to read our previous post "Inside Humm - A Retrospective, Some Clarifications and a Bit About Technology" that describes our stack and how we are using Holochain.

  • kisupeke 1 week ago

    great!

  • holotest 1 week ago

    Feels good to be part of something huge like this so early, wish I had something clever/funny to say, guess I'll just forever be an asshole.. when moon? when lambo? when decentralised internet? when exchanger?

  • HMMH 1 week ago

    So nice

  • Crazycryptoguy 6 days ago

    Super easy sign up. I’m so interested in seeing how all of this turns out. I want to know how to order a holo port

  • psabin 6 days ago

    Hoping we are heading down a road towards thoughtful online discussions where trust and reputation matter to everyone

  • Boyan humm team 6 days ago

    Thank you all for jumping in and joining us in making these first steps! That's precisely what we're aiming for @psabin! @Crazycryptoguy we're also looking forward to Holo going live as this will help us be fully distributed. You might need to check with the Holo team regarding the Holo Ports.

  • holoman24 6 days ago

    Hello World!! So exciting to see the progression of Holochain and Humm's use of the technology; glad to be a part of it. Congrats to everyone involved!

  • Ebertj1988 4 days ago

    Awesome to be able to comment on something created with holochain. This is just the beginning!

  • impulse101 3 days ago

    Great job Humm and Holochain teams!

  • Adams 2 days ago

    Hi, am new to computing, distributed or otherwise. Very curious to see how this hApp (so beautiful and ‘happy’ abbrev.) grows and matures. Just one comment/question/suggestion. I personally prefer the order of comments to flow from the most recent, to the oldest. Whereas your comments go from oldest to most recent....means one has to scroll through all the old stuff to get to most recent. What to others prefer? Newest to oldest or the current flow?

  • Adams 2 days ago

    Hi, am new to computing, distributed or otherwise. Very curious to see how this hApp (so beautiful and ‘happy’ abbrev.) grows and matures. Just one comment/question/suggestion. I personally prefer the order of comments to flow from the most recent, to the oldest. Whereas your comments go from oldest to most recent....means one has to scroll through all the old stuff to get to most recent. What to others prefer? Newest to oldest or the current flow?

  • Boyan humm team 2 days ago

    Hello everyone and thank you all for your kind words! @Adams yes indeed, there are several ways we could've implemented the comment section of Humm. For the moment, we decided it is best for everyone to read the history of the conversation first so we could possibly have a flow of conversation around the blog and comments. Having said that, in the upcoming updates we'll be implanting more functionality and the present set up will change accordingly. Thank you for your feedback. We'll consider it for the further development and future updates.