Case: Large menu system where different users use different items more often than others. Some spend 80% of their time in <5% of the options, some spend 60% of their time in the least used 10% of the options.
Problem: Menu needs to adapt to how the user uses it, with zero-configuration for ease of use.
Solution: The menu needs to adapt it ordering based on the user, and possibly the type or role of user. Every time user U clicks a menu link, that needs to be counted such that after enough clicks, the location of that item changes.
For example, after 100 clicks of an item, the menu is reordered based on the number of clicks div 10 all items received.
Similarly, as user U has role R, when a new user U2 is created with role R, his default menu ordering should be the median (sum of each menu item div number of users) of the users with role R.
Result: Existing users have their most readily used items closest, their seldom-used items furthest, and new users receive a base-optimal menu set for their role. Solution scales to very large user and role sets, with minimal-to-no user confusion, and zero user-configuration needed.
That’s bloody brilliant, that is.