rework restart-run-all dialog #465

Merged
merged 3 commits into from Oct 2, 2015

Conversation

Projects
None yet
7 participants
@minrk
Member

minrk commented Sep 20, 2015

  • give Restart & Run All action its own dialog
  • add Restart & Run All button to regular restart dialog
  • add -no-confirm version of both restart and restart-run-all actions, so they are available for shortcuts, etc.

closes #440

Kernel Menu:

screen shot 2015-09-20 at 15 50 16

Restart & Run All dialog:

screen shot 2015-09-20 at 15 50 22

Restart dialog:

screen shot 2015-09-20 at 15 50 31

@minrk minrk added this to the 4.1 milestone Sep 20, 2015

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 20, 2015

Member

If we don't like the too-many-options case, we can pick either the Run All dialog or the Run All button in the existing dialog and remove Run All from the kernel menu.

Member

minrk commented Sep 20, 2015

If we don't like the too-many-options case, we can pick either the Run All dialog or the Run All button in the existing dialog and remove Run All from the kernel menu.

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 20, 2015

Member

cc @ellisonbg @willingc for dialog text/button review.

Member

minrk commented Sep 20, 2015

cc @ellisonbg @willingc for dialog text/button review.

@willingc

This comment has been minimized.

Show comment
Hide comment
@willingc

willingc Sep 20, 2015

Member

@minrk I'll do a bit of thinking on this.

In general, "Restart & Run All" is not feeling specific enough to me when placed under "Kernel" menu. Somehow would like it to reflect what is being run. "Restart and run notebook" is more accurate but longer (though I am not sure how much that matters when balancing clarity vs length on modern screens).

Personally, I would simplify the Restart dialog. Title: Restart kernel? I would opt for two buttons "Continue" and "Restart" instead of four. Perhaps a more specific warning: "You will lose the contents of existing variables when restarting the kernel."

I like the option to "Restart & Run All". Perhaps change dialog title: "Restart kernel, reinitialize notebook, and run all cells?" Perhaps two buttons: "Cancel" and "Restart and run all cells" or "Restart and run all".

While clearing the cell content is a nice convenience, I think that I would not put it in the dialog but put in the menu if desired as "Restart and clear notebook output" or "Restart and clear notebook".

Member

willingc commented Sep 20, 2015

@minrk I'll do a bit of thinking on this.

In general, "Restart & Run All" is not feeling specific enough to me when placed under "Kernel" menu. Somehow would like it to reflect what is being run. "Restart and run notebook" is more accurate but longer (though I am not sure how much that matters when balancing clarity vs length on modern screens).

Personally, I would simplify the Restart dialog. Title: Restart kernel? I would opt for two buttons "Continue" and "Restart" instead of four. Perhaps a more specific warning: "You will lose the contents of existing variables when restarting the kernel."

I like the option to "Restart & Run All". Perhaps change dialog title: "Restart kernel, reinitialize notebook, and run all cells?" Perhaps two buttons: "Cancel" and "Restart and run all cells" or "Restart and run all".

While clearing the cell content is a nice convenience, I think that I would not put it in the dialog but put in the menu if desired as "Restart and clear notebook output" or "Restart and clear notebook".

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 20, 2015

Contributor

I think we have to be really careful about presenting the user with too
many choices in dialogs that require them to read carefully. Especially
with destructive actions, it becomes more likely the user will
misunderstand the subtle differences and pick the wrong one.

Also, it is common for users to get into a workflow where they are doing
the different variants of restart often. We want these actions to be super
fast and automatic. In a given notebook, it is also likely that a user will
using the same restart logic repeatedly.

Based on these observations, here is a thought:

  • Offer a single restart menu item and button.
  • Bring up a modal dialog that has only two buttons (Restart, Cancel)
  • Expose the different restart options (Clear Output, Run All) as
    checkboxes in the dialog.
  • And here is the important part - for each notebook sessions, remember
    the user's last selection of those checkboxes.

Benefits:

  • Easy/quick to scan the checkbox options visually.
  • Those options are separate from the main choice to restart.
  • Once a user picks the right options, they can restart extremely fast with
    "00 return".

On Sun, Sep 20, 2015 at 7:42 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk I'll do a bit of thinking on this.

In general, "Restart & Run All" is not feeling specific enough to me when
placed under "Kernel" menu. Somehow would like it to reflect what is being
run. "Restart and run notebook" is more accurate but longer (though I am
not sure how much that matters when balancing clarity vs length on modern
screens).

Personally, I would simplify the Restart dialog. Title: Restart kernel? I
would opt for two buttons "Continue" and "Restart" instead of four. Perhaps
a more specific warning: "You will lose the contents of existing variables
when restarting the kernel."

I like the option to "Restart & Run All". Perhaps change dialog title:
"Restart kernel, reinitialize notebook, and run all cells?" Perhaps two
buttons: "Cancel" and "Restart and run all cells" or "Restart and run all".

While clearing the cell content is a nice convenience, I think that I
would not put it in the dialog but put in the menu if desired as "Restart
and clear notebook output" or "Restart and clear notebook".


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 20, 2015

I think we have to be really careful about presenting the user with too
many choices in dialogs that require them to read carefully. Especially
with destructive actions, it becomes more likely the user will
misunderstand the subtle differences and pick the wrong one.

Also, it is common for users to get into a workflow where they are doing
the different variants of restart often. We want these actions to be super
fast and automatic. In a given notebook, it is also likely that a user will
using the same restart logic repeatedly.

Based on these observations, here is a thought:

  • Offer a single restart menu item and button.
  • Bring up a modal dialog that has only two buttons (Restart, Cancel)
  • Expose the different restart options (Clear Output, Run All) as
    checkboxes in the dialog.
  • And here is the important part - for each notebook sessions, remember
    the user's last selection of those checkboxes.

Benefits:

  • Easy/quick to scan the checkbox options visually.
  • Those options are separate from the main choice to restart.
  • Once a user picks the right options, they can restart extremely fast with
    "00 return".

On Sun, Sep 20, 2015 at 7:42 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk I'll do a bit of thinking on this.

In general, "Restart & Run All" is not feeling specific enough to me when
placed under "Kernel" menu. Somehow would like it to reflect what is being
run. "Restart and run notebook" is more accurate but longer (though I am
not sure how much that matters when balancing clarity vs length on modern
screens).

Personally, I would simplify the Restart dialog. Title: Restart kernel? I
would opt for two buttons "Continue" and "Restart" instead of four. Perhaps
a more specific warning: "You will lose the contents of existing variables
when restarting the kernel."

I like the option to "Restart & Run All". Perhaps change dialog title:
"Restart kernel, reinitialize notebook, and run all cells?" Perhaps two
buttons: "Cancel" and "Restart and run all cells" or "Restart and run all".

While clearing the cell content is a nice convenience, I think that I
would not put it in the dialog but put in the menu if desired as "Restart
and clear notebook output" or "Restart and clear notebook".


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 20, 2015

Member

And here is the important part - for each notebook sessions, remember
the user's last selection of those checkboxes.

No no no no no....

Same reasoning that the new notebook, you should't make user think.
Having 0,0, Enter do different things based on what the user selection was before is bad.

If you are in front of a notebook and I ask you what 0,0, Enter does, your response should not start with "it depends of".

I work a lot by restarting quickly and clearing all once in while, it would annoying to have during the same session the same keyboard shortcut do different things and have me stop to think each time of what was the thing I did before.

Member

Carreau commented Sep 20, 2015

And here is the important part - for each notebook sessions, remember
the user's last selection of those checkboxes.

No no no no no....

Same reasoning that the new notebook, you should't make user think.
Having 0,0, Enter do different things based on what the user selection was before is bad.

If you are in front of a notebook and I ask you what 0,0, Enter does, your response should not start with "it depends of".

I work a lot by restarting quickly and clearing all once in while, it would annoying to have during the same session the same keyboard shortcut do different things and have me stop to think each time of what was the thing I did before.

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 20, 2015

Member

What a bout a drop down choice next to the restart button. Restart is default, the dropdown can have & clear, & run all (regardless of their exact name)

Member

Carreau commented Sep 20, 2015

What a bout a drop down choice next to the restart button. Restart is default, the dropdown can have & clear, & run all (regardless of their exact name)

@willingc

This comment has been minimized.

Show comment
Hide comment
@willingc

willingc Sep 20, 2015

Member

@minrk @Carreau @ellisonbg Quick question: If I have 4 notebooks open in the browser and I restart the kernel, does the kernel restart for all 4 notebooks or just the active notebook? If the former, run all and clear all could have unintended results for user.

Member

willingc commented Sep 20, 2015

@minrk @Carreau @ellisonbg Quick question: If I have 4 notebooks open in the browser and I restart the kernel, does the kernel restart for all 4 notebooks or just the active notebook? If the former, run all and clear all could have unintended results for user.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 20, 2015

Contributor

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the 4
different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 20, 2015

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the 4
different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 20, 2015

Contributor

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart. We can't get away from that. By remembering what they
picked last time (and still allowing for changes) they only have to think
once.

On Sun, Sep 20, 2015 at 11:00 AM, Brian Granger ellisonbg@gmail.com wrote:

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the 4
different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 20, 2015

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart. We can't get away from that. By remembering what they
picked last time (and still allowing for changes) they only have to think
once.

On Sun, Sep 20, 2015 at 11:00 AM, Brian Granger ellisonbg@gmail.com wrote:

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the 4
different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing notifications@github.com
wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 20, 2015

Contributor

I know we are still probably too understaffed to consider it, but this is a
perfect case where targeted user testing on the options would be very
helpful.

On Sun, Sep 20, 2015 at 11:02 AM, Brian Granger ellisonbg@gmail.com wrote:

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart. We can't get away from that. By remembering what they
picked last time (and still allowing for changes) they only have to think
once.

On Sun, Sep 20, 2015 at 11:00 AM, Brian Granger ellisonbg@gmail.com
wrote:

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the
4 different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing <notifications@github.com

wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 20, 2015

I know we are still probably too understaffed to consider it, but this is a
perfect case where targeted user testing on the options would be very
helpful.

On Sun, Sep 20, 2015 at 11:02 AM, Brian Granger ellisonbg@gmail.com wrote:

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart. We can't get away from that. By remembering what they
picked last time (and still allowing for changes) they only have to think
once.

On Sun, Sep 20, 2015 at 11:00 AM, Brian Granger ellisonbg@gmail.com
wrote:

Restart only applies to the current notebook.

About a dropdown. The problem is that the variants of restart (Clear
Output, Run All, are not mutually exclusive). Output can contain
HTML/CSS/JS that modifies the page context. (Clear Output & Run All) is not
the same thing as (Run All).

Because of this a single dropdown makes it very difficult to express the
4 different combinations.

On Sun, Sep 20, 2015 at 10:56 AM, Carol Willing <notifications@github.com

wrote:

@minrk https://github.com/minrk @Carreau https://github.com/Carreau
@ellisonbg https://github.com/ellisonbg Quick question: If I have 4
notebooks open in the browser and I restart the kernel, does the kernel
restart for all 4 notebooks or just the active notebook? If the former, run
all and clear all could have unintended results for user.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 20, 2015

Member

Clear Output & Run All) is not
the same thing as (Run All).

Wrong, pushing in cell on the execution stack clear its output.

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart.

Picture yourself in front of my computer, I'm working on a notebook.
I give you the keyboard.

What does 0,0``Enter do ?

You switch to another tab.

What does 0,0``Enter do ?

You open the dialog, change the checkbox. You get interrupted by Fernando for a few minutes, get back take the computer back.

What does 0,0, Enter do ?

Current behavior:

What does 0,0, Enter do ?

Response: "Restart the kernel"

How do I restart and and clear all ?

Response: 0,0``Shift-Tab``Enter.

What if I use Damian computer and want to resart and clear?

Response: 0,0``Shift-Tab``Enter.

If I don't rember what action I did last time how do I just restart ?

Response: 0,0``Enter.

If I don't rember what action I did last time how do I just restart and clear all ?

Response: 0,0``Shift-Tab``Enter.

Frubularcruf fre[uhsjk kj;hsgb Just Restart, but :SDUghoihsdosh ?

Response: 0,0``Enter.

Frubularcruf fre[uhsjk kj;hsgb Just Restart, and Clear all but :SDUghoihsdosh ?

Response: 0,0``Shift-Tab``Enter.

we can have 0,0 Tab Enter run-all

Then you never have to think.

Member

Carreau commented Sep 20, 2015

Clear Output & Run All) is not
the same thing as (Run All).

Wrong, pushing in cell on the execution stack clear its output.

Also about thinking - I am not following your statement about this. The
user does have to think at some point about what options they want to
apply on restart.

Picture yourself in front of my computer, I'm working on a notebook.
I give you the keyboard.

What does 0,0``Enter do ?

You switch to another tab.

What does 0,0``Enter do ?

You open the dialog, change the checkbox. You get interrupted by Fernando for a few minutes, get back take the computer back.

What does 0,0, Enter do ?

Current behavior:

What does 0,0, Enter do ?

Response: "Restart the kernel"

How do I restart and and clear all ?

Response: 0,0``Shift-Tab``Enter.

What if I use Damian computer and want to resart and clear?

Response: 0,0``Shift-Tab``Enter.

If I don't rember what action I did last time how do I just restart ?

Response: 0,0``Enter.

If I don't rember what action I did last time how do I just restart and clear all ?

Response: 0,0``Shift-Tab``Enter.

Frubularcruf fre[uhsjk kj;hsgb Just Restart, but :SDUghoihsdosh ?

Response: 0,0``Enter.

Frubularcruf fre[uhsjk kj;hsgb Just Restart, and Clear all but :SDUghoihsdosh ?

Response: 0,0``Shift-Tab``Enter.

we can have 0,0 Tab Enter run-all

Then you never have to think.

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 20, 2015

Member

I always regret making PRs with UI. My slight inclination is to keep Restart & Run All as a distinct action, and remove '& Run All' from the base restart dialog. Possibly also removing '& clear output' as well.

Member

minrk commented Sep 20, 2015

I always regret making PRs with UI. My slight inclination is to keep Restart & Run All as a distinct action, and remove '& Run All' from the base restart dialog. Possibly also removing '& clear output' as well.

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 20, 2015

Member

Just a note about my own experience as a user: I treat restart and restart + run all as very different actions. I restart a lot, and it's rare that I want to run all immediately afterwards, so I wouldn't expect remembering my preference for what I do after restart to be helpful. I use Restart & Run All as a verification process, to ensure my notebook is in a good state, but that's only when I'm in a final review process of a notebook that I am about to share. I don't do it other than that. To me, that points to them being completely separate actions—separate dialogs, etc.—but obviously I'm not necessarily a representative user, and @ellisonbg's definitely right that user testing would be helpful here.

Member

minrk commented Sep 20, 2015

Just a note about my own experience as a user: I treat restart and restart + run all as very different actions. I restart a lot, and it's rare that I want to run all immediately afterwards, so I wouldn't expect remembering my preference for what I do after restart to be helpful. I use Restart & Run All as a verification process, to ensure my notebook is in a good state, but that's only when I'm in a final review process of a notebook that I am about to share. I don't do it other than that. To me, that points to them being completely separate actions—separate dialogs, etc.—but obviously I'm not necessarily a representative user, and @ellisonbg's definitely right that user testing would be helpful here.

@willingc

This comment has been minimized.

Show comment
Hide comment
@willingc

willingc Sep 20, 2015

Member

@minrk No regrets :D It's more information percolating up to the surface.

True, @ellisonbg's suggestion that testing would be helpful.

It may also be helpful to identify the times that people would choose to reset the kernel. Also options after a restart. (I think the second is more complicated than the first).

Why reset/restart a kernel?

  • Kernel hangs/fails/non-responsive (user feeling: may be annoyed)
  • [ ]

Kernel restarts, what would I like to next and why?

  • Clear output cells ---> Why? I want to start from scratch and run cells incrementally
  • Clear output context (js/html/css)
  • Clear output cells and run all
  • Clear output cells and context and run all
  • [ ]
Member

willingc commented Sep 20, 2015

@minrk No regrets :D It's more information percolating up to the surface.

True, @ellisonbg's suggestion that testing would be helpful.

It may also be helpful to identify the times that people would choose to reset the kernel. Also options after a restart. (I think the second is more complicated than the first).

Why reset/restart a kernel?

  • Kernel hangs/fails/non-responsive (user feeling: may be annoyed)
  • [ ]

Kernel restarts, what would I like to next and why?

  • Clear output cells ---> Why? I want to start from scratch and run cells incrementally
  • Clear output context (js/html/css)
  • Clear output cells and run all
  • Clear output cells and context and run all
  • [ ]
@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 21, 2015

Contributor

Great feedback everyone! @cameronoelsen is going to do some quick design mockups and users tests and get back to us on this. Should be done this week.

Contributor

ellisonbg commented Sep 21, 2015

Great feedback everyone! @cameronoelsen is going to do some quick design mockups and users tests and get back to us on this. Should be done this week.

@tritemio

This comment has been minimized.

Show comment
Hide comment
@tritemio

tritemio Sep 22, 2015

Contributor

My 2cents:

I do Restart&Run-All a lot (and also Restart and Run-all-above) and I like the idea of @minrk of having two separate dialogs. Also, two buttons are better than 3 or 4.

In @minrk proposal, I would only modify the Restart dialog with only two button (Cancel, Restart) and one checkbox for clear output.

Finally, I agree with @Carreau that shortcuts should be deterministic, one for only restart (no clear) and one for restart and run-all. In principle there can be a third shortcut for restart & clear but I would not use it much in my case.

Contributor

tritemio commented Sep 22, 2015

My 2cents:

I do Restart&Run-All a lot (and also Restart and Run-all-above) and I like the idea of @minrk of having two separate dialogs. Also, two buttons are better than 3 or 4.

In @minrk proposal, I would only modify the Restart dialog with only two button (Cancel, Restart) and one checkbox for clear output.

Finally, I agree with @Carreau that shortcuts should be deterministic, one for only restart (no clear) and one for restart and run-all. In principle there can be a third shortcut for restart & clear but I would not use it much in my case.

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 22, 2015

Member

We can also have just 3 menu items, restart, restart clear, restart run all. Each opening a dialog.
People can bind their own shortcuts if needed.

Member

Carreau commented Sep 22, 2015

We can also have just 3 menu items, restart, restart clear, restart run all. Each opening a dialog.
People can bind their own shortcuts if needed.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 24, 2015

Contributor

Cameron started the user tests today - should have some results in the next
day or so...

On Tue, Sep 22, 2015 at 9:49 AM, Matthias Bussonnier <
notifications@github.com> wrote:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.
People can bind their own shortcuts if needed.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 24, 2015

Cameron started the user tests today - should have some results in the next
day or so...

On Tue, Sep 22, 2015 at 9:49 AM, Matthias Bussonnier <
notifications@github.com> wrote:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.
People can bind their own shortcuts if needed.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 24, 2015

Contributor

And one of the options he is trying is to have 3 menu items each with their
own dialog.

On Wed, Sep 23, 2015 at 7:41 PM, Brian Granger ellisonbg@gmail.com wrote:

Cameron started the user tests today - should have some results in the
next day or so...

On Tue, Sep 22, 2015 at 9:49 AM, Matthias Bussonnier <
notifications@github.com> wrote:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.
People can bind their own shortcuts if needed.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 24, 2015

And one of the options he is trying is to have 3 menu items each with their
own dialog.

On Wed, Sep 23, 2015 at 7:41 PM, Brian Granger ellisonbg@gmail.com wrote:

Cameron started the user tests today - should have some results in the
next day or so...

On Tue, Sep 22, 2015 at 9:49 AM, Matthias Bussonnier <
notifications@github.com> wrote:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.
People can bind their own shortcuts if needed.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 24, 2015

Member

Carreau:

We can also have just 3 menu items, restart, restart clear, restart run all. Each opening a dialog.

Ellisonbg :

And one of the options he is trying is to have 3 menu items each with their own dialog.

Hum.... not sure if echo, or if mailserver deliver mail in the wrong order. :-P

Member

Carreau commented Sep 24, 2015

Carreau:

We can also have just 3 menu items, restart, restart clear, restart run all. Each opening a dialog.

Ellisonbg :

And one of the options he is trying is to have 3 menu items each with their own dialog.

Hum.... not sure if echo, or if mailserver deliver mail in the wrong order. :-P

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 24, 2015

Contributor

Haha, nope just confirming your idea is worth pursuing ;-)

On Wed, Sep 23, 2015 at 7:54 PM, Matthias Bussonnier <
notifications@github.com> wrote:

Carreau:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.

Ellisonbg :

And one of the options he is trying is to have 3 menu items each with
their own dialog.

Hum.... not sure if echo, or if mailserver deliver mail in the wrong
order. :-P


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 24, 2015

Haha, nope just confirming your idea is worth pursuing ;-)

On Wed, Sep 23, 2015 at 7:54 PM, Matthias Bussonnier <
notifications@github.com> wrote:

Carreau:

We can also have just 3 menu items, restart, restart clear, restart run
all. Each opening a dialog.

Ellisonbg :

And one of the options he is trying is to have 3 menu items each with
their own dialog.

Hum.... not sure if echo, or if mailserver deliver mail in the wrong
order. :-P


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@cameronoelsen

This comment has been minimized.

Show comment
Hide comment
@cameronoelsen

cameronoelsen Sep 25, 2015

Member

I just got back the UsabilityHub results regarding which way we should handle this dropdown. Check out the links below and you can see the heatmaps of how our users are interacting with the menus.

Kernel Restart w/ Checkbox
https://usabilityhub.com/tests/b8afa0bb3c65/results/b1661cf58d

Full Kernel Restart List
https://usabilityhub.com/tests/4b222a1f9697/results/67b4615378b4

I told both usability tests to restart the kernel and clear the output. For these tests, we needed to focus on one specific action to see which approach is better to use.

Member

cameronoelsen commented Sep 25, 2015

I just got back the UsabilityHub results regarding which way we should handle this dropdown. Check out the links below and you can see the heatmaps of how our users are interacting with the menus.

Kernel Restart w/ Checkbox
https://usabilityhub.com/tests/b8afa0bb3c65/results/b1661cf58d

Full Kernel Restart List
https://usabilityhub.com/tests/4b222a1f9697/results/67b4615378b4

I told both usability tests to restart the kernel and clear the output. For these tests, we needed to focus on one specific action to see which approach is better to use.

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 25, 2015

Member

Thanks. so checkbox is better.

But that still does not cover the remember your last choice of the checkbox case.
For which user testing will not help, as we target advance user that do all the things with the keybord.

Member

Carreau commented Sep 25, 2015

Thanks. so checkbox is better.

But that still does not cover the remember your last choice of the checkbox case.
For which user testing will not help, as we target advance user that do all the things with the keybord.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 25, 2015

Contributor

Cameron, thanks. I am trying to understand the results.

On the checkbox version 32% of users completed the overall task in an
average of 49 seconds.

On the non-checkbox (3 separate Menu Items) version 56% of users completed
the overall task in an avg of 34 seconds.

Looks like the checkbox is worse, right?

On Fri, Sep 25, 2015 at 11:26 AM, Matthias Bussonnier <
notifications@github.com> wrote:

Thanks. so checkbox is better.

But that still does not cover the remember your last choice of the
checkbox case.
For which user testing will not help, as we target advance user that do
all the things with the keybord.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 25, 2015

Cameron, thanks. I am trying to understand the results.

On the checkbox version 32% of users completed the overall task in an
average of 49 seconds.

On the non-checkbox (3 separate Menu Items) version 56% of users completed
the overall task in an avg of 34 seconds.

Looks like the checkbox is worse, right?

On Fri, Sep 25, 2015 at 11:26 AM, Matthias Bussonnier <
notifications@github.com> wrote:

Thanks. so checkbox is better.

But that still does not cover the remember your last choice of the
checkbox case.
For which user testing will not help, as we target advance user that do
all the things with the keybord.


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 25, 2015

Member

On the checkbox version 32% of users completed the overall task in an
average of 49 seconds.

On the non-checkbox (3 separate Menu Items) version 56% of users completed
the overall task in an avg of 34 seconds.

Looks like the checkbox is worse, right?

My bad I miss-read. You are right the checkbox is worse.

Member

Carreau commented Sep 25, 2015

On the checkbox version 32% of users completed the overall task in an
average of 49 seconds.

On the non-checkbox (3 separate Menu Items) version 56% of users completed
the overall task in an avg of 34 seconds.

Looks like the checkbox is worse, right?

My bad I miss-read. You are right the checkbox is worse.

@minrk minrk self-assigned this Sep 28, 2015

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 28, 2015

Member

Thanks @cameronoelsen! I'll rewrite it so that it's a separate menu item for each entry, with only yes/no buttons and no checkboxes. Bonus: then there's nothing to remember!

Member

minrk commented Sep 28, 2015

Thanks @cameronoelsen! I'll rewrite it so that it's a separate menu item for each entry, with only yes/no buttons and no checkboxes. Bonus: then there's nothing to remember!

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 28, 2015

Member

All three actions are in the Kernel menu:

screen shot 2015-09-28 at 12 47 47

Restart & Run All:

screen shot 2015-09-28 at 12 47 57

Restart & Clear All:
screen shot 2015-09-28 at 12 48 05

Restart:
screen shot 2015-09-28 at 12 48 12

Member

minrk commented Sep 28, 2015

All three actions are in the Kernel menu:

screen shot 2015-09-28 at 12 47 47

Restart & Run All:

screen shot 2015-09-28 at 12 47 57

Restart & Clear All:
screen shot 2015-09-28 at 12 48 05

Restart:
screen shot 2015-09-28 at 12 48 12

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 29, 2015

Contributor

Maybe the menu item should be "Restart and Clear Output" to clarify what is
being cleared?

Also, in the UI we are using the work "run" rather than "execute". Can you
update the re-run dialog with execute->run in the text.

Also, I think that all of the "confirm" buttons should be red as all of
these actions have the same level of danger.

On Mon, Sep 28, 2015 at 6:49 AM, Min RK notifications@github.com wrote:

All three actions are in the Kernel menu:

[image: screen shot 2015-09-28 at 12 47 47]
https://cloud.githubusercontent.com/assets/151929/10133650/3639b75c-65df-11e5-8621-6dff7a7f48de.PNG

Restart & Run All:

[image: screen shot 2015-09-28 at 12 47 57]
https://cloud.githubusercontent.com/assets/151929/10133647/3638e188-65df-11e5-9a60-f47070e65120.PNG

Restart & Clear All:
[image: screen shot 2015-09-28 at 12 48 05]
https://cloud.githubusercontent.com/assets/151929/10133648/36391608-65df-11e5-8ed0-e37ffb83119a.PNG

Restart:
[image: screen shot 2015-09-28 at 12 48 12]
https://cloud.githubusercontent.com/assets/151929/10133649/363977c4-65df-11e5-94ea-0d220479c665.PNG


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

Contributor

ellisonbg commented Sep 29, 2015

Maybe the menu item should be "Restart and Clear Output" to clarify what is
being cleared?

Also, in the UI we are using the work "run" rather than "execute". Can you
update the re-run dialog with execute->run in the text.

Also, I think that all of the "confirm" buttons should be red as all of
these actions have the same level of danger.

On Mon, Sep 28, 2015 at 6:49 AM, Min RK notifications@github.com wrote:

All three actions are in the Kernel menu:

[image: screen shot 2015-09-28 at 12 47 47]
https://cloud.githubusercontent.com/assets/151929/10133650/3639b75c-65df-11e5-8621-6dff7a7f48de.PNG

Restart & Run All:

[image: screen shot 2015-09-28 at 12 47 57]
https://cloud.githubusercontent.com/assets/151929/10133647/3638e188-65df-11e5-9a60-f47070e65120.PNG

Restart & Clear All:
[image: screen shot 2015-09-28 at 12 48 05]
https://cloud.githubusercontent.com/assets/151929/10133648/36391608-65df-11e5-8ed0-e37ffb83119a.PNG

Restart:
[image: screen shot 2015-09-28 at 12 48 12]
https://cloud.githubusercontent.com/assets/151929/10133649/363977c4-65df-11e5-94ea-0d220479c665.PNG


Reply to this email directly or view it on GitHub
#465 (comment).

Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger@calpoly.edu and ellisonbg@gmail.com

@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Sep 29, 2015

Member

@ellisonbg that's better. done.

Member

minrk commented Sep 29, 2015

@ellisonbg that's better. done.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 29, 2015

Contributor

Thanks! Looks good to me, merging.

Contributor

ellisonbg commented Sep 29, 2015

Thanks! Looks good to me, merging.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Sep 29, 2015

Contributor

Ohh, wait, looks like tests are failing. I kicked Travis...

Contributor

ellisonbg commented Sep 29, 2015

Ohh, wait, looks like tests are failing. I kicked Travis...

@damianavila

This comment has been minimized.

Show comment
Hide comment
@damianavila

damianavila Sep 29, 2015

Contributor

Nice... I like the final outcome of this... makes things simple for the user.

Contributor

damianavila commented Sep 29, 2015

Nice... I like the final outcome of this... makes things simple for the user.

@Carreau

This comment has been minimized.

Show comment
Hide comment
@Carreau

Carreau Sep 29, 2015

Member

I would have made the -no-confirm default and have optional -with-confirm-dialog, but I'm not particularly opinionated on that.

the no-confirm-as-default is easier to use in an API.

Member

Carreau commented Sep 29, 2015

I would have made the -no-confirm default and have optional -with-confirm-dialog, but I'm not particularly opinionated on that.

the no-confirm-as-default is easier to use in an API.

@damianavila

This comment has been minimized.

Show comment
Hide comment
@damianavila

damianavila Sep 29, 2015

Contributor

the no-confirm-as-default is easier to use in an API.

I agree... but this is mostly a UI issue... I would tend to keep it as is...

Contributor

damianavila commented Sep 29, 2015

the no-confirm-as-default is easier to use in an API.

I agree... but this is mostly a UI issue... I would tend to keep it as is...

rework restart-run-all dialog
- give Restart & Run All action its own dialog
- add Restart & Run All button to regular restart dialog
- add `-no-confirm` version of both restart and restart-run-all actions

minrk added some commits Sep 28, 2015

make restart-clear-output a discrete action
- no more multi-button restart dialog
- Restart & Clear Output added to Kernel menu
add '-dialog' suffix to restart actions with dialogs
instead of -no-confirm on those without.

i.e. `restart-run-all` has no dialog, `restart-run-all-dialog` has a dialog.
@minrk

This comment has been minimized.

Show comment
Hide comment
@minrk

minrk Oct 2, 2015

Member

Tests are passing, and I made the command-name changes suggested by @Carreau.

Member

minrk commented Oct 2, 2015

Tests are passing, and I made the command-name changes suggested by @Carreau.

@ellisonbg

This comment has been minimized.

Show comment
Hide comment
@ellisonbg

ellisonbg Oct 2, 2015

Contributor

Looks good, merging. Thanks!

Contributor

ellisonbg commented Oct 2, 2015

Looks good, merging. Thanks!

ellisonbg added a commit that referenced this pull request Oct 2, 2015

@ellisonbg ellisonbg merged commit 8224a9d into jupyter:master Oct 2, 2015

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@Carreau Carreau referenced this pull request in pypa/warehouse Oct 13, 2015

Closed

Recruit users for usability testing #717

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment