Last modified: 2014-09-26 17:38:27 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T55879, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 53879 - Thanking a user for an edit takes multiple clicks
Thanking a user for an edit takes multiple clicks
Status: RESOLVED DUPLICATE of bug 69636
Product: MediaWiki extensions
Classification: Unclassified
Thanks (Other open bugs)
unspecified
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-09-06 23:46 UTC by Jared Zimmerman (WMF)
Modified: 2014-09-26 17:38 UTC (History)
16 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
updated appearance of the thank tex (1.17 MB, image/png)
2013-09-16 23:07 UTC, Jared Zimmerman (WMF)
Details

Description Jared Zimmerman (WMF) 2013-09-06 23:46:27 UTC
Thanking a user is too hard, and requires a confirmation step. This is unlike any site where similar functionality exists.

Recommendation : hold thank action in a queue for 30 seconds (60?) in which the thanker can click "thanked" to unthank with no notification sent to the target of the thanks. After the queue expires, the user can unthank but no action will occur other than "Thanked" changing back to "Thank"
Comment 1 Kunal Mehta (Legoktm) 2013-09-06 23:53:19 UTC
Introduced in https://gerrit.wikimedia.org/r/#/c/67591/
Comment 2 Jared Zimmerman (WMF) 2013-09-06 23:57:22 UTC
(In reply to comment #1)
> Introduced in https://gerrit.wikimedia.org/r/#/c/67591/

Thanks for the link, I'm aware of the reason why the current flow is in place.
Comment 3 Bartosz Dziewoński 2013-09-07 01:06:07 UTC
(In reply to comment #0)
> Thanking a user is too hard, and requires a confirmation step. This is unlike
> any site where similar functionality exists.

I am not aware of any such sites, personally. Care to provide examples?


> Recommendation : hold thank action in a queue for 30 seconds (60?)
> in which the thanker can click "thanked" to unthank with no
> notification sent to the target of the thanks. After the queue
> expires, the user can unthank but no action will occur other than
> "Thanked" changing back to "Thank"

Sounds unintuitive.


The current workflow appears to be a good compromise between easiness and avoiding accidental clicks. Maybe the interface could be made less intrusive, but that's a separate thing.
Comment 4 Jared Zimmerman (WMF) 2013-09-07 09:24:18 UTC
Bartosz,

Facebook (like), Twitter (favorite), LinkedIn (like), Quora (thank) Pinterest (heart)

Like I said, I've yet to see a site that requires a secondary step for an action where a user shows appreciation for other users' actions. 



Unintuitive? for all intents and purposes its a button, buttons usually have an on and off position and you usually press, click or tap them to toggle between two states, so one click thanks, a second click unthanks. 

Given the general tone of interactions on the site, and the severe decline in thanks after this change, this seems to me to be a serious and measurable regression. 

What is worse, accidental thanks being sent (to vandals or well intentioned users making errors) or the serious decline in positive user to user actions on site?
Comment 5 Bartosz Dziewoński 2013-09-07 12:10:34 UTC
> Facebook (like), Twitter (favorite), LinkedIn (like), Quora (thank)
> Pinterest (heart)

I only use Facebook and LinkedIn out of these, so I'll base my reply
on them.  I was also not aware of any "like" functionality of LinkedIn
and I can't seem to find it now, so I'll only base my reply on
Facebook. :)

* The "thank" link is right next to "undo" and "rollback", so
  missclicks cause more issues than, say, clicking in the comment
  field instead of liking a post on Facebook.
  
  That's why the secondary step is needed, and why it was requested by
  the community (and why the request was actually fulfilled instead of
  being ignored, like such requests often are).

* You certainly can unlike Facebook likes at any time, while you can't
  unthank anybody ever. This is also why I think that a solution where
  you suddenly can unthank, but only for a brief period of time, is
  unintuitive.
  
  Of course, this is possible to do (GMail does, or did, it, allowing
  user to "unsend" an e-mail for a few seconds), but it needs a clear
  indicator that something is happening right now and you can stop it
  (GMail used a button on a yellow bar near the top of the screen).
  
* The thanks have been widely advertised for being unlike likes - in
  particular because of being private (invisible to other users) and
  carrying more value (to me it seems like thanking a person for
  something is more "personal" or "involved" than liking something
  they did). You are now implying that's not how it is.


> Given the general tone of interactions on the site, and the severe
> decline in thanks after this change, this seems to me to be a
> serious and measurable regression.

If there was such a decline (Where are the stats? Are they public?),
then it's probably caused by people getting used to the feature and
stopping playing with it. (Or possibly deciding that it's not
something they actually want to use.)


> What is worse, accidental thanks being sent (to vandals or well
> intentioned users making errors) or the serious decline in positive
> user to user actions on site?

This is a false dichotomy and a rhetorical question, both of which
should be avoided in a serious discussion. Thanks being sent for edits
one actually intended to rollback are obviously an issue for both
persons involved, especially if the author of reverted/thanked edit
made it in good faith.
Comment 6 Bartosz Dziewoński 2013-09-07 12:12:09 UTC
(I'm CC-ing people actively involved in the previous discussion.)
Comment 7 Technical 13 2013-09-07 12:26:55 UTC
Meh... I expect to see a WONTFIX from this ticket because this discussion was just had not long ago.  I've yet to have the time to finish my user-script I was working on that would allow users to customize thank the way they wanted (completely get rid of it or get rid of just the confirmation step).  I've got a good chunk of the completely disable it code in a NoThanks.js script in my userspace and Ryan Kaldari provided me with a good starting point to get rid of the confirmation step.  I just need to put all of the pieces together.  Of course, if it was decided to allow this customization in the back-end php for the extension instead, I would not complain.
Comment 8 Ignatzmice 2013-09-07 14:19:05 UTC
I don't have a problem with the current implementation, but IF this ended up happening I would rather see the "thanked" turn into a link reading "un-thank" or "thanked (undo)" rather than just sitting there. Who's going to know that clicking it again will undo the thanking? But like I said, it's not that difficult to click "thank" -> "OK".
Comment 9 Technical 13 2013-09-07 14:29:49 UTC
(In reply to comment #8)
> I don't have a problem with the current implementation, but IF this ended up
> happening I would rather see the "thanked" turn into a link reading
> "un-thank" or "thanked (undo)" rather than just sitting there. Who's going to
> know that clicking it again will undo the thanking? But like I said, it's 
> that difficult to click "thank" -> "OK".

I think it is a pain in the ass to click "thank", wait two minutes for the okay dialog to load on my Android, click ok, wait three minutes for the link to change to "thanked"... I'd be fine with a single click and a three minute wait.  Thanks.
Comment 10 Fabrice Florin 2013-09-11 22:43:21 UTC
I agree with Jared's overall recommendations here. 

Now that we are almost caught up with serious bugs and deliverables for Notifications I recommend that we consider implementing a simple 'undo' function to replace the 'confirmation' step -- which seems too heavy-handed. By now, users should have adjusted to this feature, and a more lightweight 'undo' tool might be more effective, increasing overall traffic as a result.

And this can be implemented in a way that addresses Technical 13's concerns here, so we don't have to wait 2 minutes for a link to change. Jared has some really good ideas on how to make this work, which I will let him explain.

To provide more perspective on this topic, here is a recap of our community discussions about this feature right after launch:

https://en.wikipedia.org/wiki/Wikipedia_talk:Notifications/Thanks#Recap

After we first launched this feature, about 23% of users on this talk page reported that they miscklicked often on the thanks link -- requiring the use of a 'confirmation' or 'undo' tool. About 54% of respondents wanted a 'confirmation' dialog, whereas 46% wanted an 'undo' tool. Ideas for 'undo' tools included an 'unthank' link, as well as a countdown solution, described below the recap. 

Because our engineering resources were limited at the time, we implemented a simple 'confirmation' dialog in early June, because the 'undo' solutions would require some backend engineering we couldn't afford. This caused a decline of about 25% in the overall number of thanks notifications sent, which corresponded to the number of misclicks reported above. Overall, our community was comfortable with this choice, as described here:

https://en.wikipedia.org/wiki/Wikipedia_talk:Notifications/Thanks#Thanks_confirmation_feature_added

For more information, here are current usage patterns for the Thanks feature on our Notifications metrics dashboard:

http://ee-dashboard.wmflabs.org/dashboards/enwiki-features

Since the Thanks feature was released on the English Wikipedia on May 30, 2013, we've collected these metrics:

Total notifications events since launch: 29.9k
Daily notification events: 325 *
Daily notification share: 2.2% *
Daily notification views: 1.6k **
Daily notification clicks: 65
Clickthrough rate: 0.04%

* daily numbers are based on Sep. 9 activity
** daily views are based on flyout impressions shared by other notifications
Comment 11 Jared Zimmerman (WMF) 2013-09-16 23:07:18 UTC
Created attachment 13293 [details]
updated appearance of the thank tex

Added visual design for update to thank interface.

This could be implemented with or without the timer feature (e.g just the visual design)
Comment 12 Bartosz Dziewoński 2013-09-17 12:44:19 UTC
(In reply to comment #11)
> Created attachment 13293 [details]
> updated appearance of the thank tex

This looks very neat, but also very out of place on those history pages :/
Comment 13 Steven Walling 2013-10-15 18:17:45 UTC
(In reply to comment #0)
> Thanking a user is too hard, and requires a confirmation step. This is unlike
> any site where similar functionality exists.
> 
> Recommendation : hold thank action in a queue for 30 seconds (60?) in which
> the
> thanker can click "thanked" to unthank with no notification sent to the
> target
> of the thanks. After the queue expires, the user can unthank but no action
> will
> occur other than "Thanked" changing back to "Thank"

I think the confirmation step is probably fine, considering there's also a confirmation for undo. Jared is right that it's weird to require a confirmation on a thanks action like this, but the root cause here is that page histories are a cluttered mess with a poor visual hierarchy of actions. But we're not going to solve that right now. 

An incremental improvement here would be to make the confirmation not require a modal (e.g. do it inline via JS), or provide a quick un-send function inline. The jquery.ui modal that it being used now is a huge overkill.
Comment 14 Nemo 2013-12-09 21:30:49 UTC
(In reply to comment #13)
> I think the confirmation step is probably fine, considering there's also a
> confirmation for undo.

Tweaking status to reflect that the request is unsettled so far.
Comment 15 Jared Zimmerman (WMF) 2014-01-16 02:58:13 UTC
Can we have a GSoC student code it as the attached design shows. Roll it out and get feedback on if we're still getting accidental clicks and track the number of undos were getting, and go from there. I know we have number from the original design and from with the modal to compare to. It would be nice to base the decision to have a confirmation step on data rather than conjecture.
Comment 16 MZMcBride 2014-01-16 03:07:48 UTC
This is my personal take on this bug. I haven't followed everything super-closely, but here's broadly what I see.

(In reply to comment #15)
> Can we have a GSoC student code it as the attached design shows.

Reading comment 0, "it" seems to actually include multiple components, depending on how detail-oriented you are.

One step is obviously removing the little dialog box. That part is trivial to implement immediately. But...

(In reply to comment #0)
> Recommendation : hold thank action in a queue for 30 seconds (60?) in which
> the thanker can click "thanked" to unthank with no notification sent to the
> target of the thanks. After the queue expires, the user can unthank but no
> action will occur other than "Thanked" changing back to "Thank"

Implementing this piece might be a blocker to doing any useful experiment, and coding this second part properly is not trivial. You need to add a reliable delay mechanism and implement the ability to de-queue and re-queue thanks reliably.
Comment 17 Jared Zimmerman (WMF) 2014-01-16 07:44:00 UTC
Perhaps we could make the "queuing" of the thank client side, and with a shorter time span, 5 seconds or so. Rather than making the issue more complex with the need of server side queues
Comment 18 Technical 13 2014-01-16 14:38:41 UTC
(In reply to comment #17)
> Perhaps we could make the "queuing" of the thank client side, and with a
> shorter time span, 5 seconds or so. Rather than making the issue more complex
> with the need of server side queues

Couldn't a token just be stored in a cookie or session data that expires after 30 (I'd prefer 60) seconds so if they manage to navigate away from the page and back before it expires they can still undo?
Comment 19 Bartosz Dziewoński 2014-01-16 15:35:19 UTC
Client-side queueing is unacceptable to me, both in the way Jared proposed (which would mean the user has to wait on the page!) and in the way Technical 13 proposed (it would be too easy for thanks to disappear, only to reappear a few days later when the user visits Wikipedia again, or never).
Comment 20 Technical 13 2014-01-16 15:50:03 UTC
(In reply to comment #19)
> Client-side queueing is unacceptable to me, both in the way Jared proposed
> (which would mean the user has to wait on the page!) and in the way Technical
> 13 proposed (it would be too easy for thanks to disappear, only to reappear a
> few days later when the user visits Wikipedia again, or never).

I think you misunderstood what I was saying.  The user side would have a cookie containing a token to unthank which would include a timestamp 30/60 seconds in the future, if that had already passed, it would be expired and wouldn't be available (so there is no way it could show up after the agreed upon delay) and the server side would process the than after that 30/60 seconds unless it received the token to undo.  I hope that is a better explanation of what I mean.
Comment 21 Quim Gil 2014-01-16 17:00:52 UTC
There are two aspects here: the UI workflow and the notification sent.

At least Twitter and Facebook have a simple and binary workflow:

* Twitter: Favorite --> Favorited --> Favorite --> Favorited...
* Facebook: Like --> Unlike --> Like--> Unlike...

Therefore I guess a simple solution that wouldn't surprise to any user would be

* MediaWiki: thank --> thanked --> thank --> thanked...

I personally agree that the extra dialog feels unnecessary. Then again

About delayed notifications, they seem to be used by these services. I have no idea about their setup but usually a few seconds inenough for a user to realize that a click has been done by mistake. The worse that can happen is that another user gets a notification. Not a big deal?

What is clear is that they don't send any notification if you have been "unfavorited" or "unliked".

Whether this is a good candidate for a mentorship program or not will depend on the complexity of the feature (not too easy, not too difficult), community consensus and availability of 1-2 mentors.
Comment 22 Kunal Mehta (Legoktm) 2014-01-16 20:21:46 UTC
I think MatmaRex's idea with https://gerrit.wikimedia.org/r/#/c/92315/ is a better idea, and is unobtrusive IMO.

(In reply to comment #21)
> About delayed notifications, they seem to be used by these services. I have
> no
> idea about their setup but usually a few seconds inenough for a user to
> realize
> that a click has been done by mistake. The worse that can happen is that
> another user gets a notification. Not a big deal?

I think the whole point is to have users not send accidental thanks.
Comment 23 Jared Zimmerman (WMF) 2014-01-16 20:25:45 UTC
@kunal, I think we have 2 main goals:

1. Make positive actions (like thanks) on the site easy and seamless (in this case seamless means fewer steps, preferably 1

2. Reduce the number of accidental thanks which can be frustrating to the thanker and confusing to the thankee
Comment 24 Ryan Kaldari 2014-01-16 20:30:46 UTC
It seems to me that the problem of accidental thanks has far more to do with the UI of the history and diff pages than the process of how thanks works itself. In mobile, we've completely redone the diff interface and accidental thanks is no longer an issue so we removed the confirmation step there. Putting a lot of work into a band-aid solution doesn't really make sense to me. Personally, I would prefer that we leave thanks how it is for now and work on redesigning the history and diff pages so that people aren't clicking the wrong things.
Comment 25 Jared Zimmerman (WMF) 2014-01-16 20:36:59 UTC
Ryan, 

I think thats a good point, but priority-wise we might have community members that want to contribute to improving the thanking experience and we don't currently have updates to the history view as a priority at this exact moment. I want to make sure we have a solid idea and designs for community members who want to improve this in the interim.
Comment 26 Kunal Mehta (Legoktm) 2014-09-04 20:40:50 UTC
Time to revisit this now that we're using jquery.confirmable for the confirmation step?
Comment 27 Steven Walling 2014-09-04 20:52:06 UTC
(In reply to Kunal Mehta (Legoktm) from comment #26)
> Time to revisit this now that we're using jquery.confirmable for the
> confirmation step?

Agreed. It still takes multiple clicks, but the current bug does not clearly propose a solution. Let's close this in favor of considering a specific alternative. The best currently proposed is bug 69636, so I'm going to mark this as a duplicate of that discussion.

*** This bug has been marked as a duplicate of bug 69636 ***

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links