Tuesday, November 29, 2011

Announcing the Novacut 11.11 components

This release is several days late, but I wanted to get the demo we showed off at the Ubuntu Developer Summit to a point where anyone could play with it. Unfortunately, we still don't have a nice way to set up the real-time sync, so it's not easy to play with this collaboratively (but for people familiar with CouchDB... setup up two-way continuous replication of the "project" database).

The point of this demo was just to show that the real-time collaboration works, so note that this doesn't at all represent the UI that will ship in the first Novacut beta release. This demo also isn't hooked up to the render server, although the UI does produce a valid Novacut edit description in CouchDB.

While at UDS and Linaro Connect, we used Dmedia to import over 700GB of video, audio, and photos. This was quite an abusive field test, and Dmedia passed with flying colors (although we'll be making several refinements based on the experience). We had four dual-slot card readers, and found ourselves importing as many as six cards at once.

We'd love testing and feedback on our revised import workflow, but we still aren't recommending Dmedia for general use... so as usual, please don't trust your data to it yet. Although Dmedia withstood its trial by fire, there is an incompatible database change we'll be making this month to make a "project" a clear unit of collaboration. Apologies that this keeps getting pushed back, but waiting is better than data loss, trust me.

Weekly Novacut IRC meetings

Starting this Sunday we'll be doing weekly IRC meetings at 16:00 UTC in the #novacut channel on freenode. We deliberately scheduled our meeting right after the Blender Sunday meeting to make it easy for people to attend both.

In case you haven't heard, the new Mango Open Movie project is going to be a VFX-intensive live action short shot in 4k. We're hoping that Dmedia can be used during Mango for ingest and asset management. So if you can attend the Novacut meeting, please consider stopping by #blendercoders on freenode the hour before.

Better Precision

Ubuntu 12.04 LTS "Precise Pangolin" will be a very important release for Novacut, so we're going to switch to it as our primary development platform very early (probably this week, actually). This fits nicely with the fact that Ubuntu is striving to maintain the daily quality of Precise Pangolin throughout its development cycle. We'll try to stay compatible with the current stable Ubuntu (11.10 "Oneiric Ocelot") for as long as possible, but we feel that being in great shape for 12.04 is a higher priority.

As Dmedia is getting dangerously close to being useful to "real people" (aka not just nerdy developers like yours truly), we're making a change in how we do our monthly stable releases to ensure that they're high quality. On the 2nd to last Thursday of the month (one week before release), we'll freeze the release branch and build packages in the new Novacut Pre-Stable PPA. Once these packages have been tested and we know the upgrade works smoothly, we'll copy them into the Novacut Stable PPA for general consumption.

Special thanks

Get the bits

Packages are available in the Novacut Stable Releases PPA for Ubuntu Oneiric and Precise. And you can download the source code from each component's Launchpad project page. Whoa, seven components and counting:

Contribute to 11.12 and beyond!

We always release on the last Thursday of the month. The 11.12 components will be released on Thursday December 29 2011, and development is already underway. To see what's in store for the next releases, checkout the 11.12 milestones:

That's all, folks!

Thanks to everyone who is helping make this dream a reality!

Cheers,
Jason Gerard DeRose

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