[Usability] Reducement of confirmation pages / Allow undo

General discussion of development ideas and the approaches taken in the 3.x branch of phpBB. The current feature release of phpBB 3 is 3.3/Proteus.
Forum rules
Please do not post support questions regarding installing, updating, or upgrading phpBB 3.3.x. If you need support for phpBB 3.3.x please visit the 3.3.x Support Forum on phpbb.com.

If you have questions regarding writing extensions please post in Extension Writers Discussion to receive proper guidance from our staff and community.
User avatar
Eelke
Registered User
Posts: 606
Joined: Thu Dec 20, 2001 8:00 am
Location: Bussum, NL
Contact:

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by Eelke »

I wonder whether we are making this too complicated, and I think agreement needs to be reached on just what the scope of this thing will be. An undo "stack" suggests the possibility of undoing multiple actions, several steps back. However, if all we're talking about is replacing "Are you sure" dialog screens by a "just do it and get the option to undo it afterwards" policy, all that ever needs to be undone is the last action taken, and only the important steps at that (those you would otherwise ask "Are you sure?" for). We don't ask "are you sure" when editing a user profile now, so do we need to say, "Change made, undo?" in the future?

code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by code reader »

depending on actual details, implementing undo stack might be no more complex than implementing undo for a single action.
if you think about it in abstract terms, undo a single action simply means the stack depth is limited to 1.

it may turn out to be simpler and more correct to invest in creating a more capable generic "undo" infrastructure, and then individual actions can utilize it to make implementing an "undo" for each specific action actually easier, rather than putting most of the effort in the individual actions themselves, solving the same problem in different ways time and time again.

another advantage of having a more elaborate infrastructure is that you can then enable (through a good API) add-ons to take advantage of it and relatively easily make their own "actions" undoable.

in any event, my point was more towards the observation that the "undo" machinery might be more appropriate per-user rather than per-session.

peace.

bobtheman
Registered User
Posts: 63
Joined: Sat Dec 19, 2009 4:00 pm

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by bobtheman »

Eelke wrote:I wonder whether we are making this too complicated, and I think agreement needs to be reached on just what the scope of this thing will be. An undo "stack" suggests the possibility of undoing multiple actions, several steps back. However, if all we're talking about is replacing "Are you sure" dialog screens by a "just do it and get the option to undo it afterwards" policy, all that ever needs to be undone is the last action taken, and only the important steps at that (those you would otherwise ask "Are you sure?" for). We don't ask "are you sure" when editing a user profile now, so do we need to say, "Change made, undo?" in the future?
We should compile a list of actions that will have the undo option... because in this case there may be other options we could take "not saying i currently prefer one over the other"

but for example if we say that "Undo" should be only for actions in core for deleting threads/category's/forums .... the "trash can" would solve this without the need for the "undo" option

so i ask myself, and everyone here, What actions would need to be reversed other than deletions?

Phil
Registered User
Posts: 185
Joined: Sun Mar 11, 2007 3:20 am
Contact:

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by Phil »

IMHO anything taking place in the *CPs would qualify, as well as things like post deletion (though if a soft-delete type feature were implemented that may reduce the need, though adding an undo there may add ease of use)... editing perhaps?
My phpbb.com account
Note that any of my opinions expressed in RFC topics are my own and not necessarily representative of the opinion of the phpBB Team.

code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by code reader »

normally in software development you begin with the requirements, and then continue to implementation.
in the case of "undo", it's better to take the opposite approach:
implement "undo" for any operation for which such implementation is easy and does not complicate the code.
if someone comes with a brilliant idea how to implement "undo" for an operation you didn't think is "required", do it anyway.
if you find it difficult to implement "undo" for an operation you know you want it (and here "difficult" means mostly that the only implementation you can think of will make the code significantly more complex), don't do it.

it sounds somewhat back-assword, but once you begin to think of "undo" as "luxury" or "nice to have" instead of hard requirement, it begins to make perfect sense.


peace.

User avatar
Eelke
Registered User
Posts: 606
Joined: Thu Dec 20, 2001 8:00 am
Location: Bussum, NL
Contact:

Re: [Usability] Reducement of confirmation pages / Allow undo

Post by Eelke »

bobtheman wrote:so i ask myself, and everyone here, What actions would need to be reversed other than deletions?
A very generic answer: anything you would traditionally feel the need to ask "Are you sure?" about. To me, this is about the fact that people increasingly become blind to confirmation questions, click "Yes" or "Confirm" and almost immediately regret it. However, that's only a few percents of the time. Usually, the confirmation message is just an anoyance because they really did want to take the action (which is actually the reason why people develop the confirm box blindness). That's why I'm advocating, drop the confirmation message entirely, just do what was asked so that you don't bother people with an extra step in the 98% of the time they really do want to do what they asked for, and offer an extremely convenient undo-option for the 2% of the time that they didn't want to take that action after all (and realize so the moment they get the confirmation that the action was taken).

I agree that probably this needs some generic implementation, much like a confirmation message system would get a generic implementation (this could possibly even be tied into the confirmation system, where undo-information is just some extra parameters to the call that displays the confirm message). Any part of the system should be able to say, the next action I'm going to take should be reversible (or, I just took an action, here's a confirmation message to tell the user about it and here's the stuff I need to undo it). Probably, it should then simply offer some method/hook to actually undo the action, and some storage area should be available for data it needs to be able to undo the action (the data would then be a parameter to the undo-hook when that's called). Maybe there should also be a method that can be called to make the action "permanent", e.g. when some cron job comes along to clean out the undo queue/stack/whatever. Maybe it's possible to specify things in such a way that it should be enough to clear out the undo-data to make the action permanent, but in some cases it may be harder to actually restore the database to a previous state then it is to hold-off the real action until the system is sure it will not be necessary to undo it anymore.

GravityDK
Registered User
Posts: 36
Joined: Sat Aug 28, 2010 10:19 am

Re: [Usability] Reducement of confirmation pages / Allow und

Post by GravityDK »

Putting aside the 'undo' complexities, I would want "action completed" pages removed in most places.

phpBB saying "done, redirecting in 5s" is just annoying. Give me a javascript "done" on the new page that fades our, or have a persistent "done" which you close with an "x" box (like youtube's upload feature), but don't put me onto a page by itself that says "done" and then redirects.

For "confirm your decision to act?" pages, it would be much neater to have that display as an AJAX Javascript confirmation, which appears beneath the button you just clicked, like "clear all caches?", which has 'you sure?' on the same page, below the button you clicked, which you then click to confirm the action is intended.

Cross-reference: this other thread is on the same topic.

User avatar
Eelke
Registered User
Posts: 606
Joined: Thu Dec 20, 2001 8:00 am
Location: Bussum, NL
Contact:

Re: [Usability] Reducement of confirmation pages / Allow und

Post by Eelke »

I think a modal popup (lightbox-style) would be better to ask for confirmation. Something that appears below a button may not be apparent enough. Do you have any sources that also suggest this?

Jhong
Registered User
Posts: 50
Joined: Tue Dec 26, 2006 3:28 pm

Re: [Usability] Reducement of confirmation pages / Allow und

Post by Jhong »

Why add another click? All that does is use AJAX for AJAX' sake -- you still have to click a confirm box. I'd lean towards just modifying the page state based on whether an action had been performed. i.e.:

User clicks post delete button
Button turns to a spinner for a second while the request is sent to the server
Post fades out and disappears
Text next to the recycle bin appears saying "1 deleted item" (or the number increments).

There shouldn't be any need for any Microsoft-style confirmation pop-ups, balloons or other workflow-inhibiting elements. The UI needs to get out of the way IMO.

Of course it all needs to be done using progressive enhancement -- with the delete button sending users to a new page by default. If they have JavaScript turned on, then AJAX is used instead.

User avatar
Eelke
Registered User
Posts: 606
Joined: Thu Dec 20, 2001 8:00 am
Location: Bussum, NL
Contact:

Re: [Usability] Reducement of confirmation pages / Allow und

Post by Eelke »

You can't just delete something as soon as a user clicks a button and be done with it. GravityDK's post started out by stating "Putting aside the 'undo' complexities" (which, IMHO is a much better way of handling things than any kind of confirmation up front). That leaves a confirmation question, one way or another, as the only option. Again, just deleting something without asking the user either up front, or allowing them to undo the action after the fact, is not an option.

Post Reply