We-Guild (needs help deciding whether to use Holochain, and how to get started)

@Guillermo posted this elsewhere, and I thought it deserved it’s own topic thread, so I’m copying it here:

Hi there,

I’ve come across the Holochain model when doing research for my start-up platform We-Guild, a p2p gifting social network that aims to become a multi-stake holder platform co-op

I am not technically literate myself so to be frank I find the whole thing a bit overwhelming. When reading the bit about what Holochain is good for it all sounds great for what I am trying to do so how do I take it from there? (As someone technically illiterate?) Thanks!

For some added context, Guillermo shared with me that he does have more specific questions, but for now his main priority is really just making We-Guild happen, and he’s wanting to hear arguments for/against using Holochain. If convinced to go ahead, then he’ll need help to know what is needed to proceed in that direction.

@Guillermo Even though you may be more in a general questioning mindset with Holochain, I think you will get more interesting responses if you also include your specific questions! I would love to hear more about what your specific needs are for a technological architecture to support your vision for We-Guild, and what your concerns/questions are about Holochain in that context.

Since you say you are not technically literate, you are definitely going to need developer support to move forward with building on Holochain :slight_smile: I can keep you in mind if I hear of developers who are looking for projects to contribute to and send them your way.

1 Like

This may be a good fit for what I am hoping to build here with registered thanks and third party redemptions to facilitate gratitude flow ecology.

6 Likes

Point taken Brooks. I’ll lay the questions/gaps by areas that I think of being most pertinent to We-Guild. Bear with me and please enlighten me about my misconceptions.
(And I’ll use the sign Q as an abbreviation for the following question:
How can using Holochain in this area help in a way that it is superior to other ways of achieving the same result?)

Software: The functionalities that are needed are (from a layman’s perspective):
BACK END:

  1. Social network mechanisms:
  • linking up with people; awareness of extended network, with numerical parameter relating to state of help exchanged with each pair of users.
    Q
  1. Calculation mechanisms:
  • linked to a) in that it calculates the amounts based on the state of each user’s network (close and far friends). See website for example spreadsheet.
    Q
  1. Paying mechanisms:
  • Digital wallets, cryptocurrencies… What is clear to We-Guild is that it doesn’t want to hold anybody’s money. P2P, We-Guild just facilitates everything else but it is not an intermediary through which the funds travel through.
    Q

FRONT END:

  1. I guess Holochain is more of a back-end thing but, maybe I am wrong?
    Are there any issues to consider when thinking about the front-end side of things and Holochain?

Organisation-wise: Are there any advantages to using Holochain in the internal workings of the organisation itself? If so, which and how are they advantageous?

A general question I also have as a layman is how much from scratch would you need to build these things? To what degree would it be a matter of interconnecting already existing platforms and to build anything anew? For example, in the UK, as far as I am researching now regarding online payment regulations, it seems it would be advantageous to delegate the actual transactions to already existing software, making We-Guild just the ‘instruction giver’ or informant of the payment request. Is this question at all relevant to Holochain (and again please excuse my ignorance!)

1 Like

Hi @Guillermo and welcome to the forum! I’ll give my best stab at an answer here…

BACK END:

  1. Social network mechanisms:
  • linking up with people; awareness of extended network, with numerical parameter relating to state of help exchanged with each pair of users.

IMO Holochain offers only oblique advantages here. From the perspective of making your developer’s life easier, it doesn’t offer much at all. But from a user perspective, the advantage is that people are in control of their own data. All processing happens on their own machines, which gives them assurance that you’re not holding their data captive. And this public graph of relationships is hard (though not impossible) to mine, because it’s not kept in a central source.

There are other advantages to having data spread out over many users:

  • It’s harder and less attractive for attackers to steal. Private data stays on individuals’ machines, which means that in order to get mass access to everyone’s private data, they would have to compromise every machine. The only thing worth their time would be to target high-profile individuals.
  • It’s less of a cost centre and liability to you. You don’t have to protect the data from attackers, and you don’t have to pay to have it hosted (unless you choose to put the app on Holo Host, which presents Holochain apps as if they were traditional websites).
  1. Calculation mechanisms:
  • linked to a) in that it calculates the amounts based on the state of each user’s network (close and far friends). See website for example spreadsheet.

Holochain is designed for creating traversing this sort of graph. It’s not as efficient as having all the data on one server, because every graph lookup will probably require talking to a different node. But this can be mitigated somewhat with clever application design. And again, there are advantages to not keeping data in one central location.

  1. Paying mechanisms:
  • Digital wallets, cryptocurrencies… What is clear to We-Guild is that it doesn’t want to hold anybody’s money. P2P, We-Guild just facilitates everything else but it is not an intermediary through which the funds travel through.

I definitely agree with you here. I’ve tried to walk through what makes sense for payment processing in a Holochain app. And in most cases there isn’t much value — instead, investigate ways that the UI can do that instead. The implementation of this will vary by payment type.

The only exception to this is if you want people to be able to send funds to each other with a Holochain-based currency. In that case, the users themselves connect their own running copy of We-Guild to their own running copy of HoloFuel, or whatever currency they decide to transact in. You’re completely out of the picture, which is really nice.

The way you describe Holochain as just an ‘instruction giver’ is a perfect way to look at it. It’s true for both centralised gateways and Holochain-based currencies. The app just tells the user’s computer how to initiate and complete a transaction, and it’s the user’s computer that does the work.

FRONT END:

  1. I guess Holochain is more of a back-end thing but, maybe I am wrong?
    Are there any issues to consider when thinking about the front-end side of things and Holochain?

You’re correct here too. Here’s a run-down of the components:

  • The Holochain Conductor sits on users’ computers (or on a Holo host, if you choose to go that way) and manages their installed apps and their connections to other people using the same apps.
  • The apps themselves live in each user’s Conductor and are just the bare minimum needed to:
    • store data
    • retrieve data (either from the users’ private store or the shared database)
    • make sure that data is structured properly. This means that your app is responsible for enforcing the ‘rules of the game’ that protect people and make sure the community operates the way it should.
  • The UI can be built with whatever you like, and it talks to the apps to store and retrieve data on behalf of the user. Again, every user who is participating in an app has the UI on their machine (or on a Holo host that’s running the app on their behalf). Users can swap one UI out for one that they like better (if such a thing has been created), and a UI can also glue together a few apps (like, for instance, We-Guild and a couple currency apps).

Any issues to consider… hm.

  • A web-based UI is probably the easiest to build and deploy in a bunch of different scenarios – it’s great for users with Holochain on their machines, can be deployed to Holo Host, and could even be used in mobile apps. This UI should be written in the ‘single page app’ style (don’t worry; most developers build apps this way nowadays).
  • Connecting to traditional payment gateways (e.g., credit cards) may be a bit of a stretch. These gateways weren’t designed with P2P apps in mind; they were built on the assumption that only a server would talk to them.

Organisation-wise: Are there any advantages to using Holochain in the internal workings of the organisation itself? If so, which and how are they advantageous?

Maybe? Right now most apps are in the incubation phase. Once these apps spring to life, I can see a couple advantages:

  • Holochain apps are offline-friendly; depending on how it’s designed, you could even catch up on work while you’re riding in the airplane.
  • On a related note, because there’s no server, you don’t have to worry about outages in business-critical apps destroying everyone’s productivity for a whole day. We’ve had this experience with Slack and GitLab, two hosted services.
  • You own your data.

We’re working in-house on a few productivity apps. Early days right now, because our big focus is getting Holochain and Holo Host to a mature state. Then we’ll double down on those apps again.

A general question I also have as a layman is how much from scratch would you need to build these things? To what degree would it be a matter of interconnecting already existing platforms and to build anything anew?

Like most things, ‘it depends’ :slight_smile: A lot of really useful things are already being built for Holochain, so to an extent your developer might be able to glue existing Holochain apps and libraries together and simply write a UI to talk to them. As for existing centralised services, it’s not a sin to take advantage of them :wink: The thing to keep in mind is that, with a Holochain app, it’ll always be the user’s UI that’s initiating these communications with, say, the payment gateway, Google Maps, etc, etc. In some cases that might lead to engineering challenges, because as I mentioned these services are expecting servers, not individuals, to be talking to them.

Hope this helps! I expect my answers will just create more questions, which is fine — ask away.

3 Likes

HI there,

Would love to hear what you’re cooking. Any chance of knowing more about it?

Hi Paul,

Thanks so much for your concise and thorough reply. I am afraid that unless something surprising happens, it doesn’t look like the We-Guild project will happen in the near future. This is mostly due to the fact that no technically minded coders have come about interested in the project. I’ve come to the decision of learning to code myself in order to do it myself, but I estimates it’ll take between 1 or 2 years. Let me thank you again for your time in replying to my queries.

Take care.

The holochain-app space is still very fluid with some overlap, lots of new ideas surfacing regularly, and a lot more potential to be released when it finally goes live. I think you can still accomplish a lot by looking for other apps where parts of your good ideas can be explored and supporting those. A lot of very useful “development” will be accomplished with nothing more than borrowing and tweaking some existing configuration and putting it together with a simple variation on an existing UI. It’s been said also that development on this style of architecture is so new that we are all novice developers in it so I think you’ll find yourself in good company.

2 Likes

Well, all my coding experience (if it can be called that) is relatively complex boolean calculations in Excel so I’ve got a long way to go. However, I’d love to talk to someone who is technically-minded who can point me at the direction of interconnecting different modules to come to a desired effect. It may happen faster. Let me know if up for it and maybe we could have a chat. Haven’t given up on it yet!

Yes, I’m definitely up for that. Give me your timezone and some days/times when you are usually available. I don’t have a videoconference service available for personal use so if Skype or something else will work, let me know.
–Abraham

Cool. I’m based in London so GMT +1.
I am usually more available to talk at different times WED - FRI.
Email me at guillermo@we-guild.co.uk and we can exchange contact details there.
Thanks,
Gui.

I wonder if it might be possible to try and make some very simplified versions of your idea on Holochain. You could pick some very specific use cases and mock out the irrelevant parts then try making some quick prototypes to see if it meets your needs.
If you keep the prototypes constrained enough you shouldn’t need to invest too much time and if you do decide it meets your needs then you will have learnt some valuable skills.