You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Ryan Ramage <ry...@gmail.com> on 2011/06/09 00:35:20 UTC

Run Local Button - Improving End User Experience

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:

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

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
Alex,

I think I see the issue. I will talk with you off the couch list to keep the
chatter down.

Thanks
Ryan

On Sun, Jul 17, 2011 at 5:47 PM, Alexander Gabriel <al...@barbalex.ch> wrote:

> me once more
> my page is here:
> http://barbalex.iriscouch.com/evab-ch_barbalex_evab/_design/evab/index.html
> to access the download-link sign up. then on the first page, pick the
> menu-symbol on the top right, choose "meine Einstellungen"
> Alex
>
>
>
> 2011/7/18 Alexander Gabriel <al...@barbalex.ch>
>
> > Hi here I am again. My email is going crazy and kept changing the text of
> > the last mail wildly.
> >
> > This here got lost:
> > I think that ../takeout was missing in line 41 of takeout.js is a mistake
> >
> > Alex
> >
> >
> >
> >
> > 2011/7/18 Alexander Gabriel <al...@barbalex.ch>
> >
> >> Hi Ryan
> >>
> >> First: I have spent some time developing a couchapp now but I am
> biologist
> >> and still a beginner programmer. So if tehre is a stupid mistake one can
> >> make, I'm sure to do it.
> >>
> >> I replicated takeout into my couchapp, edited _design/takeout and added
> >> takeout.js. Then I inserted a reference to takeout.js plus the function
> >> and the html to present some explaining text and the link to download in
> a
> >> page of my couchapp.
> >>
> >> I then had to change line 41 in takeout.js to this:
> >> $this.append('<a class="takeoutLink"
> >> href="../../../takeout/_show/takeout.jnlp">'+ linkText + '</a>');
> >>
> >> ../../ because my document that links in in _show. That can vary in any
> >> couchapp.
> >>
> >> Now I get this error when the page loads:
> >> SCRIPT5007: Für die Eigenschaft "_trigger" kann kein Wert
> >> abgerufen werden: Das Objekt ist Null oder undefiniert
> >> jquery.mobile.js, Zeile 2515 Zeichen 3I also had to include ../takeout
> >> though. I believe that is a mistake in takeout.js.
> >>
> >> Alex
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> 2011/7/17 Ryan Ramage <ry...@gmail.com>
> >>
> >>> Desktop integrated couchapps, couchapp installers, and local/remote
> sync
> >>> management, from a link in your existing couchapp, now a reality :)
> >>>
> >>> Ok, at a very alpha, but functional stage. win and macosx support
> (still
> >>> need a linux couch 1.1.0 binary).
> >>>
> >>> Follow the readme to try out:
> >>> https://github.com/ryanramage/couchapp-takeout
> >>>
> >>> Feedback, ideas welcome!
> >>>
> >>> Ryan
> >>>
> >>
> >>
> >>
> >>
> >
>



-- 
Twitter: @eckoit
http://eckoit.com - Keep what you hear.
http://opendoorstories.com  - Create Experiences

Re: Run Local Button - Improving End User Experience

Posted by Alexander Gabriel <al...@barbalex.ch>.
me once more
my page is here:
http://barbalex.iriscouch.com/evab-ch_barbalex_evab/_design/evab/index.html
to access the download-link sign up. then on the first page, pick the
menu-symbol on the top right, choose "meine Einstellungen"
Alex



2011/7/18 Alexander Gabriel <al...@barbalex.ch>

> Hi here I am again. My email is going crazy and kept changing the text of
> the last mail wildly.
>
> This here got lost:
> I think that ../takeout was missing in line 41 of takeout.js is a mistake
>
> Alex
>
>
>
>
> 2011/7/18 Alexander Gabriel <al...@barbalex.ch>
>
>> Hi Ryan
>>
>> First: I have spent some time developing a couchapp now but I am biologist
>> and still a beginner programmer. So if tehre is a stupid mistake one can
>> make, I'm sure to do it.
>>
>> I replicated takeout into my couchapp, edited _design/takeout and added
>> takeout.js. Then I inserted a reference to takeout.js plus the function
>> and the html to present some explaining text and the link to download in a
>> page of my couchapp.
>>
>> I then had to change line 41 in takeout.js to this:
>> $this.append('<a class="takeoutLink"
>> href="../../../takeout/_show/takeout.jnlp">'+ linkText + '</a>');
>>
>> ../../ because my document that links in in _show. That can vary in any
>> couchapp.
>>
>> Now I get this error when the page loads:
>> SCRIPT5007: Für die Eigenschaft "_trigger" kann kein Wert
>> abgerufen werden: Das Objekt ist Null oder undefiniert
>> jquery.mobile.js, Zeile 2515 Zeichen 3I also had to include ../takeout
>> though. I believe that is a mistake in takeout.js.
>>
>> Alex
>>
>>
>>
>>
>>
>>
>>
>>
>> 2011/7/17 Ryan Ramage <ry...@gmail.com>
>>
>>> Desktop integrated couchapps, couchapp installers, and local/remote sync
>>> management, from a link in your existing couchapp, now a reality :)
>>>
>>> Ok, at a very alpha, but functional stage. win and macosx support (still
>>> need a linux couch 1.1.0 binary).
>>>
>>> Follow the readme to try out:
>>> https://github.com/ryanramage/couchapp-takeout
>>>
>>> Feedback, ideas welcome!
>>>
>>> Ryan
>>>
>>
>>
>>
>>
>

Re: Run Local Button - Improving End User Experience

Posted by Alexander Gabriel <al...@barbalex.ch>.
Hi here I am again. My email is going crazy and kept changing the text of
the last mail wildly.

This here got lost:
I think that ../takeout was missing in line 41 of takeout.js is a mistake

Alex



2011/7/18 Alexander Gabriel <al...@barbalex.ch>

> Hi Ryan
>
> First: I have spent some time developing a couchapp now but I am biologist
> and still a beginner programmer. So if tehre is a stupid mistake one can
> make, I'm sure to do it.
>
> I replicated takeout into my couchapp, edited _design/takeout and added
> takeout.js. Then I inserted a reference to takeout.js plus the function
> and the html to present some explaining text and the link to download in a
> page of my couchapp.
>
> I then had to change line 41 in takeout.js to this:
> $this.append('<a class="takeoutLink"
> href="../../../takeout/_show/takeout.jnlp">'+ linkText + '</a>');
>
> ../../ because my document that links in in _show. That can vary in any
> couchapp.
>
> Now I get this error when the page loads:
> SCRIPT5007: Für die Eigenschaft "_trigger" kann kein Wert abgerufen werden:
> Das Objekt ist Null oder undefiniert
> jquery.mobile.js, Zeile 2515 Zeichen 3I also had to include ../takeout
> though. I believe that is a mistake in takeout.js.
>
> Alex
>
>
>
>
>
>
>
>
> 2011/7/17 Ryan Ramage <ry...@gmail.com>
>
>> Desktop integrated couchapps, couchapp installers, and local/remote sync
>> management, from a link in your existing couchapp, now a reality :)
>>
>> Ok, at a very alpha, but functional stage. win and macosx support (still
>> need a linux couch 1.1.0 binary).
>>
>> Follow the readme to try out:
>> https://github.com/ryanramage/couchapp-takeout
>>
>> Feedback, ideas welcome!
>>
>> Ryan
>>
>
>
>
>

Re: Run Local Button - Improving End User Experience

Posted by Alexander Gabriel <al...@barbalex.ch>.
Hi Ryan

First: I have spent some time developing a couchapp now but I am biologist
and still a beginner programmer. So if tehre is a stupid mistake one can
make, I'm sure to do it.

I replicated takeout into my couchapp, edited _design/takeout and added
takeout.js. Then I inserted a reference to takeout.js plus the function and
the html to present some explaining text and the link to download in a page
of my couchapp.

I then had to change line 41 in takeout.js to this:
$this.append('<a class="takeoutLink"
href="../../../takeout/_show/takeout.jnlp">'+ linkText + '</a>');

../../ because my document that links in in _show. That can vary in any
couchapp.

Now I get this error when the page loads:
SCRIPT5007: Für die Eigenschaft "_trigger" kann kein Wert abgerufen werden:
Das Objekt ist Null oder undefiniert
jquery.mobile.js, Zeile 2515 Zeichen 3I also had to include ../takeout
though. I believe that is a mistake in takeout.js.

Alex







2011/7/17 Ryan Ramage <ry...@gmail.com>

> Desktop integrated couchapps, couchapp installers, and local/remote sync
> management, from a link in your existing couchapp, now a reality :)
>
> Ok, at a very alpha, but functional stage. win and macosx support (still
> need a linux couch 1.1.0 binary).
>
> Follow the readme to try out:
> https://github.com/ryanramage/couchapp-takeout
>
> Feedback, ideas welcome!
>
> Ryan
>

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
Desktop integrated couchapps, couchapp installers, and local/remote sync
management, from a link in your existing couchapp, now a reality :)

Ok, at a very alpha, but functional stage. win and macosx support (still
need a linux couch 1.1.0 binary).

Follow the readme to try out:
https://github.com/ryanramage/couchapp-takeout

Feedback, ideas welcome!

Ryan

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
The couch I am querying is the local one which is installed on the users
machine, so they are the admin by default.

The replication then is a pull request from the local couch to the remote
couch.

Ryan

On Thu, Jul 14, 2011 at 4:26 PM, Max Ogden <ma...@maxogden.com> wrote:

> non admins aren't allowed to access replication statuses :( so your users
> will have to be admins
>
> On Thu, Jul 14, 2011 at 12:21 PM, Filipe David Manana
> <fd...@apache.org>wrote:
>
> > On Thu, Jul 14, 2011 at 8:10 PM, Ryan Ramage <ry...@gmail.com>
> > wrote:
> > > Ok, I am almost done this. I am excited, as it seems to work very well.
> > >
> > > One question, how can I get the progress of a one time replication? Is
> > there
> > > something on the _active_task line that I can use to inform the user
> how
> > > long the replication will take (percent complete) ? Currently I have to
> > use
> > > an indeterminate progress bar.
> >
> > Look at the screenshot at:
> >
> >
> >
> https://issues.apache.org/jira/secure/attachment/12483855/active_tasks_times.png
> >
> > This is the current state of subversion's trunk (1.2.0 will be cut
> > from there eventually).
> >
> > >
> > > And if anyone wants to follow along, you can here:
> > > https://github.com/ryanramage/couchapp-takeout
> > >
> > >
> > >
> > >
> > >
> > > On Mon, Jul 11, 2011 at 7:51 PM, Max Ogden <ma...@maxogden.com> wrote:
> > >
> > >> Mozilla open web apps would be a great 'movement' to partner with as
> > well.
> > >> They're thinking a lot about these problems lately.
> > >>
> > >> On Mon, Jul 11, 2011 at 3:15 PM, Ryan Ramage <ry...@gmail.com>
> > >> wrote:
> > >>
> > >> > >
> > >> > >
> > >> > > I also think that the chrome extension could be improved upon to
> > more
> > >> > > generically be the kind of 'Download + run local' button that you
> > are
> > >> > > talking about
> > >> > >
> > >> > >
> > >> > At a higher level, since this is kind of a new concept for end
> users,
> > >> what
> > >> > shall we brand this action? Google has introduced 'Takeout', maybe
> we
> > >> could
> > >> > hitch on that?
> > >> > What would be the perfect text, on the button and maybe tooltip? eg:
> > >> >
> > >> > Button:    Takeout
> > >> > on hover: "Download and run this application on your own computer.
> > Keep
> > >> the
> > >> > data and/or sync it with the online version."
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Twitter: @eckoit
> > > http://eckoit.com - Keep what you hear.
> > > http://opendoorstories.com  - Create Experiences
> > >
> >
> >
> >
> > --
> > Filipe David Manana,
> > fdmanana@gmail.com, fdmanana@apache.org
> >
> > "Reasonable men adapt themselves to the world.
> >  Unreasonable men adapt the world to themselves.
> >  That's why all progress depends on unreasonable men."
> >
>

Re: Run Local Button - Improving End User Experience

Posted by Max Ogden <ma...@maxogden.com>.
non admins aren't allowed to access replication statuses :( so your users
will have to be admins

On Thu, Jul 14, 2011 at 12:21 PM, Filipe David Manana
<fd...@apache.org>wrote:

> On Thu, Jul 14, 2011 at 8:10 PM, Ryan Ramage <ry...@gmail.com>
> wrote:
> > Ok, I am almost done this. I am excited, as it seems to work very well.
> >
> > One question, how can I get the progress of a one time replication? Is
> there
> > something on the _active_task line that I can use to inform the user how
> > long the replication will take (percent complete) ? Currently I have to
> use
> > an indeterminate progress bar.
>
> Look at the screenshot at:
>
>
> https://issues.apache.org/jira/secure/attachment/12483855/active_tasks_times.png
>
> This is the current state of subversion's trunk (1.2.0 will be cut
> from there eventually).
>
> >
> > And if anyone wants to follow along, you can here:
> > https://github.com/ryanramage/couchapp-takeout
> >
> >
> >
> >
> >
> > On Mon, Jul 11, 2011 at 7:51 PM, Max Ogden <ma...@maxogden.com> wrote:
> >
> >> Mozilla open web apps would be a great 'movement' to partner with as
> well.
> >> They're thinking a lot about these problems lately.
> >>
> >> On Mon, Jul 11, 2011 at 3:15 PM, Ryan Ramage <ry...@gmail.com>
> >> wrote:
> >>
> >> > >
> >> > >
> >> > > I also think that the chrome extension could be improved upon to
> more
> >> > > generically be the kind of 'Download + run local' button that you
> are
> >> > > talking about
> >> > >
> >> > >
> >> > At a higher level, since this is kind of a new concept for end users,
> >> what
> >> > shall we brand this action? Google has introduced 'Takeout', maybe we
> >> could
> >> > hitch on that?
> >> > What would be the perfect text, on the button and maybe tooltip? eg:
> >> >
> >> > Button:    Takeout
> >> > on hover: "Download and run this application on your own computer.
> Keep
> >> the
> >> > data and/or sync it with the online version."
> >> >
> >>
> >
> >
> >
> > --
> > Twitter: @eckoit
> > http://eckoit.com - Keep what you hear.
> > http://opendoorstories.com  - Create Experiences
> >
>
>
>
> --
> Filipe David Manana,
> fdmanana@gmail.com, fdmanana@apache.org
>
> "Reasonable men adapt themselves to the world.
>  Unreasonable men adapt the world to themselves.
>  That's why all progress depends on unreasonable men."
>

Re: Run Local Button - Improving End User Experience

Posted by Filipe David Manana <fd...@apache.org>.
On Thu, Jul 14, 2011 at 8:10 PM, Ryan Ramage <ry...@gmail.com> wrote:
> Ok, I am almost done this. I am excited, as it seems to work very well.
>
> One question, how can I get the progress of a one time replication? Is there
> something on the _active_task line that I can use to inform the user how
> long the replication will take (percent complete) ? Currently I have to use
> an indeterminate progress bar.

Look at the screenshot at:

https://issues.apache.org/jira/secure/attachment/12483855/active_tasks_times.png

This is the current state of subversion's trunk (1.2.0 will be cut
from there eventually).

>
> And if anyone wants to follow along, you can here:
> https://github.com/ryanramage/couchapp-takeout
>
>
>
>
>
> On Mon, Jul 11, 2011 at 7:51 PM, Max Ogden <ma...@maxogden.com> wrote:
>
>> Mozilla open web apps would be a great 'movement' to partner with as well.
>> They're thinking a lot about these problems lately.
>>
>> On Mon, Jul 11, 2011 at 3:15 PM, Ryan Ramage <ry...@gmail.com>
>> wrote:
>>
>> > >
>> > >
>> > > I also think that the chrome extension could be improved upon to more
>> > > generically be the kind of 'Download + run local' button that you are
>> > > talking about
>> > >
>> > >
>> > At a higher level, since this is kind of a new concept for end users,
>> what
>> > shall we brand this action? Google has introduced 'Takeout', maybe we
>> could
>> > hitch on that?
>> > What would be the perfect text, on the button and maybe tooltip? eg:
>> >
>> > Button:    Takeout
>> > on hover: "Download and run this application on your own computer. Keep
>> the
>> > data and/or sync it with the online version."
>> >
>>
>
>
>
> --
> Twitter: @eckoit
> http://eckoit.com - Keep what you hear.
> http://opendoorstories.com  - Create Experiences
>



-- 
Filipe David Manana,
fdmanana@gmail.com, fdmanana@apache.org

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
Ok, I am almost done this. I am excited, as it seems to work very well.

One question, how can I get the progress of a one time replication? Is there
something on the _active_task line that I can use to inform the user how
long the replication will take (percent complete) ? Currently I have to use
an indeterminate progress bar.

And if anyone wants to follow along, you can here:
https://github.com/ryanramage/couchapp-takeout





On Mon, Jul 11, 2011 at 7:51 PM, Max Ogden <ma...@maxogden.com> wrote:

> Mozilla open web apps would be a great 'movement' to partner with as well.
> They're thinking a lot about these problems lately.
>
> On Mon, Jul 11, 2011 at 3:15 PM, Ryan Ramage <ry...@gmail.com>
> wrote:
>
> > >
> > >
> > > I also think that the chrome extension could be improved upon to more
> > > generically be the kind of 'Download + run local' button that you are
> > > talking about
> > >
> > >
> > At a higher level, since this is kind of a new concept for end users,
> what
> > shall we brand this action? Google has introduced 'Takeout', maybe we
> could
> > hitch on that?
> > What would be the perfect text, on the button and maybe tooltip? eg:
> >
> > Button:    Takeout
> > on hover: "Download and run this application on your own computer. Keep
> the
> > data and/or sync it with the online version."
> >
>



-- 
Twitter: @eckoit
http://eckoit.com - Keep what you hear.
http://opendoorstories.com  - Create Experiences

Re: Run Local Button - Improving End User Experience

Posted by Max Ogden <ma...@maxogden.com>.
Mozilla open web apps would be a great 'movement' to partner with as well.
They're thinking a lot about these problems lately.

On Mon, Jul 11, 2011 at 3:15 PM, Ryan Ramage <ry...@gmail.com> wrote:

> >
> >
> > I also think that the chrome extension could be improved upon to more
> > generically be the kind of 'Download + run local' button that you are
> > talking about
> >
> >
> At a higher level, since this is kind of a new concept for end users, what
> shall we brand this action? Google has introduced 'Takeout', maybe we could
> hitch on that?
> What would be the perfect text, on the button and maybe tooltip? eg:
>
> Button:    Takeout
> on hover: "Download and run this application on your own computer. Keep the
> data and/or sync it with the online version."
>

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
>
>
> I also think that the chrome extension could be improved upon to more
> generically be the kind of 'Download + run local' button that you are
> talking about
>
>
At a higher level, since this is kind of a new concept for end users, what
shall we brand this action? Google has introduced 'Takeout', maybe we could
hitch on that?
What would be the perfect text, on the button and maybe tooltip? eg:

Button:    Takeout
on hover: "Download and run this application on your own computer. Keep the
data and/or sync it with the online version."

Re: Run Local Button - Improving End User Experience

Posted by Max Ogden <ma...@maxogden.com>.
Sounds cool! I have been thinking in a similar vein but trying to keep
everything in JavaScript :P I started hacking on this chrome extension that
detects couchapps as your browse (thanks to some code from @sbisbee) and
lets you replicate them to your couch:
https://chrome.google.com/webstore/detail/clbdmcdmjlpgedncppkbkepbilnhgddh

I've also been hacking on Pouch, which is a pure javascript implementation
of Couch that will let you replicate data into HTML5 indexeddb. CouchApps
can then be written using the HTML5 offline cache manifest specification and
'installed' into the browser that way.

This stuff is months and months from being usable but I thought i'd chime in
on how i'm approaching the problem.

I also think that the chrome extension could be improved upon to more
generically be the kind of 'Download + run local' button that you are
talking about

Max

p.s. check out the couch management utilities on Jason's github account:
http://github.com/iriscouch you might be able to repurpose some of that
stuff


On Mon, Jul 11, 2011 at 1:20 PM, Ryan Ramage <ry...@gmail.com> wrote:

> After sitting on this, I really want to give this idea a go. I will make it
> generic so that it's really easy to add to existing couchapps.
>
>  One thing I need help with from the community is tracking down couchdb
> binaries for various os's, tagged to the latest official release. For now I
> would want to support at least win, mac, and ubuntu/debian.
>
> I know dch has a great spot for windows binaries here:
> https://github.com/dch/couchdb/downloads
>
> Could someone point me to osx and ubuntu/debian binaries built against
> 1.1.0?
>
>
>
> On Wed, Jun 8, 2011 at 4:35 PM, Ryan Ramage <ry...@gmail.com> wrote:
>
> > 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:
> >
> > 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
> >
> > --
> Twitter: @eckoit
> http://eckoit.com - Keep what you hear.
>

Re: Run Local Button - Improving End User Experience

Posted by Benoit Chesneau <bc...@gmail.com>.
On Mon, Jul 11, 2011 at 10:59 PM, Ryan Ramage <ry...@gmail.com> wrote:
> Benoit,
>
> I see http://rcouch.refuge.io:8000/dl/
>
> I would like to base off 1.1.0 for now (keeping in line with iris couch) as
> a lot of couch apps are hosted there. Can you tell me which rcouch download
> is off the 1.1.0 tag? I cant tell...
>
> Ryan
>

https://github.com/refuge/rcouch_template


allows you to build against 1.1.0 . for windows support you will have
to wait the new core version though.

- benoit

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
Benoit,

I see http://rcouch.refuge.io:8000/dl/

I would like to base off 1.1.0 for now (keeping in line with iris couch) as
a lot of couch apps are hosted there. Can you tell me which rcouch download
is off the 1.1.0 tag? I cant tell...

Ryan

On Mon, Jul 11, 2011 at 2:55 PM, Benoit Chesneau <bc...@gmail.com>wrote:

> On Mon, Jul 11, 2011 at 10:20 PM, Ryan Ramage <ry...@gmail.com>
> wrote:
> > After sitting on this, I really want to give this idea a go. I will make
> it
> > generic so that it's really easy to add to existing couchapps.
> >
> >  One thing I need help with from the community is tracking down couchdb
> > binaries for various os's, tagged to the latest official release. For now
> I
> > would want to support at least win, mac, and ubuntu/debian.
> >
> > I know dch has a great spot for windows binaries here:
> > https://github.com/dch/couchdb/downloads
> >
> > Could someone point me to osx and ubuntu/debian binaries built against
> > 1.1.0?
> >
> >
>
> rcouch. also windows is mostly working now. refuge and all its feature
> will be available this week.
>
> - benoît
>



-- 
Twitter: @eckoit
http://eckoit.com - Keep what you hear.
http://opendoorstories.com  - Create Experiences

Re: Run Local Button - Improving End User Experience

Posted by Benoit Chesneau <bc...@gmail.com>.
On Mon, Jul 11, 2011 at 10:20 PM, Ryan Ramage <ry...@gmail.com> wrote:
> After sitting on this, I really want to give this idea a go. I will make it
> generic so that it's really easy to add to existing couchapps.
>
>  One thing I need help with from the community is tracking down couchdb
> binaries for various os's, tagged to the latest official release. For now I
> would want to support at least win, mac, and ubuntu/debian.
>
> I know dch has a great spot for windows binaries here:
> https://github.com/dch/couchdb/downloads
>
> Could someone point me to osx and ubuntu/debian binaries built against
> 1.1.0?
>
>

rcouch. also windows is mostly working now. refuge and all its feature
will be available this week.

- benoît

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
After sitting on this, I really want to give this idea a go. I will make it
generic so that it's really easy to add to existing couchapps.

 One thing I need help with from the community is tracking down couchdb
binaries for various os's, tagged to the latest official release. For now I
would want to support at least win, mac, and ubuntu/debian.

I know dch has a great spot for windows binaries here:
https://github.com/dch/couchdb/downloads

Could someone point me to osx and ubuntu/debian binaries built against
1.1.0?



On Wed, Jun 8, 2011 at 4:35 PM, Ryan Ramage <ry...@gmail.com> wrote:

> 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:
>
> 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
>
> --
Twitter: @eckoit
http://eckoit.com - Keep what you hear.

Re: Run Local Button - Improving End User Experience

Posted by Benoit Chesneau <bc...@gmail.com>.
On Fri, Jun 10, 2011 at 11:08 AM, Benoit Chesneau <bc...@gmail.com> wrote:
> On Thu, Jun 9, 2011 at 1:43 AM, Randall Leeds <ra...@gmail.com> wrote:
>> On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel <al...@barbalex.ch> wrote:
>>> awesome. What a killer idea. I want it!
>>>
>>> Alex
>>>
>>>
>>>
>>> 2011/6/9 Ryan Ramage <ry...@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
>>>>
>>>
>>
> 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.
>

Also another start/stop work in progress:

http://vimeo.com/24262924

- benoît

Re: Run Local Button - Improving End User Experience

Posted by Benoit Chesneau <bc...@gmail.com>.
On Thu, Jun 9, 2011 at 1:43 AM, Randall Leeds <ra...@gmail.com> wrote:
> On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel <al...@barbalex.ch> wrote:
>> awesome. What a killer idea. I want it!
>>
>> Alex
>>
>>
>>
>> 2011/6/9 Ryan Ramage <ry...@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
>>>
>>
>
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.

Re: Run Local Button - Improving End User Experience

Posted by Ryan Ramage <ry...@gmail.com>.
> 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.
>

I agree. Users are very easily confused. A download and run local
option would be way over the top for a large portion of people.
But giving them at least the choice? Is that not at least empowering
them with the option to own their data?


>> 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.
>>

I had stumbled across pouchdb. It looks very cool and promising. Do
you see it being able to be the same as couch?
One issue I see is when developing a couchapp in that way is then
having to think about all the different 'containers' it will be in.
Coming from a java background, this was always a headache (MIDP
profiles, web application containers). I know in the past I asked the
couchdb mailing list about linking local js files into the view
server. One side of the no answer was that it would make couch apps
not portable. Now I can
see the benefit of that.

I guess similar issues with even the desktop couchapp is what
supporting stuff is installed...geocouch, couch-lucerne, elastic
search.

To get desktop couch as a browser plugin seems like work...3-4 main
browsers * 3 main os's. Has anyone tried?

So I think it comes down to some main questions:
1. Are local-remote couchapps end user friendly?
2. How do we handle what couch features are available?
3. whats the best way to implement....browser plugin, webstart like
app, end user standalone install.






-- 
Twitter: @eckoit
http://eckoit.com - Keep what you hear.
http://opendoorstories.com  - Create Experiences

Re: Run Local Button - Improving End User Experience

Posted by Mark Hahn <ma...@boutiquing.com>.
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 <ra...@gmail.com>wrote:

> On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel <al...@barbalex.ch> wrote:
> > awesome. What a killer idea. I want it!
> >
> > Alex
> >
> >
> >
> > 2011/6/9 Ryan Ramage <ry...@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
> >>
> >
>



-- 
Mark Hahn
Website Manager
mark@boutiquing.com
949-229-1012

Re: Run Local Button - Improving End User Experience

Posted by Randall Leeds <ra...@gmail.com>.
On Wed, Jun 8, 2011 at 15:57, Alexander Gabriel <al...@barbalex.ch> wrote:
> awesome. What a killer idea. I want it!
>
> Alex
>
>
>
> 2011/6/9 Ryan Ramage <ry...@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
>>
>

Re: Run Local Button - Improving End User Experience

Posted by Alexander Gabriel <al...@barbalex.ch>.
awesome. What a killer idea. I want it!

Alex



2011/6/9 Ryan Ramage <ry...@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:
>
> 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
>