

Dropbox Sync API - cpg
https://www.dropbox.com/developers/sync

======
HorizonXP
This is awesome stuff. It really adds a lot of end-user benefits when your app
is able to sync via Dropbox.

While the APIs are only for iOS and Android, on BlackBerry 10, it's
technically baked into the OS. If the user has linked their device to Dropbox,
the OS automatically syncs the filelist and presents it as a part of the
filesystem. This means that the user can open, edit, and save files directly
to their Dropbox, without having to worry about connectivity. This also means
that every BlackBerry 10 app can access your Dropbox folder, for free.

Even still, I have a feeling the Sync API likely offers something more than
what I've described, but I haven't had a chance to delve into it. But I'm glad
to see Dropbox branching out like this.

~~~
nns
It'll be great to see this built into iOS as well. But they probably wont,
cause that would just kill their iCloud storage sales.

I've run out of my iCloud free plan and will need to buy some memory soon even
though I've got gigs of Dropbox that I'd much better prefer to use !

~~~
untog
Not to beat a dead horse, but this is what really concerns me about iOS. It
isn't that these hooks are missing, it's that Apple has a vested interest in
never providing them.

Google has a similar interest, but has provided them in Android anywyay. The
lack of an Intents system in iOS is annoying, and I'm concerned we'll never
see one added.

------
qompiler
I never understood this, the tutorial shows how to authenticate.

mDbxAcctMgr = DbxAccountManager.getInstance(getApplicationContext(), APP_KEY,
APP_SECRET);

So anyone with some basic Android knowledge will be able to extract my
applications key and secret?

~~~
thomseddon
Essentially no client side app can be considered able to keep secrets.

I would be interested in the implications of this from the authorising servers
perspective. Here is the main mention of it in the OAuth spec:
<http://tools.ietf.org/html/rfc6749#page-52> and google's interpretation:
[https://developers.google.com/accounts/docs/OAuth2InstalledA...](https://developers.google.com/accounts/docs/OAuth2InstalledApp).
Even though google say "t is assumed that these applications cannot keep
secrets" I can't quite infer the actual implications of this?

~~~
thomseddon
Incidentally, this exact topic is now under discussion:
<http://news.ycombinator.com/item?id=5337099>

------
mpvosseller
If a user doesn't have an account (or hasn't linked their account yet) Dropbox
should let developers store data in an anonymous account tied to that device
until the uses does. I think developers would pay for that.

~~~
p0ckets
I think Dropbox should pay developers to do this. You already have n apps
storing x MB of data on Dropbox, sign up now for a free account!

------
sammorrisdesign
I kind of hope this ends up replacing iCloud in a lot of apps. iAwriter could
really do with using Dropbox by default.

~~~
robgough
Agreed. I'm finding the iOS version of iA Writer doesn't like it when I modify
the file elsewhere - I have to manually switch files for it to detect the
change.

------
rasmuskl
Great stuff. Now it just needs to find it's way into the KeePass apps.

~~~
wcfields
I've been using KeePass with Dropbox to send the file across devices,
unfortunately it not a true sync, so if I add a Password into my iPhone (rare
as that is), I can't update the master password file on Dropbox.

------
rehashed
Does this require that my apps users each have a dropbox account?

~~~
nns
Yes! From their "Getting Started" section - " you'll need to add snippets of
code in the right places to successfully link a user's Dropbox account to your
app"

------
Aissen
Android has had a Backup API for a _long_ time:
[http://developer.android.com/training/cloudsync/backupapi.ht...](http://developer.android.com/training/cloudsync/backupapi.html)

It's one of the most useful, yet under-used feature of Android. It allows apps
to save their settings for when users change devices. Sadly, it doesn't allow
sync-ing.

------
smogzer
I could use this for a Qt app. Why not a c or c++ api instead of IOs and
android ?

~~~
simonh
A c or c++ api for which platform?

Dropbox have to implement this api on a per-platform basis, so the question is
first which platforms to support, then on those platforms what language APIs
to provide.

------
damon
I like the iOS API's simplicity. Also the ability to attach observers to file
objects. Much easier to use than iCloud (IMHO) and cross platform are huge
advantages for me personally.

~~~
chacham15
One thing that I really have to complement Dropbox for is their abstraction
layer. It is so much simpler and easier to use than other providers versions
of the same API (e.g. Google Drive).

------
joeshaw
Anybody know what API they're using under the hood for this? I have wanted to
use the delta REST API (<https://www.dropbox.com/developers/core/api#delta>)
but since I can't limit it to the subdirs my app cares about, I get
overwhelmed with a lot of noise and it generally ends up being more data than
polling and walking the sub-tree each time.

~~~
jmathai
The delta API is a real pain to work with unless you're interested in keep the
entire Dropbox state in sync.

I ran into the same thing and it was only on my (fairly inactive) Dropbox
account.

The other problem is that the API doesn't differentiate between a simple
rename and a delete+create. I understand that's just file system semantics but
I wish their API was a little smarter than that.

I digress. The delta API has left me with scars.

------
adlpz
It'd be nice to have the API also for platforms like Windows Phone/Windows 8
and a pure javascript implementation.

Still, this is quite good.

------
dmishe
Wasn't this announced a month or so ago?

~~~
robotnixon
29 days ago:

<https://www.dropbox.com/developers/blog/26>

------
defrndr
Is there anyway one can use it for a web app? I only see Android and iOS
support.

~~~
damon
Take a look at the Core API for use from a web app:
<https://www.dropbox.com/developers/core/gs>

------
brown9-2
For a just-released API/SDK, the documentation and tutorial on this is pretty
nice.

Especially nice that for the Android SDK documentation, they didn't just
publish javadoc-generated html files.

------
marban
I'd like to see this baked into Mac/Win applications since I'm not using
Dropbox but would still like to use sync capabilities without having to
install the whole desktop client.

------
cmelbye
How did apps that used Dropbox handle it before this? Did they have to write a
mechanism to sync data themselves?

~~~
mtrimpe
From what I know most apps directly wrote to your Dropbox via their API, so
not to the local file system first.

That meant you either had to be always online, or you had to write your own
caching & syncing mechanism.

