On Fri, Nov 3, 2017 at 03:04 Marcel Taeumel <marcel.taeumel@hpi.de> wrote:
These papers might be interesting reads in this regard: 

"A comparison of static, adaptive, and adaptable menus", 2004, Findlater et al.
"Adaptable versus adaptive menus on the desktop: Performance and user satisfaction", 2007, Park et al.
"Ephemeral adaptation: The use of gradual onset to improve menu selection performance", 2009, Findlater et al.

Google (Scholar) can find PDFs of these.

i saw this adaptive menu on a Japanese device once a long time ago
     where the most recently used menu item rises to the top
     and i liked it and i still like it
so i made one in Smalltalk and i still use it
the short cut keys are 
     <WindowsPopUpMenuKey> , <M> , <FirstLetterOfTheComand>
the menu is divided up into sections
     and the most recently used section rises to the top
     such that from then on just the three key presses 
     will execute the menu item
the menu is just a list Chooser Dialog      <—-[ Dolphin ]
there is a menu command that opens a text View on all
     the menu commands which can be searched
          there are a lot of them
many menu commands have documentation 
     which pops up first which unconscious hitting
     <Spacebar> bypasses
          it shows that something is happening
     one could turn this prefix doc off but i never want to
     ( the Pharo Message dialogs are too dark i think i want white )
there are many old dead menu commands in the list
     left over from long ago which i just leave deprecated 
     but have not removed since no one else will see them
     ( spies excepted i guess )
it’s easy to add new commands which act on the 
     text selection in the TextView which gives a command line

if one was to implement these menu commands as
     KEGArrows<—-[ see Haskell arrows ]
     then the user might be able to compose them into
     scripts or programs like named MSOffice macros i guess
     with some ..Arrows able to look at their surroundings
     to keep it correct if they get refactored
     ..Arrows try to minimize the need for program variables
          so code looks more like a list of ..Arrows
i would like to publish this ..Arrows Package soon
     but how do i do it do i have to be a member of
     something to get it more widely viewed and if so what is it?
     ( i have seen where members were encouraged to ignore
          non members of something but i can’t remember what
       i noticed some kind of member list for Pharo Squeak
          which i would like to join if possible      but how )
i am trying to move to mostly ..Arrows based programming
          not quite sure what the best ways are
     because it looks is convenient for TDDev etc and it makes it
     easier to handle more complexity i think and have more
     tests much more integration tests which might even
     act like Iffel runtime correctness checks when turned on
     the test instrumentation in the target Method is brief just a
          few Charaters
..Arrows could also be a functional way to handle state via
     the state monad idea of pure and impure functions
     which helps the Compiler     could help it they say