  This paper presents SAM, a modular and extensible JavaScript framework for
self-adapting menus on webpages. SAM allows control of two elementary aspects
for adapting web menus: (1) the target policy, which assigns scores to menu
items for adaptation, and (2) the adaptation style, which specifies how they
are adapted on display. By decoupling them, SAM enables the exploration of
different combinations independently. Several policies from literature are
readily implemented, and paired with adaptation styles such as reordering and
highlighting. The process - including user data logging - is local, offering
privacy benefits and eliminating the need for server-side modifications.
Researchers can use SAM to experiment adaptation policies and styles, and
benchmark techniques in an ecological setting with real webpages. Practitioners
can make websites self-adapting, and end-users can dynamically personalise
typically static web menus.
