Steve Sanderson gets it for sure
I was happy to read these two quotes from Steve Sanderson's new blog post: Oh CouchDB, Why Do I Love Thee So…? (Emphasis mine, throughout)
bq. For a piece of ‘middleware’, CouchDB has great elegance and great congruence with the bevy of potential uses, i.e. it appears to afford us the possibility to think about our problem/solution domains and our softwares internal models in in very similar fashions - with some very interesting beneficial side-effects (e.g. eventual consistency, availability)
This is what excited me about CouchDB when I was first hearing about it. It's. all. just. the. web. Only with a sexy scalable BTree storage model and Map Reduce.
The second quote gets to the heart of the most revolutionary (well it's an old idea, but it's gonna work this time) aspect of peer-based distributed systems:
bq. A CouchDB instance is sufficiently capable to become an application platform and that via the synchronization model, multiple instances of an application could run in a distributed & isolated manner and then synchronize and migrate as needed to different environments, i.e. run locally on laptops and sync and migrate up to centralized servers and then back down as needed. Instead of a rigid & pre-defined deployment structure, it’s more of an organic ’shape’ adjusting as needed. If this is a new degree of freedom, the potential is huge.
This was the part that surprised me, as I started to get more familiar with CouchDB. I'm still not sure what CouchApps are gonna look like, but exploring the potential is a great way to spend a winter break. Look for a walk-through on some RESTful blog software with our next book update.
by Nicholas Orr, 2009/02/17 06:04:51 +0000
I'm wondering about these CouchApps being all 'sharing the love' like.
It's nice that I can get an invoice app download it and add invoices to it "offline" then sync later - so maybe others in my account can see them. Then if I'm feeling really adventurous I can write a new template so my account's users invoices look pretty or have the word "Tax Invoice" in the header (company who wrote the software operates in a geo diff place that has no need for such headings). I then sync the code and bam all 5 of us users in the account now have invoices titled as "Tax Invoice" - woohoo.
So realife kicks in now. How does the author of the app allow me to upload code into the app - in that how does the author of app ensure the integrity of the app as a whole?
I'm assuming this sort of question will be addressed in the upcoming book of which I have read the rough cuts of :)
Cheers