I have a pop up menu. What is said to be easier on the users' eyes? Should I just have it appear immediately using
visibility = true or should I have it fade in using opacity animation?
Users hate slow UIs, just as they hate slowly loading websites. Pop in, fade out.
Your users are not here to admire your application. It's just a tool to help them achieve a goal, and when that's done, it doesn't matter how pretty the app - they're out of there. Now, that doesn't mean you should strive for dull, grey, boxy interfaces. But it does mean prioritizing speed of service and accessibility (in the broadest sense of the word).
Some of the information contained in this post requires additional references. Please edit to add citations to reliable sources that support the assertions made here. Unsourced material may be disputed or deleted.
Why just popping in is bad: Nothing in the real world does that and thus it is disorienting for users. If something in the natural moved that fast and stopped right in front of us it would be startling, haha. The user must take a few moments to reorient themselves and return to scanning the new window.
Why fading in is bad: It catches the users attention with its movement but then they must wait for it to fully stop animating to scan it. So unless it happens in less than a second, its bad.
My suggestion: what ever transition you do make it happen fast, under 1 sec. (Unless your program is slow and you want to hide that, which in case distract them haha)
It's a popup. The user asked for it - so give it to them - right away. Don't slowly hold your hand out to give it to them, it's just annoying.
The user knows what to expect, and the faster it popups up the faster the app will feel.
There is absolutely no need for noticeably fading-in popups.
I agree with Jonshariat, but would suggest between
200ms (just noticable)
700ms (not yet annoying)
If you are going to use a transition effect, it's not a bad idea to actually put some information in it; use the transition to show the user how they got there and how to get back. Fading doesn't really provide much information. Instead, you could have the new content grow over the old content, or have both new and old content slide off one edge and on the other, both in such a way that emphasizes the ui elements the user will use to navigate between the two screens.
All of this should be part of an overall spatial design of the application so that your users can use the visual queues to build a mental understanding of where they are and how each interaction will affect that. If your transitions don't do any of this, then they are just wasteful.
From your question i can gather that you are talking about the user triggering the action. The user clicks on the menu link and then it opens up.
I would suggest an appearance without any animation.
- Animation can slow down the users browser experience why take a chance. I have often seen animation slowing down or hanging my Firefox or Chrome browsers.
- Animation has the effect of something important happening. If you already have the user attention why do it again with a fade in.