Let's say we have an application with 50 functions. Six of them are directly accessible as top menu items, the rest is accessible via sub-menus or sub-menus of sub-menus.

While working with the application, the user accesses some functions more often than others, including functions which are "hidden" in sub-menus. Some functions are used rarely (once or twice), even if they are top menu items. But not all users uses the functions in the same way.

I think it would be possible to track the use of those functions and rank them. After a learning phase, the application reorders the position of the functions so the user can reach more frequently used functions faster.

Does such a feature make sense and could it improve the UX or does it just confuse the user?

  • 1
    codeproject.com/Articles/34383/… Commented Nov 3, 2013 at 10:51
  • I knew it when I didn't start working on this on my own (I'll be more glad to buy a working product). Soon this idea will get much needed attention, because it's just natural on our level of technology.
    – ansgri
    Commented Nov 4, 2013 at 20:21
  • After reading the answers and asking some of my colleagues. I think that such an approach isn't useful for things like menus. Maybe something like dashboards, which show information, could automatically add information which are queried often and not shown already. Commented Nov 6, 2013 at 7:52
  • Another approach to 'self learning' would be the use of 'hints' which pop up sometimes if the system spots that the user is doing something in an indirect way.
    – PhillipW
    Commented Nov 10, 2013 at 19:16

6 Answers 6


Probably the most well-known example of such "self-learning UI" is Microsoft Office 2003. They called it 'adaptive menu', see image below. The menu behavior was almost the same as you described. Besides re-organizing items, they also hid rare ones to maintain a reasonable number of items in a default collapsed view.

enter image description here

My experience showed that most users hated this approach, as menu items seemed to behave unpredictably to them. The more confusing cases were when a user asked his colleague to show him his menu to compare and wondered why menu differed in the same software.

For me, the disadvantages of adaptive menu are:

  • hidden rules, that doesn't allow to form correct mental model,
  • lack of user control over system. As users said, the system lived on its own way.

Still, I think the overall idea is good, as it shifts a software more to a human side. The question is in implementation and context.

Concerning Microsoft's 'adaptive menu', from Are Adaptive Interfaces the Answer? by Jono DiCarlo, :

The idea hasn’t worked out so well in practice. Many users turn off adaptive menus in Office because they find the feature extremely frustrating. Even Microsoft’s own designers have admitted that adaptive menus didn’t work out the way they hoped. The feature has been removed quietly from the latest versions of Microsoft Office.

  • I've talked with some of my colleagues about this question. We came to the conclusion that changing a work path like a menu structure, confuses the user more than it benefits him. Commented Nov 6, 2013 at 7:48
  • 2
    In this blog Jensen Harris (former Office UI Head) describes the flaws of adaptive menus: Adaptive Menus were not successful. In my opinion, they actually add complexity to the interface. blogs.msdn.com/b/jensenh/archive/2006/03/31/565877.aspx
    – stefan.s
    Commented Nov 6, 2013 at 16:29
  • Thank you @stefan.s for the link, it's nice to get info from the "first hand". Commented Nov 6, 2013 at 16:47
  • Having been driven nuts by Office doing this (the first job on a new installation being to turn most of the 'automatic' stuff off) - I think one of the issues is that an experienced user tends to work on a 'spatial' basis: ie that particular spot on the screen does that particular thing'. If that thing moves around then the user continually has to mentally interact with the screen to find the missing button.
    – PhillipW
    Commented Nov 7, 2013 at 8:58

Another great (though simple) example of a learning interface is the "Open recent…" option that now appear in many application menus.

I think the main points to keep in mind are to have a specific section that is clearly labelled for "Recent widgets" or "Most used widgets", and then to give the user the option to customise these, e.g. via options such as "Pin to most used widgets" or "Hide from most used widgets" in a context menu.


Some self-learning UIs work great. We never remember them when they work fluently. Here's two examples that may shed some light:

  • The example everyone forgets is the address/search bar in all major browsers. It learns what websites you type, and suggests the most appropriate match. Works great almost all the time.

  • Spellcheckers adapt--sometimes to our dismay (see also Damn You Autocorrect). People often trip over this.

The difference is in how the suggestions are acted on by users. Generally people keep typing after an autocorrect, and don't notice that it "did the wrong thing". In contrast, the browser drop-down lets the user take action based on the suggestions, at a time that they're expecting to take action.

So in your case, it may well be useful to have a "Favorites" area that is auto-populated, along with keeping all of the tools in some stable area.


There are a few examples of self-learning UIs, but I don't really like them. (This is well covered in another answer.)

However, there are good solutions for dealing with large menus. In the Windows 7 start menu you can search by typing any part of the menu item text, and pin iteresting items. You are in control: you decide what items are pinned.

Another good example is a task-based interface, where you hide the features that are not required for the task at hand. Photoshop has this feature (task-based workspaces):



As mentioned by Alexey, hidden rules and lack of user control are both big drawbacks on having an adaptive menu. I'd say if makes for a pretty inconsistent user experience, and should be avoided

I just wanted to point out that although you should avoid adaptive menus, adaptive content is a different thing altogether (think facebook, netflix, youtube etc.). So a "self learning UI" isn't altogether bad, it just depends on which areas are adaptive and which aren't. Content can suprise and delight, a menu should be consistent and predictive

  • That's what I meant in my last comment. I agree, a self learning or adaptive UI can be useful. Commented Nov 6, 2013 at 16:15

In his book "About Face" Cooper considers adaptive UI and suggests that need for adaptation is due to the lack of adequate analysis of user behavior when ui-designer cannot define users path beforehand. Sure, it's idealisation to some extent. There are always unforseen use cases.

I think good example of adapatation is 'recent files'. This section is created for the 'change', but it doesn't break the layout of other elements so the UI is stable.

Probably you could add to the end of each main menu small section of 'most frequently used submenus' but it's better not to reorder items and not to change the contents quite often. Or whole menu can be dedicated for it.

Another approach is to allow user explicitly adjust menus through 'preferences'. But this just states "Hey, I do not know how you gonna use my app, decide yourself".

When the user's workpath is stable and quite repetitive this means it can either be mostly automated or the user can be dubbed an expert concerning narrow functionality. Thus he would likely use hotkeys rather than deep submenus.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.