Hive Communities: An Interview w/Steemit's Senior Product Engineer

in #hive3 years ago (edited)

hive communities road thumb.jpg

Hello Steemians, we’ve been doing a lot of video interviews recently (you can see the last one here), but today we wanted to try something different with our Senior Product Engineer, @roadscape. What follows is a text-based interview between @roadscape and our Head of Communications, @andrarchy.

@andrarchy: You’ve been working on Hive Communities for a long time. Why do you think they’re important for Steem?

@roadscape: Content discovery and the ability for users to organize go hand-in-hand. Without the ability to organize, groups are working against the grain. Without content discovery, curation is more difficult than it needs to be. This leads to automation but the data is still noisy. Hive Communities will allow us to completely reimagine how we use the platform, and give everyone a voice.

@andrarchy: Do you think that the impact of Communities on Steem will reach beyond the walls of the Steem ecosystem and impact the broader world?

@roadscape: Yes, but first things first. Hive Communities is progress towards revealing the power of the Steem blockchain, which is still mostly unrealized. Nobody has seen yet what that looks like. I’m cautiously optimistic, but this project has been something I’ve felt was deeply important and I’m excited to finally bring the concept to fruition.

@andrarchy: Our mission is to onboard the masses to blockchain, how do you think Hive Communities will help us achieve that mission?

@roadscape: Without a reasonable user experience, onboarding the masses is futile. Hive communities eliminate many of the pain points that have made our existing communities difficult to scale. The current challenges in organizing communities on Steem include:

  1. tags have no quality standards, nor consensus on how to enforce them
  2. community leaders have little recourse against spam or low-value posts
  3. communities have no recognizable leadership structure (at least in any sort of standardized way)
  4. communities have no way to brand themselves, e.g. by featuring posts, or highlighting specific users
  5. votes control post visibility (as opposed to just payout), so discussions are susceptible to drive-by flag wars

It's easy to solve this using private implementations of communities as people have been doing, but this leads to the fragmentation of what should be a common/open framework of organization. (Assuming most everyone's needs are met.) Hive Communities is an open protocol that will address these issues.

@andrarchy: hasn’t changed much since it was launched, how will Hive Communities impact the user experience and the user interface on

@roadscape: The initial rollout won't appear to be a drastic change; there is a minor restructuring of the UI, as well as a new notifications page. However, the expectation is that Community-led change will begin to take root and create an experience that is driven by all Steemians. This is a platform that developers can use for new projects, and that non-developers can use to simply have a more focused and navigable experience. Not to mention, it will be easier to identify and deal with spammers and bots. The initial roll out will be a rough proof of concept, but I’m confident users will quickly see how powerfully it could improve our user experience.

@andrarchy: The reason why we’re referring to it as “Hive Communities” is because we are talking about a feature set that is built using a piece of software you developed called “Hivemind.” Could you explain why it was necessary to build Hivemind before building Communities?

@roadscape: In layman’s terms, Hivemind provides a framework which is easier to develop and faster to iterate on; it bridges the gap between frontend and backend. Hivemind basically just stores posts in a traditional database, is written in Python, and allows you to process arbitrary events. Although Communities (or the hivemind daemon itself) could have been written as a steemd plugin (in C++), leveraging standard web technologies makes development more flexible and accessible.

@andrarchy: Hivemind isn’t just limited to Communities-related features. From the sound of it, Hivemind can support a seemingly infinite number of feature sets. It almost turns Steem into a smart contracts platform, except without a lot of the downsides. Is that right?

@roadscape: Yes, Hivemind can do an infinite number of things. However, it’s important to keep in mind that Hivemind is geared toward social applications. Certain trade-offs were made that are important for developers to understand. For instance, hivemind trades consistency for speed and simplicity. To be as consistent as the blockchain itself would essentially require you to re-implement steemd in Python. Currently it is not equipped to robustly handle forks, thus, it is not ideal for wallets or financial transactions. For instance, to avoid inconsistencies due to forks, you could follow the last irreversible block, but then the data would all be a minute old. Alternatively, you could implement an undo database, though this would decrease capacity and make the system more complex.

I am excited to share specific ideas that harness the potential I see for Hive Communities with Steemians at Steemfest in November. I don’t like to talk things up before they are delivered, but I have faith that once this rolls out, it will speak for itself.

End of Interview

We hope this interview helped provide a better understanding of both Hivemind, and Hive Communities. If there is something else you’d like to know about Communities or Hivemind, please let us know in the comment section below.

MVPs of The Week: @quochuy & @eonwarped

Speaking of Communities, we wanted to highlight two community developers who have been generously volunteering their time to help bring Hive Communities to life: @quochuy and @eonwarped. As a special "thank you" we decided to use the beneficiaries features recently added to to make them the beneficiaries of this post. Both will be receiving 50% of all the STEEM paid out to this post, totaling 100% of the rewards. We also want to thank @jarvie who suggested we leverage this feature in his comment on our last post.

The Steemit Team


woot roadscape is alive


Next month

The test net at least. Official release is supposedly coming in tge next Hard Fork in late Q1 to early Q2.

Posted using Partiko Android

Incorrect, you must be thinking of Smart Media Tokens. Communities are a second layer solution and therefore do not require either a testnet or a Hardfork. Communities features should begin rolling out as early as next month. Because they do not require a hardfork we will be rolling them out as they are ready, so once you begin seeing those features that only means that the process of releasing Communities has begun, not that it is over.

Oh, I didn't realize that! Can't wait for content discovery getting easier! Thanks for correcting me.

I'm looking forwards to seeing Communities released. This should give some new energy to Steem.

I was wondering if Hivemind could give us the ability to enable some kind of anonymous or non-steem social commenting. Whenever someone share their Steem blog posts to other social platforms, the audience from those platform might want to interact with the author and leave a comment but they currently can't unless they sign up but they might not want to or it takes too long to on board and by the time it's successful they might forget about why they signed up. With Google/FB/Twitter authentication and allowing those to leave comments we might be able to attract some external users.

One of the nice-to-haves for hivemind is comments via custom_json -- these would not be threaded, nor would they collect payouts. They would use far less RC than normal comments, so it makes them useful for smaller accounts, but they could also be leveraged by UIs to allow for 'guest' comments. The UI would still need to reasonably limit spam, but there would be less at stake in terms of resource abuse.

Why is it hard to make them threaded? Seems pretty easy to let them specify a parent, no?

The only hard part about threading 'lite' comments is a stable parent reference, but we could use the first 8-10 bits of the tx hash for this purpose. The main reason I suggested non-threaded was for simplicity. It may or may not make sense to bundle these with votes (i.e. a comment with a up/down vote) or reactions, and nesting them makes less sense in that case.

Couldn't the commenter include their own unique permlink-like tag in the json, pretty much the same as a regular consensus comment? The only real difference is tracking it in hivemind rather than steemd. You can't enforce that people put in properly-formatted json, but if they don't you can ignore it.

Yes, the only concern is that with this approach hivemind would have to track uniqueness of permlink/id's, and create/track a valid/invalid state on each. This opens up more edge cases and would make it harder to reimplement the protocol. Trx hashes are already unique, indexed, and part of core consensus, which makes them attractive to leverage.

I don't believe you need to actually store or track invalid state, just check that each custom_json is valid when processed. If the custom_json creates an invalid state (for example, presents a non-unique tag), the custom_json is invalid and is ignored. This is the usual method for doing any sort of embedded consensus, which is effectively what this is.

In fact, now that I think about it, non-unique might be considered as valid, since referencing an existing id could be an edit, if the rules mirror those for comment ops. In that case, there would be no invalid (non-unique) ids.

That's what I thought of, but as you said the spam contents would be more and thus the account which will be guest posting can face the consequences.

What I think is that you can make a db over steen where you can keep the user info and comments. Now it will help you to do the spam filtering as well as a normal account can post it on the user's behalf.

should make it more accessible but just like SMT's were possible from the very start using condenser in whatever way you want to translate that back-end , so were communities , heh ... not that it's not a good thing that it becomes accessible to les tek-leveled heads but it has always been there, #musing #steemstem ... to name but two, they didnt have to wait , they just built one :D
more options = mo' better though, always ... if you can just get rid of downvoting and inflation completely it might yet stick around to see me grow old :p

Excelente entrevista, sería un gran beneficio para millones de personas llegar a comprender claramente este concepto . Estoy de acuerdo creo que steemit llegará a influenciar a la comunidad mundial mucho más aún.,
Interesting, let's see how things align with current updates of Steemit Inc.


Sorry, @theguruasia you’ve reach daily limit of 10 successful TRDO calls!
Please try again tomorrow!

"Call TRDO, Your Comment Worth Something!"

To view or trade TRDO go to
Join TRDO Discord Channel or Join TRDO Web Site

Great News, we are all very excited to see what the new community feature will bring for the future.
Also great move that you are sharing your post rewards with users who contributed to this project. Overall, I see much more improvement in your communication with the Steem Userbase which is awesome.
Keep up the great work!

Posted using Partiko Android

I’m so looking forward to communities and having the opportunity to chat with Roadscape on his visions of what Steem is, and what it can be.. I think it’s going to be a game changer.

Great interview, keep them coming.

If youre into art and music and stuff I got you covered!*


~Smartsteem Curation Team

Kya baat hai sir,marketing ho to aise.

It's the lesser talked about but to me probably most exciting upcoming change :-) Can't wait to see more social features and changes in the way we can explore/find content <3 Thanks for working on this and sharing this interview with us!

just loved this

worth reading (Y)

Generoso es de su parte, e interesante propuesta ya que incentiva a otros a sumergirse en el mundo de los desarrolladores de programas, felicidades a los compañeros: @quochuy y @eonwarped .

I think this interview helped provide a better understanding of both Hivemind, and Hive Communities.

This is amazing news. I'm so waiting for this

Quick question: is prompting for login, but not taking my private posting key as password.

Is this intentional? Or should I be able to access the beta site right now?

We also want to thank @jarvie who suggested we leverage this feature in his comment on our last post.

Interesting and entertaining interview. And glad to hear that "The Steemit Team" also pay attention (every) now and then, to what members of this community suggest & propose thru comments once in a while on their posts. }:)

Es bueno que se este haciendo cosas nuevas para mejora Steemr. Sigan así. Saludos

Great thought. Looking for somothing more about hivemind project.
Thanks for sharing.

Will the subreddit style landing page be implemented the day of roll-out?

Steem really needs communities if we want large groups of like-minded people to use it. They want to gather around an interest and not necessarily a single account.
They would use far less RC than normal comments, so it makes them useful for smaller accounts, but they could also be leveraged by UIs to allow for 'guest' comments. The UI would still need to reasonably limit spam, but there would be less at stake in terms of resource abuse....( i liked your pust)

I'm very excited about this feature but I hope SMT comes to us soon also

Excellent post and good job @quochuy & @eonwarped.

I'm glad you two are developing for the Steem Blockchain 😀

Yes, hivemind enables many new possibilities. Great interview!

I've been requesting a subreddit-like feature since mid-2016. I've grown old waiting for it, but it's still my most anticipated feature on Steem. Hope to use it out soon-ish.

It was so cool!!!

So will the Steem Engine tribes morph into communities? Otherwise I don't see how this is going to bring people together and not splinter them apart. Nice interview and I'm glad to see so much gong on behind the scenes.

Hive Communities is an open protocol built on an open-source framework, which makes it easier to leverage from many UIs. We already have some splintering but this design will promote unification if it's successful.

great I understand very .. great work .. thank you upvote just

Hello everyone am new here

Excellent post!!!

Posted using Partiko iOS


Posted using Partiko iOS

Wow! That was really awesome

I am new here and this article was very interesting. I am excited to explore and figure out how to fit myself in here and contribute to the community. I will start using this platform to document the creation of a video game in relation to digital twins.

I am open to advise and suggestions from anyone.

Thank you for such a great post @andrarchy and @roadscape

Congratulations! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Your post got the highest payout on one day

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

SteemitBoard supports the SteemFest⁴ Travel Reimbursement Fund.
Vote for @Steemitboard as a witness to get one more award and increased upvotes!

This is very exciting and it's great to see that it has been approached in the right way by building a solid foundation that developers can build upon.

I am looking forward to using this to integration our independent music platform into the Steem chain.

Upvoted and resteemed. 👍

So, am I understanding this correctly? Hivemind will provide a framework to build communities? Are these communities similar to how Reddit is structured?

Will these be built within Or are these individual communities to be built on their own domains with their own servers?

I'm a bit confused on how this will function. And also, this is all written in Python and thus Python can be used to build these communities? If so, I'm in! I love Python haha.

The communities engine is build on Hivemind, and yes they are similar to reddit. They will live on

Verry nice and like this is steem. Me go hold to all my steem. Good friends

... "enforcing tags" ...
...."leadership structure" ... there's always something about the way you people talk that makes me believe half of you are or used to work for law enforcement or the NSA or something, as if the end-game is de-centralized tribalism , somewhat of a contradiction in itself ... i'm sure its not as bad as you make it sound, i'd be fine already with the ability to pin a post to any feed of any account for starters myself, #musing and #steemstem have been around for quite a while and so have others , the #ghs , its not like you cant HAVE communities from the very start. I'm just gonna have to see for myself what it all means because the way you sometimes express things ... its a bit odd to me

I'm not sure I understand your comment. You can continue using Steem as you always have; communities participation is voluntary.

I've been reading the github about communities in Steem, but I just didn't like the way they will work.
The biggest problem I see is that only posts will be able to appear in the community if users post from there or tag.
This affects both the community and the user:
1- Community:
a) any publication will appear (if the community is free to publish) and the community cannot easily filter the content
b) you cannot "grab" posts to your community that are not made from it
2- Users
It limits the possible gains of the user, since he has to decide to which community he wants to "bet", that is very risky, another community may be interested in his publication but in that he is rejected.

My idea is the following:
In steemit there would be the option of "grabbing the publication" would be like a re-steem style, and add it to the community.
At that time the community would be granting the right to profit from its token and the user would obtain "surprise" tokens.

This solves the 2 above mentioned problems, you give the community complete freedom that it wants to appear in it and you give unlimited possibilities to users who make good content.

I know that several projects are interested in the options you give, but I think it would be good to add this option when making the community

Hi @loreennaa, communities can filter posts easily by "muting" them. With regards to "cross-posting" into multiple communities, this is something that will be possible with a future version. The goal for the initial protocol was to keep it as simple as possible. This is to prevent launch delays as well as to give us time to collect feedback without being locked into a sub-optimal approach.

Hi, In that future version will the user have to choose the different communities where he wants his post, or can the communities attract the user's post to his community?

Anyone could 'cross-post' into a community, similar to reblogging.

"Without a reasonable user experience, onboarding the masses is futile. "


More communicate bring more people 🤙🏽

Posted using Partiko iOS

Very much looking forward to communities and agree that they will play a crucial role in content discovery and platform engagement.

Quoc and Eon definitely deserve recognition for their contributions.

make them the beneficiaries of this post. Both will be receiving 50% of all the STEEM paid out to this post, totaling 100% of the rewards. We also want to thank @jarvie who suggested we leverage this feature in his comment on our last post.


Best elergy nasal pray use this is great to remove ur tissues

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

Coin Marketplace

STEEM 0.22
TRX 0.07
JST 0.029
BTC 20406.27
ETH 1144.82
USDT 1.00
SBD 2.94