DISCLAIMER: The title is not intended to suggest that AJAX is a bad, horrible, and evil thing in which requires an Anti-AJAX activist effort. However, it is to suggest that usability should *ALWAYS* be the primary focus of any web-based and/or desktop-based application. While not directly related to Asynchronous communications, Javascript, or XML, given that the feature of an AJAX-enabled page that is most often noticed and therefore implemented is that of an active/re-active interface, there has developed a strong connection between an AJAX-based web page and poor usability practice. Therefore, the connection with the title.

Fly-out menus that are activated via a mouseover event are what I would term an Anti-Usability feature as in *MOST* cases they are designed to fly-out over the top of the text of a given page, covering up whatever it is you happen to be reading. This is fine when the action requires a click (or the Enter key if you are tabbing your way through links), but when all that is required is a mouseover, more often than not the action is activated at a moment when you have no desire for it to be activated.

If a page has been designed using usability as the primary focus, things such as menus, in-line ads, and other often “active” elements contained within any given page should never fly-out unless an action that can be deemed as “user instantiated” (such as a click) has taken place.

The reason?

Due to the tendency to use the mouse as our “reading guide” in regards to maintaining our general location on a page (in regards to reading location) without covering up the direct line-of-sight location, the accuracy at which is required is not that in which invokes a fine-tuned motor skill , and therefore a tendency to use the mouse pointer in a much more relaxed usage pattern than we would if we were aiming to click something (e.g. a link, or a menu, etc…).

The result tends to be that of the mouse pointer moving over the top of things that we have no intention of clicking. When we do, and a mousover event triggers a fly-out it causes an immediatte loss of focus, and therefore a usability issue. For some people its not a huge thing, as regaining focus is not something they struggle with. But if you’re someone like me who has a hard enough time staying focused, little distractions like this can mean the difference between productivity and lack thereof. And even if you don’t struggle with maintaining focus, is still annoying as hell!

With this in mind, the MSNBC.com Anti-AJAX Feature-of-the-Day** (hinted with an orange transparency/red outline square) is,

Today’s News from MSNBC - MSNBC.com

feature-of-the-day_msnbc-s.png

NOTE: Before I took a snapshot of my browser window the text read “Disable Fly-out”. While I recognize the fact that the folks at MSNBC.com have an extensive user-base that has been developed over the last ten years (or so) and therefore would cause more confusion than would be worth changing the default setting to “Enable Fly-out”, for those of you who do not have a Roger Black designed layout and/or user-base used to a particular way a page on your site “reacts” by default, you might want to consider using “Enable Fly-out” as the default, or better yet, don’t use Fly-out menus at all.

At least that’s my opinion.

Thanks for reading :)

** - I have no idea when this feature was implemented, but its the first time I have noticed it, and therefore feature-of-the-day. For all I know this capability has existed for as long as the RB-based design has been in place (97? 98? 99?), but if it has, it was either hidden, or I’m just completely dense and have simply never noticed it before now.

I’ll maintain both as a possibility until I discover for sure one way or the other. ;)