Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-23 Thread Christoph Noack
Hi all!

Since the rest of my family is sleeping now, there are some minutes
left ... but I expect my nieces to get me out of the bed in a (very) few
hours. Thus, shortened answer :-)

Am Mittwoch, den 22.12.2010, 11:03 -0500 schrieb Kohei Yoshida:
[...]
  Another thing would be helpful ... a more instant feedback on name
  conflicts: showing a comment below the name text field, deactivating the
  OK button. The /!\ symbolizes a small warning sign.
 
 Ah, good.  Great minds think alike. :-)
 
 Regarding the /!\ warning symbol, can you think of any existing dialog
 that does that?  I like the idea itself, but I don't know how that could
 be (easily) implemented.  Looking at an existing dialog code would help
 me figure out how to do this.

At the moment, I don't know any existing dialog within LibO ... maybe
(sort of) the Tools -- Options dialog that (if I remember correctly)
shows some messages if certain options are locked down by
administrators.

But, maybe the ongoing effort within the OOo UX team might help us. It
doesn't fit perfectly, because the invalid name is persistent but the
info bubble is designed to appear temporarily:
http://wiki.services.openoffice.org/wiki/User_Experience/Projects/NonModalMessageSystem#Step_2_-_Message_Style_2a

* Think about the Insert Before thing ... it is not that obvious
  what this means. Is there any way to make this more
  understandable? 
 
 Hmm.  This needs some thinking.

I'll comment on Joost's proposals in his mail ...

* Does any data / experience prove that the default (new) position
  of the sheet should be directly after the source sheet?
 
 I didn't see any usage data in the spreadsheet file I downloaded from
 here
 
 http://wiki.services.openoffice.org/wiki/File:OOo31_Usage_Feedback_Data.ods
 
 Anyone is welcomed to double-check it though.

I downloaded the file at the top of the list and had a look at the Calc
sheet. It seems that most of the stuff is still German - so I just
looked for items that contain move.

For example (sorry, no deep-dive), I found the following (seems to be
checking the button copy within the dialog):
TabelleVerschiebenKopieren-Kopieren
sc:CheckBox:RID_SCDLG_MOVETAB:BTN_COPY  Check
2352

  Did that help ... even if I just throw in some late ideas? ;-)
 
 Yes, it did.  I guess we have some further work to do in this
 dialog. :-)

Wait, wait ... I have more ideas for even more dialogs ;-)))

Thanks a lot to both you Kohei, and Joost!

Cheers,
Christoph

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-23 Thread Christoph Noack
Hi all!

I'd like to comment the button up/down idea ... maybe the questions
are already solved somehow, but just to be sure ...

Am Mittwoch, den 22.12.2010, 11:22 -0500 schrieb Kohei Yoshida:
 My preferred approach is to create two buttons to move the insertion
 position up or down, instead of relying on the user clicking on the
 sheet name in the list.  To me 1) that makes more sense, and 2) is
 easier to implement than handling mouse click events on the list
 control. 

Here we face the ease of use vs. efficiency issue ... the proposed
approach might fall short for the power users.

Ease of use: If a document has a limited number of sheets, and the user
is rather mouse-driven, then clicking three times or so is okay. As we
said before, the result is directly visible and, thus, an
improvement ...

Efficiency: Some users (more advanced users) that work in large tables
might simply prefer to scroll down via the mouse-wheel, and to directly
click on the target position.

Concerning the latter, if we want to have something like that (and there
will be requests to mimic the today's behavior), we require space
consuming placeholder lines between the real sheets. This somehow
disturbs the known sheet mapping ... and even for our ease of use
proposal, the users have to re-think the mapping (horizontal vs.
vertical).

Furthermore, let's assume that a less experienced user misses the
current dialog design and moves a sheet to the wrong position. Then both
the actions move/copy are non-destructive (looking at the data that is
kept after all). So correcting this issues might a smaller problem - in
comparison to what we can gain for power users.

Finally, the current design is not that bad ... if we want to go for a
design that suits the non-experts, then we also have to keep in mind the
power users.

Does that make sense to you? I'll try to think a bit more about this
issue ...

By the way, if buttons get added, please consider to add them at the
right hand side (if possible, I'll double-check this with other specs).
And, they should be in close relationship - to make sure that the
required mouse movement is minimized, e.g. if the user wants to correct
the usual one click too far issue.

Cheers,
Christoph

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-22 Thread Joost Eekhoorn
Hi all,

The proposed layout change of Bernhard looks good to me, but there are some
pitfalls.

 Christoph wrote:
 [...]
 * If the user copies a sheet (several sheets) within the same
   file, then the new sheets will be renamed anyway. Right?
   Although the user did not check the Rename checkbox ... -- As
   far as I understand, we require unique sheet names. The checkbox
   refers to a user intended name change.

That is just the problem for the programmer, that he does know what the user
is going to do, and the user can change his mind.

+ use case mc01: The user copies SheetA in the same document. The proposed
new name becomes SheetA_1. Now the user decides to copy the sheet to
another document, where SheetA does not exist, the proposed new name
should be SheetA,
but only if the user did not rename the new name!
I do not known if that is possible, with keeping the code transparant.

 Bernhard wrote:
 [...]
 |Place to insert  |
 |+-+  |
 | /\ | Sheet 1 |  |
 | || |  $sheetname 2   |  |
 | \/ | Sheet 2 |  |
 || Sheet 3 |  |
 |+-+  |

That is an challenge for the programmer, because the content of the list
must change on the fly. Thus make the challenge not too big: display -
position - instand of $sheetname 2.

What to do when the user clicks Sheet 3?

Drag-and-drop of - position - must be implemented, but not for the
existing sheets!

I wait for the reaction of Kohei.

Best regards,
Joost


2010/12/22 Dr. Bernhard Dippold bernh...@familie-dippold.at

 Hi all

 sorry: once more I didn't reply all, just reply as on the other LibO
 lists...

 here is what I sent to Christoph alone:

 Hi Christoph, all,

 just a very short comment - before I forget it...

 Christoph Noack schrieb:
  [...]
 * Think about the Insert Before thing ... it is not that obvious
   what this means. Is there any way to make this more
   understandable?

 Move the Insert Before list below the new name area and move the new
 name by mouse or arrows up and down in the list.

 This would allow to place the new sheet where the user wants it without
 thinking about before and after.

 Copying your sketch...

 +-+
 |  Move / Copy Sheet: $sheetname  |
 +-+
 |  Action --  +
 |(o) Move |
 |( ) Copy |
 | |
 |  Location and Name ---  |
 |To Document  |
 |[ $documentname (Current Document) |\/]  |
 | |
 |New Name |
 |[ $sheetname 2]  |
 | |
 |Place to insert  |
 |+-+  |
 | /\ | Sheet 1 |  |
 | || |  $sheetname 2   |  |
 | \/ | Sheet 2 |  |
 || Sheet 3 |  |
 |+-+  |
 | |
 +-+
 | [ Help ]   [  OK  ]  [ Cancel ] |
 +-+

 Best regards

 Bernhard






___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-22 Thread Kohei Yoshida
Hello Christoph!

On Tue, 2010-12-21 at 23:18 +0100, Christoph Noack wrote:
 Hi Kohei, hi Joost, hi dev list members!
 
 It seems that I still miss a good way to sort and highlight IMAP
 messages - I did not pay too much attention to this thread and totally
 missed the CC Christoph. Grrr  sorry at the same time ...
 
 Thus, I don't know whether this is helpful at the moment (as far as I
 understand, the patch has been already committed), but here are my short
 thoughts ...

Well, usability is always an on-going process.  So this is never too
late. :-)

 Bur first, a basic question: Did the change address a small (but
 important) issue, or is the change part of some broader attempt? I ask,
 because the dialog is rather old and contains some other issues (like
 the old vertical OK/Cancel/Help design).

As Andy already explained, this one is not a part of any broader plan,
but just a one-time improvement.  But I'd love you hear your thoughts on
how it could be improved further.

 
 Am Freitag, den 10.12.2010, 20:31 -0500 schrieb Kohei Yoshida:
 [...]
  
  About UI
 
 I'll refer to your (Kohei's) pictures linked in another mail ...
 
  And these are the screenshots of the new dialog.
  
  Rename unchecked
  http://people.freedesktop.org/~kohei/sheet-rename-unchecked.png
  
  Rename checked
  http://people.freedesktop.org/~kohei/sheet-rename-checked.png
 
 Two main (and somehow rhetorical) questions / remarks:
   * If the user copies a sheet (several sheets) within the same
 file, then the new sheets will be renamed anyway. Right?
 Although the user did not check the Rename checkbox ... -- As
 far as I understand, we require unique sheet names. The checkbox
 refers to a user intended name change.
   * If the user copies a sheet, how will he get aware of the name of
 the new sheet? -- Currently, people have to finish the
 operation and then look for the new name.
 
  * Let's remove the 'New Name' string as I feel this is redundant.  And 
let' place the rename box either to the immediate right of 'Rename' 
check box, or immediately below it.  I prefer it being to the right 
of the check box since we have a plenty of space there.
 
 Does that mean the aligned to the caption Rename? Would be great.

Yes it is.  The 'Rename' text and the rename box are on the same row
now.

  * Instead of hiding the rename box, it's better to disable it when the 
Rename check box is not checked.  We generally don't show or hide 
controls but enable or disable it.
  
  * Let's disable the Rename check box as well as the rename input box 
when multiple sheets are selected.  We don't know what we should do 
for multiple sheet copy/move  rename yet, so I would be more 
comfortable disabling it in such cases (at least for now).  
 
 Yep.
 
  * I think it would be more user-friendly if the Rename input box 
showed the default sheet name.  When moving a sheet, this would be 
the original sheet name, while when copying a sheet it would be the 
original name followed by '_' + num (e.g.  Sheet1 - Sheet1_1).  
 
 Absolutely.
 
  [...] 
  
  All in all, I'm happy with what I see there, so, good work! :-)
 
 A small additional question (I may have missed that): What happens, if
 the user choses a name that is already used in the document? The current
 (less helpful) reaction within the renaming sheet dialog is another
 dialog window Invalid sheet name. (Ask any user if he knows what this
 might mean ... *g*).

Good question.  I don't think we currently handle this in the UI, but
let it pass to Calc and Calc will spit Invalid sheet name dialog for
now.

However, we could check for the validity of the new name as the user
types, and do something when the name already exists in the document.
Disabling the OK button (or whatever the confirmation button will be)
would be my first thought.  The chart dialog does something cute and
turns the background color of the input box to pink when you enter an
invalid cell range address.  I don't know whether it's possible to do
that here (but I can find out).

 
 
  Let me know if you need any help with any of the above items.
  
  I'll CC Christoph in case he has some comments on this feature as well
  as on my comments above.  Christoph, please feel free to add your
  comments as well if you have any. :-)
 
 Concerning my questions above, I do have a proposal - it is meant to be
 a small iterative step, so please look at it critically ;-)
 
 Some assumptions:
   * limit the number of changes
   * keep the idea of a common move / copy dialog (I still don't know
 why this had been introduced ... but at least, it saves another
 menu item)
 
 +-+
 |  Move / Copy Sheet: $sheetname  |
 +-+
 |  Action 

Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-22 Thread Kohei Yoshida
On Wed, 2010-12-22 at 12:48 +0100, Joost Eekhoorn wrote:
 Hi all,
 
 The proposed layout change of Bernhard looks good to me, but there are
 some pitfalls.
 
  Christoph wrote:
  [...]
  * If the user copies a sheet (several sheets) within the same
file, then the new sheets will be renamed anyway. Right?
Although the user did not check the Rename checkbox ... --
 As
far as I understand, we require unique sheet names. The
 checkbox
refers to a user intended name change.
 
 That is just the problem for the programmer, that he does know what
 the user is going to do, and the user can change his mind.
 
 + use case mc01: The user copies SheetA in the same document. The
 proposed new name becomes SheetA_1. Now the user decides to copy the
 sheet to another document, where SheetA does not exist, the proposed
 new name should be SheetA,
 but only if the user did not rename the new name!
 I do not known if that is possible, with keeping the code transparant.

Well, this is not that big of an issue since we do have access to the
ScDocument instance of the destination document.  When the user switches
the destination document, we can ask the new ScDocument instance whether
there is a name clash.  I already put some code to handle some aspect of
that.

 
  Bernhard wrote:
  [...]
  |Place to insert
|
  |
  +-+  |
  | /\ | Sheet 1
 |  |
  | || |  $sheetname 2
 |  |
  | \/ | Sheet 2
 |  |
  || Sheet 3
 |  |
  |
  +-+  |
 
 That is an challenge for the programmer, because the content of the
 list must change on the fly.Thus make the challenge not too big:
 display - position - instand of $sheetname 2.

Yup, I agree.  Displaying the '- position -' or something like that
would make more sense, especially when the user is trying to move or
copy multiple sheets.

Changing the content of the list is, although it requires some code to
write, can be doable.  This just means we need to re-populate the list
content every time the insertion point moves, but it can be done.

 What to do when the user clicks Sheet 3?
 
 Drag-and-drop of - position - must be implemented, but not for the
 existing sheets!

My preferred approach is to create two buttons to move the insertion
position up or down, instead of relying on the user clicking on the
sheet name in the list.  To me 1) that makes more sense, and 2) is
easier to implement than handling mouse click events on the list
control.

Kohei

-- 
Kohei Yoshida, LibreOffice hacker, Calc
kyosh...@novell.com

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-22 Thread Joost Eekhoorn
Hi all,

If you now give for Sheet1 a new name, e.g.SheetA and that name exists,
the new name will become SheetA_2 without a question for the user.

Joost

2010/12/22 Kohei Yoshida kyosh...@novell.com

 On Wed, 2010-12-22 at 12:48 +0100, Joost Eekhoorn wrote:
  Hi all,
 
  The proposed layout change of Bernhard looks good to me, but there are
  some pitfalls.
 
   Christoph wrote:
   [...]
   * If the user copies a sheet (several sheets) within the same
 file, then the new sheets will be renamed anyway. Right?
 Although the user did not check the Rename checkbox ... --
  As
 far as I understand, we require unique sheet names. The
  checkbox
 refers to a user intended name change.
 
  That is just the problem for the programmer, that he does know what
  the user is going to do, and the user can change his mind.
 
  + use case mc01: The user copies SheetA in the same document. The
  proposed new name becomes SheetA_1. Now the user decides to copy the
  sheet to another document, where SheetA does not exist, the proposed
  new name should be SheetA,
  but only if the user did not rename the new name!
  I do not known if that is possible, with keeping the code transparant.

 Well, this is not that big of an issue since we do have access to the
 ScDocument instance of the destination document.  When the user switches
 the destination document, we can ask the new ScDocument instance whether
 there is a name clash.  I already put some code to handle some aspect of
 that.

 
   Bernhard wrote:
   [...]
   |Place to insert
 |
   |
   +-+  |
   | /\ | Sheet 1
  |  |
   | || |  $sheetname 2
  |  |
   | \/ | Sheet 2
  |  |
   || Sheet 3
  |  |
   |
   +-+  |
 
  That is an challenge for the programmer, because the content of the
  list must change on the fly.Thus make the challenge not too big:
  display - position - instand of $sheetname 2.

 Yup, I agree.  Displaying the '- position -' or something like that
 would make more sense, especially when the user is trying to move or
 copy multiple sheets.

 Changing the content of the list is, although it requires some code to
 write, can be doable.  This just means we need to re-populate the list
 content every time the insertion point moves, but it can be done.

  What to do when the user clicks Sheet 3?
 
  Drag-and-drop of - position - must be implemented, but not for the
  existing sheets!

 My preferred approach is to create two buttons to move the insertion
 position up or down, instead of relying on the user clicking on the
 sheet name in the list.  To me 1) that makes more sense, and 2) is
 easier to implement than handling mouse click events on the list
 control.

 Kohei

 --
 Kohei Yoshida, LibreOffice hacker, Calc
 kyosh...@novell.com

 ___
 LibreOffice mailing list
 LibreOffice@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/libreoffice

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-22 Thread Kohei Yoshida
On Wed, 2010-12-22 at 19:30 +0100, Joost Eekhoorn wrote:
 Hi all,
 
 If you now give for Sheet1 a new name, e.g.SheetA and that name
 exists, the new name will become SheetA_2 without a question for the
 user.

Sure.  I said I implemented some aspect of it, and this is one of
those cases we still need to catch in the dialog.

Kohei

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

2010-12-21 Thread Christoph Noack
Hi Kohei, hi Joost, hi dev list members!

It seems that I still miss a good way to sort and highlight IMAP
messages - I did not pay too much attention to this thread and totally
missed the CC Christoph. Grrr  sorry at the same time ...

Thus, I don't know whether this is helpful at the moment (as far as I
understand, the patch has been already committed), but here are my short
thoughts ...

Bur first, a basic question: Did the change address a small (but
important) issue, or is the change part of some broader attempt? I ask,
because the dialog is rather old and contains some other issues (like
the old vertical OK/Cancel/Help design).

Am Freitag, den 10.12.2010, 20:31 -0500 schrieb Kohei Yoshida:
[...]
 
 About UI

I'll refer to your (Kohei's) pictures linked in another mail ...

 And these are the screenshots of the new dialog.
 
 Rename unchecked
 http://people.freedesktop.org/~kohei/sheet-rename-unchecked.png
 
 Rename checked
 http://people.freedesktop.org/~kohei/sheet-rename-checked.png

Two main (and somehow rhetorical) questions / remarks:
  * If the user copies a sheet (several sheets) within the same
file, then the new sheets will be renamed anyway. Right?
Although the user did not check the Rename checkbox ... -- As
far as I understand, we require unique sheet names. The checkbox
refers to a user intended name change.
  * If the user copies a sheet, how will he get aware of the name of
the new sheet? -- Currently, people have to finish the
operation and then look for the new name.

 * Let's remove the 'New Name' string as I feel this is redundant.  And 
   let' place the rename box either to the immediate right of 'Rename' 
   check box, or immediately below it.  I prefer it being to the right 
   of the check box since we have a plenty of space there.

Does that mean the aligned to the caption Rename? Would be great.

 * Instead of hiding the rename box, it's better to disable it when the 
   Rename check box is not checked.  We generally don't show or hide 
   controls but enable or disable it.
 
 * Let's disable the Rename check box as well as the rename input box 
   when multiple sheets are selected.  We don't know what we should do 
   for multiple sheet copy/move  rename yet, so I would be more 
   comfortable disabling it in such cases (at least for now).  

Yep.

 * I think it would be more user-friendly if the Rename input box 
   showed the default sheet name.  When moving a sheet, this would be 
   the original sheet name, while when copying a sheet it would be the 
   original name followed by '_' + num (e.g.  Sheet1 - Sheet1_1).  

Absolutely.

 [...] 
 
 All in all, I'm happy with what I see there, so, good work! :-)

A small additional question (I may have missed that): What happens, if
the user choses a name that is already used in the document? The current
(less helpful) reaction within the renaming sheet dialog is another
dialog window Invalid sheet name. (Ask any user if he knows what this
might mean ... *g*).


 Let me know if you need any help with any of the above items.
 
 I'll CC Christoph in case he has some comments on this feature as well
 as on my comments above.  Christoph, please feel free to add your
 comments as well if you have any. :-)

Concerning my questions above, I do have a proposal - it is meant to be
a small iterative step, so please look at it critically ;-)

Some assumptions:
  * limit the number of changes
  * keep the idea of a common move / copy dialog (I still don't know
why this had been introduced ... but at least, it saves another
menu item)

+-+
|  Move / Copy Sheet: $sheetname  |
+-+
|  Action --  +
|(o) Move |
|( ) Copy |
| |
|  Location and Name ---  |
|To Document  |
|[ $documentname (Current Document) |\/]  |
| |
|Insert Before|
|+-+  |
|| Sheet 1 |  |
|| Sheet 2 |  |
|| Sheet 3 |  |
|| (move to end position)  |  |
|+-+  |
|