-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scuttlebutt vs swarm? #41
Comments
@nwmcsween thank you for link I'll take a look! I just found out bunch of bad js practices in swarm sources. People behind scuttlebutt are respectable by GitHub js community. I think @gritzko also should take a look at scuttlebutt and possibly collaborate with scuttlebutt team. |
scuttlebutt is effectively done as the developer(s) has said CRDT's cannot prove authorship and instead moved to a signed log of messages style protocol (secure-scuttlebutt) which removes all use of it client side. |
@chicoxyzzy Sergey, can you please detail on bad practices you noticed? |
@nwmcsween Is Scuttlebutt gossip-only? Swarm builds dynamic spanning trees. Swarm is op-based, not state-based CRDT. Swarm's use case is syncing in web&mobile apps. |
@gritzko sure. I'll make a PR soon. BTW can I contact you in some messenger? |
Sure. My Skype handle is gritzko. |
I'm not sure scuttlebut is an effective alternative. To use scuttlebut safely you need to use scuttle-ssb to use that you need to use scuttle-bot to use that you need to use their phoenix framework. SO 😬 not sure if they are even |
also @chicoxyzzy I am interested in helping with the cleanup as well. Wanna try to break it up into tasks and we can pick them off? |
@jeregrine sounds cool. I'll try to post my list of things to improve soon. |
@chicoxyzzy We had some ideas of decoupling, just considered it too early at the time. For example, each kind of storage should be a package, etc. |
Might be easier to setup a #swarmjs irc channel on freenode :) On Wed, Jan 7, 2015 at 10:27 AM, Victor Grishchenko
|
OK, grabbed #swarmjs on freenode |
Maybe gitter will be easier to access with github account? It's free for opensource. https://gitter.im/gritzko/swarm |
@zxqfox @chicoxyzzy We are on #swarmjs on freenode http://webchat.freenode.net/?channels=swarmjs couple folks on right now :) |
+1 for gitter instead of irc |
I like the idea of using gitter.im more than using IRC. The reason is that the gitter allows reading the chat history easily, also it's free but only the owners(@gritzko) are allowed to create chat. |
@gritzko - you said that swarmjs is op based CRDT, which sounds great (i'm thinking about the op basedness now), but just I took a look (on http://ppyr.us/) what goes on the wire (Chrome developer tools/Network and check the frames in websocket connection). And it seemed like it sends the whole "data item" at the same time, not just the operation like in OT. As in OT there would only be one character sent (+ the required overhead). Here I saw the whole line of text in TodoMVC sent. So I'm thinking about the efficiency, i.e. when editing a large document. Would it send the whole document every time I make one character edit? Does op in CRDT mean sending the "whole data item"? Hope my question is clear and hope it's ok to ask here. Thanks. |
@ile In the TodoMVC demo, text entries are handled as plain Strings. Hence, those are sent all at once. The reason is that todo entries are short and the overhead of maintaining versioned text simply does not worth it. Although from the UX perspective, it makes some sense to use mergeable strings (lib/Text.js). When using versioned text, it sends something like this:
Here you can see an actual 0.3 handshake (host to host) then an object sync handshake (no data passed, the object is in the local cache already) then one actual insert op:
"1" is inserted after symbol 2kmMB03+A002M8 |
Ok, thanks @gritzko! Looks good then. I will have to play with Swarm.js more then, and see if I will integrate it with Derby (http://derbyjs.com/), thus replacing OT in ShareJS. I got the feeling that CRDT offers some advantages over OT that may make this a good move. Seeking for the even holier grail, as there are some nice features in Derby :) |
@ile that is very interesting to know, actually. What Derby features do you consider the nicest? |
Compared to Swarm, RacerJS (Derby's model, based on ShareJS) has two pros:
|
What are the major differences between https://github.com/dominictarr/scuttlebutt and swarm?
The text was updated successfully, but these errors were encountered: