couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randall Leeds <randall.le...@gmail.com>
Subject Re: Run Local Button - Improving End User Experience
Date Wed, 08 Jun 2011 23:43:52 GMT
On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel <alex@barbalex.ch> wrote:
> awesome. What a killer idea. I want it!
>
> Alex
>
>
>
> 2011/6/9 Ryan Ramage <ryan.ramage@gmail.com>
>
>> I am in the mist of a idea, and wanted to run it past the community
>> before I took it too far!
>>
>> As one of couches main features is the ability to replicate couchapps,
>> I think it would be cool if couchapps
>> could have a "Download + Run Local" button. Here is what clicking on
>> that button would do:

This is a cool idea and one that's been floating around in our
collective heads in various forms for a while I'm sure.

Max Ogden has this project: https://github.com/maxogden/chromecouch
It's just a tool to discover the couch behind a CouchApp and replicate
it to your local couch.
It doesn't handle any of the downloading and installation of couch, though.

Mikeal Rogers has this project: https://github.com/mikeal/pouchdb
He and I are aiming to get to a place where a modern browser can
support couchapp frameworks that seamlessly cache entire applications
on the client browser for offline use by using an opaque couchdb
object which syncs with the browsers IndexedDB.

To me, making this a nice experience that comes for free with a modern
browser is more compelling, but for those who want to run an Apache
CouchDB on their own desktop some combination of system-tray and
chromecouch work could be cool.

If you want to get involved please jump on board :).

>>
>> 1. Have a branded splash start for the couchapp.
>> 2. Start a process that downloads the latest couchdb for the users os
>> 3. Configures the local couch with some sane desktop defaults.
>> 4. Starts replication with the source db.
>> 5. After replication is complete, launch the local browser to the couchapp.
>>
>> After that, the user would have:
>> 1. a system tray icon (branded for that app) with some menu options
>> (open local site, open remote site, exit...)
>> 2. a desktop/system menu launch icon.
>>
>>
>> The main goal here is a smooth experience for an end user for running
>> a local couchapp, sync'd with the original couch.
>>
>> Implementation
>>
>> I have most of the pieces for this already in some of the apps I have
>> built. Here is what I imagine:
>>
>> 1. A 'webstart design doc'. A couchapp that would want to use this
>> would install a design doc. It would look kind of like this:
>>
>> http://reupholster.iriscouch.com/_utils/document.html?reupholster/_design/app
>>    Yes, it is using java webstart, which is an old technology, but I
>> have found it working surprisingly well with couchdb.
>>
>> 2. A small java desktop process. Handles downloading, starting,
>> stopping, and config of the couch.
>>   Yes, many of you will say java, blah blah :) ...but I also can see
>> having an optional couchdb-lucene, or elastic search, embedded in the
>> java process, connected with the new externals.
>>
>>
>> So I send it out there, what do you think. Would this be valuable?
>> Thoughts? Pitfalls? Duplicate projects?
>>
>>
>> Ryan
>>
>>
>> --
>> http://eckoit.com - Keep what you hear.
>> Twitter: @eckoit
>>
>

Mime
View raw message