W3C home > Mailing lists > Public > www-forms@w3.org > May 2003

RE: XForms and Undo

From: Klotz, Leigh <Leigh.Klotz@pahv.xerox.com>
Date: Fri, 9 May 2003 16:01:36 -0700
Message-ID: <51B8ABCE456FD111899900805F6FD6EE12EE00DC@mercury.ADOC.xerox.com>
To: "'Dueck, Brian'" <bdueck@metasolv.com>, "'www-forms@w3.org'" <www-forms@w3.org>
I agree with Micah that undo/redo of user interaction should be possible in
user agents without any blessing or encouragement from a W3C spec.
Just as a textarea widget in a browser can interpret Ctrl-Z and undo and
Ctrl-Y as redo without spec guidance, a menu item in a desktop browser could
offer Undo/Redo support across widgets -- undo typing, followed by undo
checking box, followed by undo sliding slider.  
For your point 1, don't forget voice and other input modalities.
If undo and redo are to be initiated from events inside the form, however,
there would need to be some additions to the specification.   Your second
and fourth points are also good areas to look for implementation and use
experience before writing them down in a spec, but I think implementations
can make significant progress without dealing with any hard issues involving
side effects. Sidebar on reset: 
You might note that XForms does not have a <reset> widget.
One of the thoughts behind de-emphasizing <reset> is that users would better
be served by the user agents offering undo/redo support as part of their
user interface.
There were other thoughts too -- form designers put in reset because it's
there, not because they think people want it, and although they style the
submit button they leave the reset button a big gray box that really wants
to be pushed.  And there's no undo ;-).  For my pet-peeve example of this
practice, see http://mapsonus.switchboard.com/bin/maps-mapspec/
The "Draw Map" button is unfamiliar looking, out of style with the rest of
the page, and located under the input labels, whereas the "Clear" button
looks like a button to push, and is located right under the input fields
you've just typed in.
-----Original Message-----
From: Dueck, Brian [mailto:bdueck@metasolv.com] 
Sent: Tuesday, May 06, 2003 9:52 AM
To: 'Micah Dubinko'; 'www-forms@w3.org'
Subject: RE: XForms and Undo

Thanks for the response Micah.
I think what's missing from the spec somewhere is to explicitly describe how
XForms 1.0 supports an Undo scenario.  You're right I'm sure that XForms 1.0
probably has enough to support basic Undo, but I think the feature may be
important (and complex) enough to warrant an explicit mention (Undo may not
be alone in this).  Making the behavior clear and explicit will I think
encourage XForms implementations to support this capability and that (I
believe) is good for everyone concerned.
Here are some of the questions that may be helpful to answer for XForms
implementors and authors interested in Undo:

*	Explain what the expected functional behavior is of Undo in XForms
(this may be painfully obvious to some, but I put it in the same category as
specifying things like what the visual effect of the "relevant" model item
attribute has on UI controls - it's better to be explicit so that the form
author can be assured of providing the end user the same experience across
XForms implementations). 

*	Is there a standard way for a form author to hint to an
implementation that Undo support is desireable and practical for a given

*	What is the implication of a series of Undo operations on the model
(this may be no different than a regular edit, but if so it still makes
sense to clarify). 

*	Identify the features of XForms 1.0 will be problamatic or
nonsensical to accomodate Undo. Submit may be an example of this, but I
suspect other events may be difficult or perhaps impossible to reliably undo
(e.g. what is the undo of an event that triggers a message to popup?
External and date based functions may also have side effects that are not
possible to undo.). 

*	A close functional cousin to Undo is of course Redo (i.e. undo my
undo, or alternatively repeat my last command). It would be useful to cover
these topics as well and explain the expected behavior from a user

Does this make sense?

-----Original Message-----
From: Micah Dubinko [mailto:MDubinko@cardiff.com]
Sent: Tuesday, May 06, 2003 3:56 PM
To: 'Dueck, Brian'; 'www-forms@w3.org'
Subject: RE: XForms and Undo

Hi Brian,
Yes, we have discussed undo, and we think it's a good idea.
An implementation would certainly do well to support an undo feature (and
indeed, it's fully possible even with XForms 1.0). What would you suggest
putting in the specification to encourage this feature, or make it more

-----Original Message-----
From: Dueck, Brian [mailto:bdueck@metasolv.com]
Sent: Monday, May 05, 2003 11:31 PM
To: 'www-forms@w3.org'
Subject: XForms and Undo


Wondering if anyone has given thought on how XForms addresses the common
user need to "undo" a series of edits in historical sequence.

For example, through an XForm, a user is editing some important information,
realizes a mistake has been made, and needs to "undo" several of these
edits. The result of each undo is the changes made for that edit to the
XForms models are reversed. Perhaps some actions denote a commit point that
cannot be undone and clears all prior edits - for example a submit.

I can imagine this would be a very powerful feature for an XForms
implementation to provide to its users. This would be especially nice if the
Undo capability was done in such a way as to be zero effort for the XForm

I believe end-users have come to expect undo from their commercial
applications (e.g. office productivity apps, etc.), so why not address this
requirment as part of the XForms spec? That way the behavior associated with
an Undo is consistent from an end-user perspective as well as an XForms
author perspective. Or if this does not need to be part of the spec perhaps
the spec can at least explicitly say its up to implementations to provide
this feature or not.

Has this been addressed or discussed explicitly by the XForms spec groups? 

How about the XForms implementation community? Anyone stepping up to the
plate to provide this feature? 

Thanks in advance, 

Received on Friday, 9 May 2003 19:01:37 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:36:08 UTC