Every time I design lists (which are a beautiful thing in itself) I am wondering about how to treat list item specific actions which aren't bulk actions such as delete.
Let me give you an example, I have a list of reports and every report of the list can be edited or run if needed. For three consecutive reports in a list it would look like this, if the actions are always displayed: http://cl.ly/image/091k290d0E2i – this is an option which works, on the other hand there is also the option to hide the actions but once the user hovers over the list item, the list item will turn to active and the action buttons would be revealed, like this: http://cl.ly/image/001S3K28431Y.
I have seen both on various web applications I really enjoy using and designed by designers I really respect – however, I am wondering if there are some research based results on which of those approaches do better? I would also appreciate your personal honest opinion.
What I personally like about the always-display approach is that it is fool-proof and invites the user to take action. On the other hand it just doesn't look aesthetically very pleasing to have the same buttons repeated over and over again and show plenty of stuff the user doesn't need.
What I like about the reveal-on-hover approach is that it adds more interactive context to the list-item itself and it only shows up when needed (assuming the user gets it). It really hides the stuff which isn't needed. It also looks more pleasing and reduces weight from the lists. On the other hand, it might be irritating and not as usable as the always-display approach.
Curious about your thoughts and tested results on this one.