5 reasons why I’ve fallen in love with CouchDB again

Alastair Aitken 31 July 2013 0

Oftentimes whilst browsing YouTube I fall into a hole. Last month I fell into a mashup hole, where I wasted many hours viewing of dozens of mashups between unlikely combinations of artists, such as Iron Maiden and The Monkees with The Trooper Believer and even more surreally, AC/DC vs Ghostbusters in Thunder Busters.

Last week I fell into a CouchDB hole. I’ve just started using CouchDB again after a hiatus of many months and was attempting to get up to speed. To be clear: I’ve always loved CouchDB. There’s something very pure about the fact that it’s controlled and accessed via HTTP; just you try delivering a web application directly to a browser using MySQL.

What I read during the time in my CouchDB hole has made me fall in love with it all over again. Whilst there have always been areas of CouchDB where it fell short, these tended to be aesthetic problems that acted as barriers to initial acceptance.

Reason 1 – Improved installation

Until fairly recently CouchDB wasn’t particularly well-packaged but that’s changed. There was a time when one had to decide between installing via source code, Mac Ports, Homebrew or CouchDBX, none of which could be said to be particularly friendly. For Windows or Mac it’s now a simple case of downloading an installer.

Reason 2 – Improved documentation

Let’s be honest, the documentation used to be a pig. When trying to solve infuriating problems where CouchDB was involved, what you really didn’t need was to see the slogan “Relax” plastered everywhere: “Relax? It’s half past ten in the freaking’ evening and I need to make a code drop today and you’re suggesting I relax!!?”. As for some of the truly toe-curling videos, let’s paraphrase Frank Zappa, “does humor belong in software development?”

To mine eyes, CouchDB’s admin console, Futon, has always been very easy on the eye. Now the documentation is baked right into Futon and it’s as good a read as any developer’s manual can be. And that’s not damning with faint praise.

Reason 3 – Project activity

The recent announcement of the integration of BigCouch into the main CouchDB codebase highlights the fact that CouchDB is very much under active development.

The future of CouchDB had appeared uncertain after its founder, Damien Katz, left the project to form a startup, Couchbase. In a post entitled “The Future of CouchDB”, he stated, “What’s the future of CouchDB? It’s Couchbase.” Obviously there was a commercial angle to this announcement but it seemed more likely to spread FearUncertainty and Doubt about anything and everything CouchDB-related rather than steer the casual CouchDB user towards Couchbase.

Reason 4 – Regular release cycle

CouchDB is now on a 90 day release cycle. Whilst a release might contain only a few bug fixes, a project on a regular release cycle indicates an active and well-supported product.

Reason 5 – A well-defined roadmap

Perhaps more important than all the above points, was reading Jan Lehnardt’s announcement of aroadmap for CouchDB in The State of CouchDB. As well as outlining the release cycle, documentation improvements and generally giving the feel that this is a product with a bright future.

Although it’s been around a number of years, it always felt as though CouchDB was ahead of its time. It arrived in the days before it became possible to use Javascript at every level of a stack and before standalone web applications became mainstream. In combination with PouchDB, a CouchDB compatible data store and replication engine that lives entirely in the browser, CouchDB simplifies building web apps that synchronise data between laptop, mobile device and server.

It feels like the CouchDB renaissance has arrived.

Alastair Aitken (124 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.

Leave A Response »