Paper of the Month: Faster Cascading Menu Selections Using AAMUs and EMUs
October 11, 2009
Actually, this post deals with two papers that I want to briefly present here (since they are closely related to each other). Download links and a short introduction below:
Tanvir, E., Cullen, J., Irani, P., Cockburn, A. (2008) AAMU: Adaptive Activation Area Menus for Improving Selection in Cascading Pull-Down Menus. Proceedings of ACM CHI’2008 Conference on Human Factors in Computing Systems. Florence, Italy, 5th-10th April 2008, pp. 1381-1384.
Cockburn, A., Gin, A. (2006) Faster Cascading Menu Selections with Enlarged Activation Areas. Proceedings of Graphics Interface. Quebec, Canada, 7th-9th June 2006, pp. 65-71.
Why you should read them
Very often, cascading menus are used to execute commands in desktop applications or RIAs (or to navigate between pages on normal websites). A known problem is that they can be hard to use, especially if they contain a large number of items and several submenus. For example, if you use the bookmark manager in Firefox to browse through a hierarchy of categories or if try to drag single bookmarks within the menu from one category to a more deeply nested one, it can happen easily to deviate from the optimal mouse path and unintentionally select the wrong target category – or even unpost the whole menu. A common way to reduce selection errors is to delay the posting and unposting of submenus (which is what most commercial applications do). However, there are several issues with this technique, such as slowing down menu interaction. Several researcher have tried to improve and accelerate selection in cascading menus, with two of the more recent variations being AAMUs (Adaptive Activation Area Menus) and EMUs (Enlarged Activation Area Menus).
Without going into any further detail about how they work, I believe that it might be valuable to experiment with an implementation for UI libraries like the Flex framework. For example, a property on the menu component could be used to switch between different methods, maybe something like:
menu.activationMethod = MenuActivationMethod.NONE | MenuActivationMethod.DELAY | MenuActivationMethod.AAMU | MenuActivationMethod.EMU...
Anyway, the papers are quite interesting to read and one gets a feeling for how much research is being carried out in terms of enhancing menu interaction.