Skip to content
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

[draft] Technical hurdles #1

Open
gabrielecirulli opened this issue Jun 1, 2015 · 3 comments
Open

[draft] Technical hurdles #1

gabrielecirulli opened this issue Jun 1, 2015 · 3 comments

Comments

@gabrielecirulli
Copy link
Member

This issue is about how to solve some of the technical challenges that will be present in implementing the Koral client.

Connection

The client will have to receive the location (URL) of the installed Koral server, and the credentials of the user who intends to authenticate. It will then establish a connection and obtain a token with which to download data and perform modifications.

Bonus points: the Koral server running the installed front-end may dispense application packages for the client with the URL already configured, for direct download.

Data sync

Sync is going to be a tough challenge for the client. It has to be:

  • Reliable: no change must ever be lost or mangled, especially when multiple clients are working on the same files (alerting the user of the presence of a conflict and letting them solve it manually might be a way to go);
  • Fast: dealing with huge binary files (upwards of 200MB at times) means the client has to upload them fast. Only uploading deltas might come a long way in helping achieve this.

For transmission, a similar approach to what Dropbox is said to be doing (using rdiff)

Operational transformation may be of further help in solving the issue of ordering and concatenating changes.

@iduuck
Copy link

iduuck commented Jun 1, 2015

Reliability and speed is a matter of server, isn't it? So we could do our best on the "client side", but the server where it's Koral is installed also needs to be nice and fast!

@gabrielecirulli
Copy link
Member Author

I think reliability also draws into error checking from both the client and the server, and repair efforts for when such errors happen.

@iduuck
Copy link

iduuck commented Jun 8, 2015

Sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants