[Usability] Undo/Redo questions



I'm implementing undo/redo within Conglomerate - with unlimited undo
support - and I have a few questions for the Usability experts out
there.

(i) Interaction of Undo/Redo with Clipboard
-------------------------------------------
If the user copies some text to the clipboard, and they then select
"undo", should we try to restore the old state of the clipboard?  I
believe it's easier for both me and my users if the answer is "yes"
(although I've yet to delve into the  details).  Imagine the case where
a user has a long sequence of operations involving the clipboard, which
they undo back through, then redo, then undo, to get to exactly the
point they want - I believe the clipboard should be in its "historical"
state at that point, rather than be whatever it was in.  But this gets
complicated if the user then copies some text in another app.

(ii) Interaction of Undo/Redo with Save
---------------------------------------
If the user repeatedly selects "undo", should the app stop them when
they reach the last point at which the file was saved?  Perhaps a dialog
could pop up asking if they want to go back beyond the last save point. 
We could even keep a record of all of the saves since the file was
loaded within the undo history, so we could ask "you are about to undo
past your save of 5 minutes ago", then "...past your save of 12 minutes
ago", etc.

Version 1.1. of the HIG has a point about "If your application supports
undo, and the user undoes all changes since it was last saved, treat the
document as unmodified.".  If we allow undo past the last save point,
should we treat the document as "Modified" since it no longer
corresponds to the version on disk?   What about "Save As..."

(link is here:)
http://developer.gnome.org/projects/gup/hig/draft_hig_new/menus-standard.html#menu-standard-edit


(iii) Action Names for the Undo/Redo menu
-----------------------------------------
Version 1.1 of the HIG has this: "We'd like to see the action name
included on the Undo/Redo menu items, but this is currently not easy to
do in gtk.".

I'm writing the code under the assumption that action names will
eventually be supported.  Are there any policies yet about how these
actions should be named.

I'm currently erring on the side of being too verbose.  For example,
when editing XML attributes, I'm recording actions with names like:
	Set attribute "vendor" to "debian"

rather than just:
	Edit attribute

which could be excessive, although perhaps easier when navigating the
undo history.  

Questions about capitalisation style apply as well:  I took a quick look
at Gnumeric and it seems to be using header capitalisation (rather than
sentence capitalisation).

Hope all the above makes sense.

-- 
David Malcolm
www.conglomerate.org




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]