“Why Doesn’t Quotebook Use Dropbox?”
A few of our most-asked syncing related support questions are:
- Why is Quotebook different than other iCloud apps?
- What are we doing to fix syncing?
- Why not Dropbox?
In today’s blog post, we’d like to shed a little light on these topics. Later we’ll get into the nuts and bolts of how Quotebook syncing works, but for now we’re going to focus on these three queries. Let’s divide them up to keep it simple.
Why is Quotebook different?
The simple answer is that Quotebook uses a different system than other apps. The long answer is that iCloud apps work using one of three technologies:
- Key-Value Data
- Documents in iCloud
- Core Data
We don’t use Key-Value syncing because it’s designed for limited amounts of data that doesn’t need to change very often. It’s great for things like Settings or User Preferences, but it doesn’t work for Quotebook — and it has no conflict resolution.
Documents in iCloud work in a similar way to Dropbox. It also isn’t the right fit for Quotebook because it’s designed for something like Microsoft Word, wherein you open one of multiple documents, work on it, and close it before continuing on with another. Many apps our users use in addition to Quotebook operate using this method, and while it’s a good one, it doesn’t handle databases.
Quotebook uses Core Data. It stores information as a database (which we need) and has automatic conflict resolution. This works perfectly for us because our app uses a ton of information often spread across multiple devices.
- For more information on Key-Value Data, read the article here.
- For more about Core Data, read here.
- For more on Documents in iCloud, read here.
What are we doing to fix syncing?
When we spoke to Apple at the World Wide Developers Conference, they told us that they would have many of our syncing problems fixed in iOS7. That comes out in the fall, and if all goes well it’ll fix a lot of the issues people have been having loading their quotes from iCloud.
A couple of things that will improve the syncing issues some of you have been having are that they’ve given us better debugging tools — Gauges are a good example. Gauges will let us see how much usage is in an iCloud account and what is uploaded/downloaded so that we can see the problems in development rather than guessing at them. It’s proactive instead of reactive debugging, and it should make everything move much more smoothly.
Luckily iOS7 is only a few months away, but while we wait for these new tools all we can ask for is your patience. In the meantime, you can watch the keynote from WWDC here.
Why not Dropbox?
We understand that Dropbox is really useful for a lot of our users, and we think it’s a great piece of technology. Unfortunately, it’s set up in a way that doesn’t work well with Quotebook.
The main issue with Dropbox is that it doesn’t handle databases that need concurrent access — like Quotebook, for example. Concurrent access is essentially multiple devices writing and reading data at the same time, like if you had Quotebook on your iPhone as well as an iPad.
With Dropbox, the most recent update to your database of quotes will overwrite any others. For example, if you had both your iPhone and your iPad offline and added quotes to each, then only the quotes from the latest device you updated will show up when you reconnect both devices. That could mean people losing quotes forever, and that’s not something we want to happen.
By using iCloud and Core Data, we make sure that all of your changes from any devices are logged and marked at the same time. It’s a lot more efficient, and it keeps anyone from losing data. While syncing might currently be taking a while, as mentioned we hope to have that fixed soon.
Thank you for your patience with us, and we hope these explanations help you better understand the inner workings of Quotebook!
If you’ve got any more questions for us, feel free to get in touch:
Twitter: @quotebookapp
Email: [email protected]