a glob of nerdishness

September 18, 2010

Ode to CouchDB

written by natevw @ 10:11 am

I mentioned that I’m using CouchDB for ShutterStem. What’s all this, then?

CouchDB has been on my radar for a long time but I only got serious about it in late 2009. Enough worrisome missing features were getting knocked out in each point release, as expertly-designed solutions, that I finally took the bait.

What impresses me most about CouchDB is its community’s willingness to give up the old comforts (temporarily or permanently) to help the Web become decentralized again. What impresses me second most about CouchDB is how it takes everything that the Web had been trying to get right (namely, REST and JSON) and simply implements them.

I’ve been using Django at work, and it’s a fantastic web framework…for building big old centralized HTML apps. “CouchDB makes Django look old-school in the same way that Django makes ASP look outdated.”

(That second sentence is in quotes because it’s by one of Django’s original core authors. I’m not sure he picked the right analogy, but you get the idea.)

I won’t give a technical overview here, because there are plenty already (and I’d like to get back to work on ShutterStem). Suffice it to say that I’m convinced CouchDB is indeed the filesystem for the web, and am delighted that projects like CouchApp are encouraging web developers to share this filesystem access with others. I hope that in good time, ShutterStem can become one shining example of why CouchDB is important.

September 6, 2010

ShutterStem 0.1: Developer Preview

written by natevw @ 12:03 pm

It wasn’t long after my parents bought me my first digital camera that I started thinking about the problem of photo organization. (And before that, I’d been pondering file organization in general.)

Call it digital asset management, content curation, or just getting better at sharing photos with my family and friends; it’s a problem for me. I’ve gone from using Windows Explorer to Picasa to iPhoto and now back to Finder, leaving behind half-hearted attempts at organization in text files, SQLite databases and AlbumData.xml backups, strewn across who knows how many “primary” computers. In seven years I have taken nearly a hundred thousand photos but shared less than twenty-five hundred online — with a huge gap between my early attempts and my current sharing.

I’m sick of legacy photo apps, no matter how “professional” they cost. To ever get my pictures successfully organized, I need a photo library that is:

  • open (extendable)
  • decentralized (syncable)
  • scalable

So I’m writing one, with a lot of help from CouchDB. It’s called ShutterStem and it’s not ready for human consumption. But if you’re a developer you can check out version 0.1 via its github project page.