69

Currently, the system makes you think you can upvote/downvote your own question/answer but then you get notified that you can't. Why have the up/down vote buttons there then?

In general, if some operation is not allowed, then don't put UI for that up or make it disabled so it is apparently disabled - no post operation error panels please?

ps: hope this is not a dupe, but if so, just comment it and I will remove

(+a joke: a user notification panel message: I deleted this file. Is this a problem? Yes/No.)

6
  • 56
    I often find myself reading answers, and thinking "this is REALLY good. I agree with almost EVERYTHING in this response. It deserves to be upvoted way more than it has been!". But when I try...
    – devinb
    Commented Aug 5, 2009 at 12:59
  • 7
    @devinb: Narcissus! Commented Aug 5, 2009 at 13:12
  • 3
    +1, also for the joke
    – balpha StaffMod
    Commented Aug 5, 2009 at 13:17
  • 1
    @devinb <3 This is annoying! Commented Nov 15, 2011 at 4:31
  • 2
    In comments, we do have this functionality, so it must be here as well Commented Mar 27, 2014 at 15:58
  • The system doesn't make you do anything you don't want to ... Commented May 2, 2015 at 9:29

3 Answers 3

24

After I read this it seemed like a pretty good idea, so I whipped up a GreaseMonkey script to do exactly that. It makes the vote elements 'hidden' so they are invisible and can't be interacted with, but it doesn't mess with the layout at all.

// ==UserScript==
// @name           SO - Remove Own Vote Buttons
// @namespace      SO
// @description    Remove Vote buttons next to your own answers
// @author         T.J. Leahy
// @include        http://meta.stackexchange.com/questions/*
// @include        http://stackoverflow.com/questions/*
// @include        http://superuser.com/questions/*
// @include        http://serverfault.com/questions/*
// ==/UserScript==

(function(){
  function GM_wait() {
    if(typeof unsafeWindow.jQuery == 'undefined') { 
      window.setTimeout(GM_wait,100); 
    } else { 
      $ = unsafeWindow.jQuery; letsJQuery(); 
    }
  }
  GM_wait();

    function letsJQuery() {
        var username = $('#hlinks a:eq(1)').text();
        $('div.answer').each(function() {
            var answeredby = $(this).find('div.user-details a:eq(0)').text();
            if (answeredby == username) {
                $(this).find('div.vote img').css('visibility','hidden');
            }
        });
    }
})();
1
  • 3
    @kd304 Chrome supports GreaseMonkey now... Commented Jun 7, 2010 at 8:18
15

How about just have lower saturation (half grayed out) buttons instead of removing them entirely. If the user clicks them, they get the same result.

The problem for me is that they unnecessarily draw the eye.

5

Because removing it for your own questions and answers is far more complicated and could potentially introduce more layout problems than simply giving a notification.

Edit I should also mention that I believe there were some usability studies (not to mention a lot of developer and client experience) that have said that it is much easier on the user to show things as being disabled then to start adding and removing the visiblity of items on a page. If you start setting the visibility off on some elements, the "holes" that could form on the page where the UI normally is situated could be jarring to the end-user.

14
  • 7
    They could just set visible to false!
    – jjnguy
    Commented Aug 5, 2009 at 12:56
  • 12
    This is a lazy reason to not to do it. I see others problems like that in SO reported in meta that receives same answer or is tagged status-bydesign. But the error doesnt go away if you call it "a feature". In this case, IMHO this behavior causes a bad feeling in the user. Commented Aug 5, 2009 at 12:57
  • 2
    IMHO making requests like this (another one being a request to make all the logos the same dimensions) do not add any type of actual value to the system or the benefits do not compare well to the costs involved in doing it. All it takes is getting a single notification to teach a user how the system works. You can call it lazy, while other people can call it common sense.
    – TheTXI
    Commented Aug 5, 2009 at 13:01
  • +1, No wonder this kind of attitude made me do stuff. Hack me in, Scotty!
    – akarnokd
    Commented Aug 5, 2009 at 13:05
  • 9
    But here they don't disable the buttons, they look exactly the same.
    – perbert
    Commented Aug 5, 2009 at 13:33
  • 4
    I would personally rather them not be disabled because I can already picture people sending in bug requests about how they can't vote up or down on certain items without realizing that they were trying to vote for their own stuff (No, I do not have faith in humanity)
    – TheTXI
    Commented Aug 5, 2009 at 13:40
  • 2
    IMO if you disable them, the alt-text (info message) should be changed. Perhaps, to "You can´t vote for you post" ;-). Commented Aug 5, 2009 at 15:13
  • 3
    Oh the irony! meta.stackexchange.com/questions/12678/…
    – perbert
    Commented Aug 5, 2009 at 18:38
  • 2
    If buttons are hidden or disabled, users often wonder why it is not available. Enabling the buttons with a describing message when clicking on it is much more responsive to the user. Users learn fast that they can't vote for their own posts...!
    – awe
    Commented Aug 31, 2012 at 13:02
  • @TheTXI: I have actually wondered about why I couldn't get the "useful vote" button on a comment that I found useful. It took a while before I noticed the user name, and realized it was a comment I had posted myself a while ago!
    – awe
    Commented Aug 31, 2012 at 13:07
  • 1
    In comments, we do have this functionality, so this must be here as well. Or remove it from comments as well Commented Mar 27, 2014 at 15:59
  • It's not much more complicated if (for example) the voting buttons become empty sprites. They might even be clickable and generate the existing message; only the particular image has to change. Commented Apr 28, 2014 at 14:47
  • 6
    »Because removing it for your own questions and answers is far more complicated and could potentially introduce more layout problems than simply giving a notification.« --> If removing UI elements from your layout causes this kind of problems, then you have a much larger problem in your front-end code :) // »If you start setting the visibility off on some elements, the "holes" that could form on the page where the UI normally is situated could be jarring to the end-user. --> That is a design challenge that a good UI designer can solve. Commented Dec 8, 2015 at 18:46
  • As @AwalGarg points out, we manage to do it for comments, so (a) it is not utterly impossible and (b) we're already exposing ourselves to some of any possible breakage.
    – LSpice
    Commented Aug 9, 2018 at 12:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .