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 effect
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