Couchio rap (literally) about CouchDB
The CouchDB developers at Couchio had some fun releasing a rap video dedicated to the NoSQL database, but tell The H they are serious about bringing their replicating database to the world.
The video, produced by Couchio as part of a series of monthly webcasts about the distributed, document oriented, offline replicating NoSQL database, has J. Chris Anderson (@jchris) and Claire McCabe (@clairecouchio), presenting the database in a strictly urban style after they decided that rap would be a good way to communicate the benefits of CouchDB. The H is proud to present the "I use Couch DB" video to the world:
Earlier this week, The H talked with CouchDB authors Damien Katz and Chris Anderson about Couchio, the company that they have created to support CouchDB. Anderson says of Couchio's plans that the company provides "value added support services around CouchDB on different platforms as well as hosting, but we aim to be the main provider. We're concentrating on the stuff that sets CouchDB apart from SQL databases. What our big real value add is, is offline replication which is what got Palm excited about it". He adds that "Couchio is really responding to market need, there's just so much interest in CouchDB and we've been working with people like the BBC." The BBC has been using CouchDB as part of their web infrastructure where it currently handles 155 million requests per day for 20 million documents. "So we're building a real company. Couchio aims to be the next Oracle."
The reference to Palm concerns the company's DB8 database being built into WebOS. Palm's implementation is based on their own database, but "they've built it to replicate CouchDB, designed to interoperate" adding that Palm already had a lot of "code in the can" but wanted interoperability. "It was really cool to see that come out, it's always nice to see people treating Couch as a protocol more than just a single database implementation". It's not just HP/Palm's WebOS with CouchDB support though; recently Aaron Miller created an experimental port of CouchDB to Android.
Erlang in the Couch
Inspiration and vision
The use of CouchDB to provide database replication for mobile phones wasn't something on Katz's mind when he created CouchDB. "When I had my vision of CouchDB, I was really thinking of laptops and smartphones weren't nearly as hot as they are. So I wasn't really thinking about it being on cellphones. But definitely the idea of taking your data with you on a laptop was always intended. The new ecosystem with phones has played well to our strengths". The underlying inspiration for CouchDB was, says Katz, Lotus Notes. "My background was Lotus Notes, so I'm copying a lot of what I knew to be successful with Notes. The back end concepts are the same. I know Notes is a sort of love/hate product. Notes is getting long in the tooth, but way back when it was a pretty innovative technology".
The immediate plan for CouchDB now though is getting to version 1.0, after freezing the features in version 0.11. For 1.0, the focus is "basically getting the API solid and stable" says Katz, "Nothing is blocking that right now. We're just waiting for things to stabilise. There's lots of smaller bugs and smaller things we want to add, but they can be post 1.0 as well. We're thinking that 1.0 can be within the next couple of months but it's a community process so it's not entirely under our control, so that's just a prediction". The only changes contemplated are security enhancements to prevent cross site scripting issues and essential bug fixes, though Katz hints that there may be some APIs added, but they are being "very carefully considered". "1.0 is just a number, but it's an important symbolic number. We already have the stability, we're on Ubuntu and ten million desktops.". Canonical's Ubuntu One service uses CouchDB in syncing the bookmarks, contacts and other information.
Planning for ubiquity
Beyond 1.0, CouchDB's focus for 1.1 will, says Anderson, be on the configuration system, "We want to make the replicators super-easy for people who aren't experts to manage". Beyond 1.1, Katz sees ubiquity as a goal for CouchDB; "The longer vision is that we want to Couch to be on every device, every laptop, every phone, and ideally we want to be part of the HTML standard for offline applications. Right now, they have a lot of stuff in the specification for building offline applications but for the most part, people aren't building these offline applications... they are very labour intensive.