automerge / hypermerge

Build p2p collaborative applications without any server infrastructure in Node.js
MIT License
1.28k stars 66 forks source link

Hypermerge architecture vs latest Hypercore developments #81

Closed beorn closed 4 years ago

beorn commented 4 years ago

Hi, Hypermerge (and Automerge) is pretty amazing — thank you for bringing this to the world! Hypermerge is revolutionary and been the inspiration, I think, for many on how to architect Dat/ Hypercore applications.

This is not really an issue with Hypermerge functionality as such, but looking at the developments presented at the latest Dat Conference 2020, there seems to be a lot of components that Hypermerge maybe could have made use of, such as Corestore, or perhaps be accessible behind a hyper:/ url instead of hypermerge:/

I think Hypermerge is a really useful an innovative piece of software, but would you still have architected the way it is today? What components might you have leveraged instead? If so, do you have any plans to make any of those changes?

pvh commented 4 years ago

I've been grateful for the work the hyper* team has made available free of charge over the years and the help and support they've given both for free and as contract work.

I'm struggling with the right way to put this, but I suppose I'll just say that after years working with code in this ecosystem I am eager to see how the alternatives have matured and feel a deep sense of unease about the idea of adopting new modules in from this group.

beorn commented 4 years ago

Ok, thanks for the honest thoughts. Yeah, there seems to be quite a plethora of modules, different approaches and dead ends. I guess I was hoping there was some kind of consensus around best practice / architecture direction / core modules emerging.

pvh commented 4 years ago

I would hesitate to draw too many conclusions from my experience. Perhaps we're just not that bright, or perhaps things have improved. I'd certainly advise against an architecture that results in a large number of hypercores.