Monday, November 21, 2011

Note on Ubuntu One dropping CouchDB sync

Today it was announced that Ubuntu One will be dropping support for CouchDB sync. We already knew this was coming as John Lenton and Stuart Langridge kindly gave us a private heads-up the first day of UDS, but now that it's public, I wanted to clear the air about how this affects Novacut.

How does this affect Novacut?

In the short run, this has little impact on Novacut. Because of the scaling difficulties presented by the particular way Ubuntu One needed to use CouchDB, we couldn't reliably sync larger databases like dmedia through Ubuntu One anyway, so we weren't counting on this being available (not that it wouldn't have been nice).

And as of several releases ago, we just happened to migrate away from desktopcouch to my experimental desktopcouch alternative, dc3. This was done to work around some areas where desktopcouch was a bit awkward for what we were trying to do (or maybe my spidey sense was tingling, hehe). Point is, even if desktopcouch is removed from the Ubuntu archive, that's no skin off our backs as we no longer use it.

So for now, we'll keep using dc3 and CouchDB as we currently do, and as long as CouchDB remains at least in Ubuntu Universe (which being in Debian, it will), we're all fine and good.

What will Novacut do longer term?

We're going to closely follow the U1DB development, which John and Stuart discussed with us a bit at UDS. My first impression is that although U1DB (as currently envisioned) might not be a good fit for the Novacut editor, U1DB does seem a better fit for the Novacut player than CouchDB is. As U1DB will be in-process and not require a per-user server, it's more amiable to say TVs and Tablets (big grin).

I must admit that I consider Erlang a liability on the desktop, both because it means dragging in an additional run-time and because it doesn't easily integrate with the platform (dbus, etc). So I was already longing for something like CouchDB, but written in Python or Vala... and U1DB might be just the ticket.

All the same, we could end up sticking with CouchDB, or at least sticking with it server-side. If possible, it would be nice for our components to work equally well with CouchDB or U1DB. Time will tell.

Regardless, I'm going to be involved with the U1DB efforts where I imagine my experience building "painfully ambitious" desktop apps that use documented-oriented databases will prove useful :P

No comments:

Post a Comment