Wow, lively conversation in this thread since last week! Iāll try to respond to all the things I canā¦
Sounds like a great typical use case. Holochain is meant for any kinds of application that revolve around multiple humans interacting with each other, so that would naturally include:
- social media and chat
- electronic medical records
- supply chain
- collaborative knowledge management (wikis, etc)
- project/task management
I see lots of promise in the idea of a ācommunity building toolkitā, where people just download all the components they need and use it to bootstrap their own community. Philip (creator of Chimera Builder) shows off this idea in this video, where he demos an app called Community Builder https://youtu.be/Y60cmE3rZZs . I donāt want to get too far into the weeds re: my favourite use case of Holochain, but I do want to underscore why I think Holochain is such a good match for small, tight community spaces, and it addresses this question too:
Holochain can empower anyone to build their own community network with its own shared data store, without any special IT knowledge, completely free of servers.* This lets them be in charge of their own stuff, rather than delegating control to some big cloud company (let alone even knowing thatās what you have to do if you want to set up a community space online).
* While Holochain is technically fully P2P/serverless, the reality of the current internet is that people will probably need a couple āhelperā services just to punch through NAT gateways and discover each other. Thereās a proxy service which performs the same functions as a TURN server, as well as a bootstrap service for locating enough peers to get a good-quality introduction to the existing network. We run instances of both of these services, but people with enough IT experience could also set it up on cloud servers.
A group holds all their data in common ā the distribution among peers doesnāt mean Alice canāt access it if itās stored on Bobās node; it just means Alice, Bob, and friends donāt have to store a copy of everything on their nodes. That said, data discovery is hard when meaningful information hides behind an opaque hash There are patterns for making data discoverable, mainly using links from well-known hashes (e.g., āanchorsā whose value is hard-coded into the app and is easy to calculate a hash for). Using patterns like these, you can easily create table-like structures, even going so far as being able to create indexes.
Solid and Holochain both model data ownership around the individual, and they both use linked data as their basic way of organising information. The big differences I see are that, with Solid, your data stays in your āpodā and an app (e.g., social media app, hospitalās EMR software) is an external thing that asks you if it can access your pod. With Holochain, on the other hand, your data and your app are inextricably linked ā the app defines what meaningful information should look like, both app and data live on your machine, and data is shared publicly either by denoting it as public (in which case it gets published to the shared data store) or by granting selective access to it in a Solid-fashion using getter/setter functions that access your deviceās private data. Hope that makes sense ā I feel like Iām coming into this conversation from the wrong angle
When we talk about backend in Holochain, weāre usually talking about a microservice-like binary that lives on every userās device. Everyone has a copy of the backend (the āholochainyā part); everyone has a copy of the frontend. That means their own data is immediately accessible, but it does probably create performance issues for some sorts of applications. Iām curious to see how Holochainās graph model might be āhackedā to provide the same sorts of speedy lookups on public/distributed data that centralised databases offer. Do you have specific examples of performance issues youāre concerned about?
The closest thing I can think of is this application architecture intro (skip the part about donuts; I donāt think it helps clarify anything )
Iām super excited to see this conversation unfolding; looks like thereās some fruitful dialogue going on
@dcatki pinging you ā keep this on your radar for a future Low-Code Zone episode!