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 DB39D4E4B for ; Fri, 10 Jun 2011 09:09:01 +0000 (UTC) Received: (qmail 1232 invoked by uid 500); 10 Jun 2011 09:09:00 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 1198 invoked by uid 500); 10 Jun 2011 09:09:00 -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 1190 invoked by uid 99); 10 Jun 2011 09:09:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jun 2011 09:09:00 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of bchesneau@gmail.com designates 209.85.214.52 as permitted sender) Received: from [209.85.214.52] (HELO mail-bw0-f52.google.com) (209.85.214.52) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jun 2011 09:08:54 +0000 Received: by bwj24 with SMTP id 24so3098958bwj.11 for ; Fri, 10 Jun 2011 02:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=IrQjx4RXjVi54gvObuGw4WUVR15bxzOzikepTCwvkTE=; b=TxYKSBE2pKW9lIq9n4Qh6MLCaUMRQ+dJXYLCJiwf2vNhL40EA/ZyfqHmLkxApGOzZ7 eiPHiWJPFzJqdvfFuHYFIlZU31nNktIlmcfVKGxkLdsnCRohkrauKoRda0fJeyQpChpG v4LJ4u3SrPCpWLNLgEKuwafWyHlM+cowYsVMo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Pom5szjACCTTF0jCBGYuoYTU0JjwFIlAb3OgUqf73MPJdWh/yzkRMTmEDbxlckR0AY OtMCC9OsLe7QPsu5Eb3kLaFmBemJg2A7s85XhHXh5+G7AbUMTwEqlNlcu9KO5CQlyl1H kn3UwX4mqqNGabna4RKBwKVB+1TUZHeeBetxA= MIME-Version: 1.0 Received: by 10.204.154.199 with SMTP id p7mr1633525bkw.114.1307696914076; Fri, 10 Jun 2011 02:08:34 -0700 (PDT) Received: by 10.204.153.20 with HTTP; Fri, 10 Jun 2011 02:08:34 -0700 (PDT) In-Reply-To: References: Date: Fri, 10 Jun 2011 11:08:34 +0200 Message-ID: Subject: Re: Run Local Button - Improving End User Experience From: Benoit Chesneau To: user@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Thu, Jun 9, 2011 at 1:43 AM, Randall Leeds wro= te: > 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, thoug= h. > > 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 couch= app. >>> >>> 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/_desi= gn/app >>> =A0 =A0Yes, 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. >>> =A0 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 >>> >> > There os also refuge with farme rmodule: http://vimeo.com/24719190 Auto discovery of nodes around. For the splash page have a look in 0.3 release next week, there is also a ticket about in jira.