Live data from Hacker News

Datastore API (beta)

dropbox.com

81–88 of 88 posts

Re: Datastore API (beta)

#81

Earlier quoted context omitted.

So are you just syncing entire truecrypt .tc files to Dropbox? Does that work incrementally or does the entire .tc file have to get resent every time you modify a file within?

The entire file is resent.

No, only changed blocks are resent. The scattering effect of Truecrypt encryption plus the relatively large blocksize does amplify the number of changed blocks somewhat.

Previous investigation and results:

http://news.ycombinator.com/item?id=2546626

Re: Datastore API (beta)

#82
post #72
post #48

Earlier quoted context omitted.

Yes, you can provide arbitrary URLs to the Saver and our (Dropbox's) servers will download them, assuming they are publicly available. (Note: I am an engineer at Dropbox and worked on this product.)

Thanks. Off topic but slightly related if I'm going to rely on your service as a developer: as an engineer at Dropbox, can you tell me why I am seeing random photos that are not mine in my dropbox Photos folder? And does this mean that other people get to see my random photos? Edit: only on iOS. And maybe it's not a "folder" per se, it's the second tab from the left at the bottom of the screen.

That photos tab shows you photos from anywhere in your Dropbox account, so these photos may be from shared folders you're a member of. (Likewise, other people can only see your photos if you shared them with them.) Another thing that may happen is someone "camera uploaded" their photos to your account (e.g., by plugging into your computer and choosing to import photos when Dropbox asked.) If you're still not sure where they're coming from, you should open a ticket: https://www.dropbox.com/support/s/92/3201098/c/2

Re: Datastore API (beta)

#83
So now app developers have a choice: they can use iCloud or Dropbox to manage distributed app state. Any iOS app developers (I'm not one) care to compare & contrast the two options?

It looks like Dropbox may be using Operational Transformation [0] to merge changes to lists:

Lists are special field values. They contain an ordered list of other values, though not other lists. Lists can be manipulated via four list operations: put (i.e. replace), move, insert, and delete. These list operations allow Dropbox to handle merging changes to the structure of the list automatically. [1]

iCloud, on the other hand, uses the coarser, state-centric approach of whole document versioning. [2] (Edit: okay, key-value property versioning is also available.)

But iCloud lets the app control conflict resolution, while the Dropbox Datastore API only lets you choose from a predefined set of conflict resolution strategies. [3]

Which approach provides greater value to the app developer? Has Dropbox realized here that developers are just not comfortable implementing a custom merge strategy for entire documents, and not having to worry about this is worth some loss of control?

[0] http://en.wikipedia.org/wiki/Operational_transformation

[1] https://www.dropbox.com/developers/datastore/tutorial/ios#re...

[2] http://developer.apple.com/library/ios/#documentation/DataMa...

[3] https://www.dropbox.com/developers/datastore/tutorial/ios#co...

Re: Datastore API (beta)

#84

As someone who has been playing around with Parse and Firebase SDKs (on Android), this seems to be the first one that offers full 2-way sync. I haven't actually used it yet but it seems that way due to the presence of conflict resolution [1]. I'm personally really excited about that for mobile side-projects and MVPs. Parse has an offline cache, that only caches query results and not actual objects. So any local saves…

Yeah, the Datastores API does two-way synchronization. Also, offline caches are done for you and offline changes are propagated (with conflict resolution) when the internet comes back up.

Re: Datastore API (beta)

#85
post #83

So now app developers have a choice: they can use iCloud or Dropbox to manage distributed app state. Any iOS app developers (I'm not one) care to compare & contrast the two options? It looks like Dropbox may be using Operational Transformation [0] to merge changes to lists: Lists are special field values. They contain an ordered list of other values, though not other lists. Lists can be manipulated via four list oper…

Not answering your question, but developers can also use http://parse.com or similar.

Re: Datastore API (beta)

#86

As someone who has been playing around with Parse and Firebase SDKs (on Android), this seems to be the first one that offers full 2-way sync. I haven't actually used it yet but it seems that way due to the presence of conflict resolution [1]. I'm personally really excited about that for mobile side-projects and MVPs. Parse has an offline cache, that only caches query results and not actual objects. So any local saves…

Correction: "lacking in any realtime capabilities" should read "offline capabilities". And by that I mean offline without manually managing cache.

Also by 2-way sync I mean 2-way cache sync. Firebase is actually really good with 2-way sync, but without cache/offline (yet) it's kind of a dealbreaker for me.

Re: Datastore API (beta)

#87
post #45
post #42

Earlier quoted context omitted.

By Jove, you're right! Perhaps what we need is some kind of universal protocol for transferring files. We could call it the 'File Transfer Protocol' or something.

As it turns out, the protocol for actually transferring the files is utterly irrelevant compared to the protocol for getting updates, keeping various local stores synchronized, retaining versions, managing conflicts, handling client-side bugs and surprises, etc.

Yes, file synchronization is really the hard part from an architecture POV.

From everything I've seen so far, Git appears to provide the best solution. It is rather complex though, and it's a big challenge to build an intuitive user experience on top of this that shields non-technical users from a lot of the complexities.

Re: Datastore API (beta)

#88
post #82
post #72

Earlier quoted context omitted.

Thanks. Off topic but slightly related if I'm going to rely on your service as a developer: as an engineer at Dropbox, can you tell me why I am seeing random photos that are not mine in my dropbox Photos folder? And does this mean that other people get to see my random photos? Edit: only on iOS. And maybe it's not a "folder" per se, it's the second tab from the left at the bottom of the screen.

That photos tab shows you photos from anywhere in your Dropbox account, so these photos may be from shared folders you're a member of. (Likewise, other people can only see your photos if you shared them with them.) Another thing that may happen is someone "camera uploaded" their photos to your account (e.g., by plugging into your computer and choosing to import photos when Dropbox asked.) If you're still not sure whe…

Thanks, very informative answer. I think they must be from a certain shared folder I have access to, which would explain it. Quite a relief, actually.
Post reply on HN