Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D4CFB6436 for ; Thu, 9 Jun 2011 05:18:29 +0000 (UTC) Received: (qmail 35327 invoked by uid 500); 9 Jun 2011 05:18:28 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 35219 invoked by uid 500); 9 Jun 2011 05:18:27 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 35208 invoked by uid 99); 9 Jun 2011 05:18:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jun 2011 05:18:27 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.161.180] (HELO mail-gx0-f180.google.com) (209.85.161.180) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jun 2011 05:18:21 +0000 Received: by gxk10 with SMTP id 10so972009gxk.11 for ; Wed, 08 Jun 2011 22:18:00 -0700 (PDT) Received: by 10.236.143.2 with SMTP id k2mr298091yhj.500.1307596680157; Wed, 08 Jun 2011 22:18:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.147.125.13 with HTTP; Wed, 8 Jun 2011 22:17:40 -0700 (PDT) In-Reply-To: References: From: Mark Hahn Date: Wed, 8 Jun 2011 22:17:40 -0700 Message-ID: Subject: Re: Run Local Button - Improving End User Experience To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=20cf303a2fd7a15a3704a540932b X-Virus-Checked: Checked by ClamAV on apache.org --20cf303a2fd7a15a3704a540932b Content-Type: text/plain; charset=ISO-8859-1 I would also only want the browser interface. I don't even want the user to know anything resides locally. Of course they will have to check some approval box at some point, but users never understand those anyway. On Wed, Jun 8, 2011 at 4:43 PM, Randall Leeds wrote: > On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel wrote: > > awesome. What a killer idea. I want it! > > > > Alex > > > > > > > > 2011/6/9 Ryan Ramage > > > >> 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 > >> > > > -- Mark Hahn Website Manager mark@boutiquing.com 949-229-1012 --20cf303a2fd7a15a3704a540932b--