Try not to hide conditional options because users will start to distrust the application. They can't be expected to memorize the rules that govern the application.
- Is it more understandable to hide the "now" or disable it when it is not available?
Users will have a difficult time memorizing rules that govern which data sets are not available in realtime, so rather than put the burden (and sense of uncertainty which accompanies) on them, gray out the option and have an explanation that this is not available.
- What location is most understandable for the "now" option?
Map the terms in your date picker range labels with the list of choices in the menu.
You can include the range terminology in your datepicker date field. In my example I also included the actual date in a more subtle manner, but you might not need that.
Users will be trying to match the terms you're using for the canned ranges (
yesterday, etc.), so be explicit and match them in the input field, so they see the currently selected (input field) and available (list of ranges) in close proximity to each other.
Now is another choice, similar to the others.
I've appended the term
Realtime, as it suggests a continuous stream. You often see this term in Ops tools, where data is refreshing constantly.
Caveat: the difference of realtime data
With realtime data, the contents of the table will most likely be shifting. For this, you can add an additional indicator that the UI is subject to changes as the user is viewing. I've put this in the example below.
For unavailable options, provide hints: