STANDUP User Manual

STANDUP User Manual

(For STANDUP software version 1.2.12 onwards)

(Last update: 17 January 2007)


1. Introduction

The STANDUP system is an interactive program which allows the user to create (generate) very simple punning riddles, by choosing certain requirements, such as words or subjects. It has a large dictionary (over 100,000 words and phrases) and a small number of rules about the allowable shapes of punning riddles. The software can create a novel riddle in response to just a few choices (selections) by the user.

The user interface has been designed so as to be particularly suitable for use by those with limited motor skills - as well as being usable on a conventional keyboard-and-mouse arrangement, it can run on a touchscreen or with a single-switch (scanning) device. It is also suitable for young children, as the presentation is colourful, lively and simple to use. Pictorial images can (when available) be displayed alongside words to assist those with limited literacy. Also, speech output is available for everything from menu choices to the actual jokes, so the system can function not only as a joke-creation aid, but as a joke-telling device, for users with limited oral facility.

Most of these provisions can be customised for a particular user via the system's own control panel (see Section 11 below). Also, each individual user has their own "profile", which not only records their preferred settings for use next time, but keeps track of which jokes they have already produced in previous sessions.

The address of the STANDUP project website has changed over the years. Its current location can probably be found using a search engine.


2. Overview of use

The STANDUP system is an interactive program, in which options are presented on the screen using large labelled buttons (usually depicted as clouds). There is an initial phase during which various special displays appear to allow the user to "login" to the system (Section 3 below). After that, there is a standard layout in three parts:

  • Top: Some navigation buttons for basic functions such as going back to the main menu (HOME), exiting the session (END), etc. (Section 4 below).

  • Middle: The main options - a set of choices, depicted as clouds with textual and sometimes pictorial labels (Sections 5 to 8 below).

  • Bottom: A progress chart, showing where the user has reached. (Section 9 below). (This part can be turned off, via the STANDUP control panel, if desired.)

There is also a STANDUP control panel, where a number of options controlling the system's behaviour can be adjusted; this panel appears on request (Section 11 below).


3. Getting started

When first launched, a 'splash screen' displaying the terms and conditions of the software usage is shown. Click anywhere on it to accept the terms and conditions and to proceed to the main part of the system.

The initial screen presents choices for:

  • First time: A user who has not yet used this STANDUP installation on this computer should select this item, in order to register as a user with this copy of the software.

  • Back again: A user who has already used this STANDUP installation on this computer should select this item, in order that the software can load up past settings and history.

  • Exit: This closes down the system completely (i.e. terminates the STANDUP software).

N.B.: User names are stored only with particular copies of STANDUP, so two different copies on separate computers will have a different list of known users. Also, re-installation of STANDUP may cause all user information to be lost, requiring all users to start afresh.

If the user selects "First time", the system asks for a username. Users without text input skills may need help, but this is the only obligatory part of using STANDUP which demands textual input. Any username can be chosen, but something short and simple is best. If the name chosen is already on the system, the system will report this, allowing a chance to choose a different name. Once a name is selected, there will be a pause while the system prepares things for the new user.

If the user selects "Back again", the system will offer all known usernames (in that installation of STANDUP) as menu options, so the user can select the right one.


4. The navigation buttons

Along the top of the screen are anything from 3 to 5 buttons (in the shape of small clouds) which are present independently of the central menu options.

  • Home : This takes the user back (after a check to ask if this selection is really intended) to the first screen after the logging in stage, where the main menu is displayed.

  • Help: Selecting the "Help" button means that the next selection of a button is not treated as a choice of action but as a request for more information about the selected button. This information is supplied in the form of a short text message.

  • End: This ends the current session with the current user; that it, it is like a "log out" from STANDUP. It does not close down the software, but takes the user back to the very first screen, where another user can "log in" to STANDUP (and where the "Exit" button is available if a complete close-down is required).

  • Back: This button appears only once the user has made some choices within the session. It takes the user one step back, to the previous screen display (as in a web browser).

  • Forward: This button appears only once the user has used the "Back" button. It undoes the most recent use of "Back", taking the user to the state where Back was selected.


5. The main menu (Home display)

The central area of the STANDUP display always contains the main options currently available to the user. These change as choices are made. However, one set of options has special status, as it is the initial set of options provided when the user starts a session, and it is where the "Home" button takes the user back to. These options are referred to here as the main menu, or the "Home" display.

The first of these options is always present, but the remaining four can be turned off (i.e. not made available), via the STANDUP control panel, if desired.

  • My favourites: Gives access to any items which this user (not other users) has previously (either in this session or earlier sessions) added to the "Favourites" list.

  • Any joke : Allows the user access to a joke, without regard to kind of joke, subject matter, or words used.

  • Subjects: Allows the user to select from a menu of topics (e.g. People, Animals); the joke(s) offered will then contain at least one word related to that topic (see Section 6.1).

  • Words: Allows the user to select (or type in) a word; the joke(s) offered will then contain that word (see Section 6.2).

  • Kinds of joke: Offers the user a number of types of joke, described informally in terms either of their phrasing or some central aspect of their linguistic structure (see Section 6.3).

For all of these except "My favourites", a further choice between seeing previously generated jokes (for this user) or getting a new joke (for this user) is offered as the final step before seeing the actual jokes - the "new/old" menu (Section 6.4).


6. Intermediate menus

6.1 Subjects

The "Subjects" menus offer one central choice, and a number of peripheral choices. The central choice will represent some subject area (topic), and the peripheral choices represent subsets or subclasses of that area. If there are too many subclasses available to display on one screen, a "More" indicator will appear at the right of the screen; selecting this causes the display of further subclasses, along with a "Previous" indicator at the left of the screen to allow the user to move back to the previously displayed subclasses (of the current central subject area). By selecting a peripheral choice, the user can work down to smaller and more detailed subclasses. At any stage in this process, selecting the central choice (subject area) leads directly to the "new/old" menu (Section 6.4).

6.2 Words

The Words menu offers three routes to a word:

  • Spell it: The facilities provided on this route depend on whether the system has been set to allow the user to type in text (the "text input" option in the control panel - Section 11.1.2).

    If the "text input" option is set, then a dialogue is initiated in which the user can type a word into a text input box. As the user types, the system will attempt to predict the complete word, offering its guesses in a drop down menu (with a scroll bar) from the text box. To select one of these offers, the user should directly select (click on) it with the pointing device. (Directly clicking on the arrow at the right end of the text box will temporarily get rid of the menu, hitting RETURN (ENTER) will then bring the menu back.) Once the desired word is complete in the text box, selecting Finished word will enter it. If the word is not in the working lexicon, the system will give a warning message at once, and return the user to the type-in dialogue. (The working lexicon consists of all words which could in principle lead to a joke with the currently loaded data. Hence the system may deny knowledge of an ordinary word which is in the main lexical database, if the pre-computation of suitability has shown that it could not lead to a joke.)

    If the system does not expect the user to be able to type in letters ("text input" option not set in STANDUP control panel), then instead of the type-in box, the user will be offered a menu of letters to choose from. By selecting letters in turn, the user can gradually spell out a word. Only words which are in the working lexicon (i.e. could in principle lead to a joke) are offered.

    Either of these ways of selecting a word lead to a word-form, which could be associated with more than one meaning (different lexemes). If the selected word is ambiguous in this way, a set of choices is offered to the user to choose a meaning. Meanings are described using the English gloss provided by WordNet, which is not always entirely useful. Also, WordNet may make distinctions between meanings which may seem over-fine to the average user. For example, for "ball", it offers "spherical object used as a plaything" versus "round object that is hit or thrown or kicked in games".

    Once an unambiguous choice of word has been completed, the next menu is the "new/old" menu (Section 6.4).

  • Alphabet: The alphabet menus allow the user to get to a word by refining choices of subranges of the alphabet (as in an alphabetically-organised phonebook or encyclopaedia). The choices presented on each screen correspond to a small number of parts of the lexicon, alphabetically arranged. For example "a to burst","bus to deep freeze", "deep freezer to furious", etc. Selecting one of these leads to display of a similar menu of choices, segmenting that part of the alphabet more finely. Eventually choices will show individual words, and the user can select a word.

    As with typing in a word, if the word is ambiguous, the system offers different possible meanings for selection; if the word is unambiguous, it proceeds directly to the "new/old" menu (Section 6.4).

  • Subjects: The Subjects menus within the word selection process are exactly like the menus presented in the choice of joke by Subject (Section 6.1), in that they represent topic areas with sub-topics. The difference is that when a (sub)topic is selected which has no further subtopics, the menus shown are for choosing words, using Alphabet menus as described above; also, at any stage the user may select the central topic, which leads to an Alphabet-style menu for words on that topic. The user can then refine the selection of a word in the same way as in the Alphabet route.

    As with the Spell-it and Alphabet routes, if an ambiguous word is selected, the system presents its meanings for further selection before moving on to the "new/old" menu (Section 6.4).

6.3 Kinds of joke

The "Kinds of joke" menus offer classes of jokes, described informally either in terms of fixed words that appear in their questions, such as "What do you get when you cross a...", or by describing some aspect of the language, such as "a joke that swaps a word with a similar sounding one". As in some of the other menus, if there are too many choices to present on one screen, a "More" indicator is at the right, and a "Previous" indicator appears at the left if the "More" choice is selected. In this way the user can "scroll" between screens of choices.

Choosing a kind of joke leads directly to the "new/old" menu (Section 6.4).

6.4 The new/old menu

After the joke requirement has been fully selected (a subject area, or a word-meaning, or a kind of joke), the system offers two choices - a new joke or an old joke - which are to meet that requirement.

A "new" joke is one which has not been shown to this user, as far as the system is aware. It will be generated anew (or, if running with a joke cache - Section 11.2.1 - may be selected from that source, which will give the same effect to the user). Selecting this choice causes the display of a "please wait" message (perhaps very briefly), and then either a message stating that no joke can be generated to this requirement (followed by return to the "new/old" menu), or the "show-joke" menu (Section 7 below).

An "old" joke is one which has been generated for the current user (as a "new" joke) either in this session or a previous session. This should not be confused with "My favourites", an explicit list of jokes chosen by the user. The set of "old" jokes consists of all jokes that have been encountered previously; the system stores these without notifying the user. Choosing "old" jokes leads to a display of all such items, using (as in other menus) the "More" and "Previous" buttons if necessary to review a large number of items. Each item is represented by the question part of the joke only. Choosing one of these leads to the show-joke menu.


7. The show-joke menu

The show-joke menu appears in two variants, depending on whether it is reached via a request for a "new" joke or for an "old" joke.

Both variants

The common part of the menu (across both variants) consists of one textual item and three choices:

  • The joke: The current joke (newly generated, or chosen from the "old" collection) is displayed separately from the menu choices.
  • Add to favourites: Selecting this either puts the joke into "My Favourites" (with a message to say this has happened) or puts up a message saying that the item was already in "My Favourites", returning to the show-joke menu in either case.
  • Say again: Selecting this causes the speech synthesiser to output the current joke (without altering the screen display).
  • Tell joke: This leads to the tell-joke menu.

New joke variant

There are choices for "Another new joke" and "Old jokes". The first of these leads invokes the joke generator again, while retaining the requirement most recently specified. For example, if the user has just requested a joke on topic T, then the request for "Another new joke" will attempt to find one also on topic T; similarly for a requirement based on a specific word or a kind of joke. If a joke can be generated, this will become the current joke, with display of the "show-joke" menu (new joke variant); if none can be found, a message will be displayed, and the user will return to the "show-joke" menu (with the same current joke as before). The "Old jokes"  choice allows browsing of previous jokes (if any) which meet the most recently requested requirement.

Old joke variant

There are choices for "Previous joke" and "Next joke". These allow the user to scan back and forward amongst the "old" joke collection, while retaining the requirement most recently specified. For example, if the user has just chosen an old joke on topic T, then the old jokes reachable by "Previous joke" and "Next joke" will be only jokes classed as being on topic T; similarly for a requirement based on a specific word or a kind of joke. If the user scans to the end of the collection, a message will be displayed to say that the first or last joke has been reached.


8. The tell-joke menu

The tell-joke menu controls the telling of the joke via the speech output device, providing that the appropriate options are turned on in the STANDUP control panel (Section 11.1.4). It has four choice items (the current joke is also displayed on the screen):

  • Get ready: Selecting this causes a message to be spoken by the system, suitable for introducing the joke-telling or catching the attention of a listener.
  • Question : Selecting this causes the question part of the joke to be spoken by the system.
  • Answer : Selecting this causes the answer part of the joke to be spoken by the system.
  • Add to favourites : Selecting this causes the current joke to be added to "My favourites".

For the first three of these (the speech choices), the spoken words are also displayed textually on the screen, along with a button to allow the spoken form to be repeated.


9. The Progress Map

The progress map gives a rough pictorial indication of how the user is progressing through the process of producing a joke. Not every choice point is displayed, but major landmarks such as the selection of Subjects or Words are shown. As the image of the jester-robot moves along the tracks, a coloured trail (red) is left behind it, and when the jester-robot moves back (in response to the "Back" button), the re-traced portion is shown in yellow. (Hence, yellow indicates where the "Forward" button could take the robot.)

The progress map cannot be modified or controlled directly by the user. None of its parts can be selected, and it cannot be used to guide the system's progress through joke-building. It is purely a visual aid to see where the process has reached (approximately).


10. User Profiles and Option Files

10.1 Option Files

For each user known to the system, the software retains a user profile. This records the most recently selected options for all the possible values and settings that can be altered in the STANDUP control panel. Hence, each user can have the software behave in their own preferred manner, such as the omission of certain menu items, or the suppression of speech output for some facilities.

In addition, the user profile records the user's favourites and also every joke that they have generated in every session since being first introduced to the system. This means that each session starts from where the user left off previously.

There are a number of standard option files, which can be used as starting points for new user profiles (or to make wholesale changes to an existing profile). These files contain a number of commonly-used combinations of settings (but no user names, favourites or past jokes). By using the "Load options from file" button in the control panel, a named file containing a stored set of options can be used to instantaneously set all the control panel options to the values in that file, while not affecting the current set of favourites or old jokes.

10.2 Initial (Login) Settings

Once a user has logged into STANDUP, all the settings to control the User Interface and the Joke Generator will be taken from that user's profile; if the user is new to the system, that profile will be based on the default profile.

However, before a user logs in to the system, when it has first started up, the settings are taken from a special profile called "login". Although this will have certain default values in a new STANDUP installation, these can be altered via the STANDUP Control Panel. Any Control Panel amendments made during that initial stage of use (i.e. when the Control Panel shows the "Profile being edited" as "login") will affect that initial phase (only). Hence, in order to ensure that STANDUP always starts up with some particular settings (e.g. using scanning mode for user interactions), then this is achieved by starting up STANDUP then using the Control Panel during the initial login phase to make the required settings. These settings will then affect the login phase of STANDUP in all subsequent use of that installation of STANDUP, until altered again.

N.B.: (a) Only User Interface settings can be altered for the "login" pseudo-user. Joke Generation settings are irrelevant, as joke generation cannot occur during the login stage.
(b) Altering settings for the login phase (as here) is different from altering the "default" settings which the system will assume for a new user. Altering default user settings is done using the STANDUP Options Authoring Tool, for which a separate User Guide is available. So if the aim is to have every new user automatically get some particular settings in their profile when they start using the system, the default options should be edited with the Options Authoring Tool.


11. The Control Panel

Pressing the ESC key (top left of normal keyboard) brings up the STANDUP Control Panel, which allows the fine adjustment of many options.
N.B.: Whereas the main STANDUP menus are designed to be accessible via various input modalities, including a single-switch/scanning interface, the Control Panel can be operated only if conventional selection via a mouse (or mouse-substitute) is available; there is no provision for scanning within the Control Panel.

At the bottom of the panel are four buttons controlling the overall use of the control panel:

  • About: This brings up a new window giving background information about the origins of the STANDUP software, the version-number, etc. This window can be dismissed via an "OK" button.
  • Load options from file...: This brings up a file-opening dialogue box to allow the user to set all the options to values specified in an options file (Section 10 above). These files are to allow standard combinations of settings to be installed easily, and a few such combinations are supplied with the software. However, the user can set any combination of options simply by using the controls listed in the subsections below.
  • OK: This closes the control panel, altering the current settings to have the values which the control panel contains; that is, it causes any changes the user has just made to take effect.
  • Cancel: This closes the control panel, leaving the current settings with the values which they had before the control panel was opened; that is, it causes any changes the user has just made to be abandoned.

Above these four major buttons, the control panel is structured into a number of tabs, as follows (Sections 11.1, 11.2).

11.1 User Interface Options

This has 5 tabs within it: "Interactions", "Input devices", "Symbols", "Speech" and "Miscellaneous", all explained below.

11.1.1 Interactions

These switch on/off the available menu items, in the main menu (home screen) and also the menus for word-selection.

  • Get (any) joke: the main-menu choice of "Any joke".
  • Get joke by subject: the main-menu choice of "Subjects".
  • Get joke by word: the main-menu choice of "Words". Within this, there are four further options. The first three control the presence of choices within the Words menu:
    • Get word by spelling/typing: The "Spell it" item
      • Cluster words & letters: This affects the presentation of choices when the user, from the "Words" menu, opts to "Spell" a word (for use in a joke). When set, this option ensures that all the available choices (in the gradual spelling of the word) are fitted on to a single screen, without need for "Previous" and "More" indicators. This is achieved by grouping choices into a small number of sets, and allocating each such set to a single button; selection of this button will then allow the exploration (in a similar manner) of all those choices. When the "Cluster words & letters" option is not set, individual choices are given separate buttons, which will often need several screens for display, controlled by "Previous" and "More" indicators.
      • Show spelt words sooner: This affects the presentation of choices when the user, from the "Words" menu, opts to "Spell" a word (for use in a joke). If this option is set, then when a specific word can be spelt by adding a unique suffix to the currently spelt form, that word is presented as a button. When the option is not set, the user has to make one more selection to reach that word, since a "spelt form" button will appear, the choice of which will then lead to the word.
    • Get word by alphabet: The "Alphabet" item
    • Get word by subject: The "Subject" item
    • Choose specific meanings: If this option is set, whenever a user chooses a word (for use in a joke), either by typing/spelling, alphabet, or subject, and STANDUP can generate or retrieve jokes for more than one possible meaning of that word, the user will be presented with a choice of those meanings, complete with symbol (where available) and short dictionary description for each meaning, and will be asked to choose a specific one. If not set, STANDUP will generate or retrieve jokes with either meaning.
  • Get joke by type: the main-menu choice of "Kinds of joke".

That is, by setting or unsetting these options, the user can reduce the set of menu choices which are made available in the main menu and in the "Words" menu. If all are unset, the main menu contains just one item: "My favourites".

11.1.2 Input devices

These indicate what kind of input the user will use for communicating with the user interface (selecting menu items, entering text). If the Text input via keyboardbox is set, the system will act on the basis that the user can input individual letters from a keyboard (or substitute device); if not, then letters have to be selected from menus (see the Words menu, Section 6.2 above). The user interface will alter what it offers to the user, depending on this setting.

Exactly one of the following options can also be set:

  • Mouse: This indicates that a conventional mouse (or a device which provides that functionality) is available. Moving the mouse over a menu item focusses (highlights) it, "left click" selects it. ("Right click" has no effect.)
  • Touchscreen (one touch): This is for use when the STANDUP User Interface is running on a touchscreen of some kind (e.g. a tablet PC). "One touch" indicates that a single touch on a menu item will select it.
  • Touchscreen (two touch): This alternative touchscreen option indicates that a single touch on a menu item will focus (highlight) on it, but a second touch is required to select it.
  • Switch device: This indicates that a single-switch device is being used. The user interface will deploy scanning, with each available choice on the screen being highlighted in turn. If this mode is used on a computer with a conventional mouse as its switch device, then a "right click" acts as the switch. (As a further facility, the "left click" can override the scanning and select a menu item directly; this is to allow intervention by a non-switch-user.)

If "Switch device" is set, then two further values can be set:

  • Scanner initial delay (in seconds): This value indicates how long the scanner (single switch) interface will pause before starting to scan the available choices.
  • Scanner delay (in seconds): This value indicates how long the scanner (single switch) interface will pause on each available choice when cycling through the menu.

11.1.3 Symbols

This tab provides two menus to control the pictorial symbols which can be displayed alongside words when text is displayed by the STANDUP system.

At the top, the user can select which picture library is preferred for use. Two are available: Picture Communication Symbols (PCS) and Widgit Rebus. The user can specify either that just one of these is to be used, or that one is to be preferred but the other can be used where no symbol is available from the preferred set. The current preference-ordered list is shown at the top, and the buttons below (Add, Remove, Move up, Move down) can be used to edit this list. PCS images will appear only on messages from the STANDUP system (e.g. "Choose a joke"), but not on jokes themselves or on buttons representing subject areas (topics). Widgit Rebus images will be used in all types of text, if available.

The PCS images are the property of Mayer-Johnson LLC, and are used with permission. The Widgit Rebus symbols are the property of Widgit Software and are used with permission.

The buttons lower down allow exactly one of four options to be chosen, to control the display of images alongside words. A distinction is made between user interface symbols and keyword symbols. A "user interface symbol" may be either a picture library symbol (PCS or Widgit Rebus) or an icon used within the STANDUP system (e.g. the special icon for "Any joke"), but it is a user interface symbol by virtue of being attached to a message or label by which the user interface communicates with the user. A "keyword symbol" is a pictorial symbol (from one of the picture libraries) displayed with a word in a joke; these symbols are displayed only for the central words involved in the joke, and do not apply to the fixed pieces of text such as "What do you get when you cross".

On this basis, the options are:

  • No symbols: The system will not display any symbols, either user interface symbols or keyword symbols.
  • User interface symbols only: The system will display user interface symbols (i.e. in messages, menus, etc.), but will not display any keyword symbols.
  • User interface and ambiguous words only: The system will display user interface symbols, and also display keyword symbols (where available) for words which have more than one entry (meaning) in the dictionary.
  • Show all symbols: The system will display user interface symbols, and also display keyword symbols (where available) regardless of how many meanings the corresponding words have.

In practice, some words may not have an associated picture in the STANDUP dictionary, so even setting Show all symbolswill not guarantee the display of a picture for every (key)word in a joke.

11.1.4 Speech

There are 5 options controlling speech output. Any set of these can be selected, ranging from none to all.

  • Speak options when focussed: When this is set, the text labels on menu buttons will be spoken whenever the button is highlighted (i.e. when the system "focusses" them). This happens either when a mouse user hovers the mouse over the option, or when the scanning interface offers that button for selection.
  • Speak options when selected: When this is set, the text labels on menu buttons will be spoken whenever the button is chosen by the user.
  • Speak messages: When this is set, the textual messages used by the system to communicate with the user will be spoken.
  • Speak jokes on display: When this is set, any joke displayed by the system will be spoken as it is displayed.
  • Speak jokes on request: When this is set, the "tell joke" menu can be used to have the STANDUP system speak the joke in a manner controlled by the user (Section 8).

11.1.5 Miscellaneous

The "Miscellaneous" tab controls various aspects of the appearance of the screen display. At the top are three time-delays which can be specified:

  • Options animation offset (milliseconds): When the main choice buttons are displayed (or removed from the screen) by the STANDUP system, the separate buttons can appear/disappear together, or there can be a "staggering", where the buttons appear/disappear one after another, with a slight delay between them. The time-delay, in milliseconds, can be specified here, with 0 corresponding to simultaneous appearance/disappearance.

The other options on this tab are as follows:

  • Show progress map: This switches on/off the display of the map showing the progress of the jester-robot through the joke-production process.
  • Show message before options: When set, the message outlining what the user is to do (e.g. "Choose a joke") will appear before the menu items appear in the main area of the screen. When it is not set, the message appears roughly simultaneously with the menu options.
  • Show message banner below options: When set, the message appears lower down on the screen than the main menu choices; when not set, the message appears higher up than the menu items.
  • Enable session logging : When this is set, a session-log file will be created on disk for all the user's interactions with the system.

11.2 Joke Generator Options

11.2.1 Generation parameters

Thresholds and levels


  • Phonetic similarity threshold : When the STANDUP joke generator is comparing phrases, words, or parts of words for similarity, it rates the similarity of the pronunciations on a scale from 0.0 (completely different) to 1.0 (identical). Only those comparisons which give a value above a particular threshold (value between 0.0 and 1.0) are counted as "sufficiently similar" to use in a pun. This option allows the user to set what that threshold value is. In any given version of the STANDUP software, there will be a fixed limiting threshold, and any attempt to set the threshold below this limit will have no real effect on the system's behaviour. In version 1 of STANDUP, this limit is typically set at 0.75.
  • Word familiarity level: All the words in the STANDUP dictionary have been allocated an F-score between 0.0 and 1.0, which represents (roughly) how familiar a word is. Simple everyday words like "run" will have high scores, obscure words like "peripatetic" will have low scores. STANDUP jokes fall into F-levels, depending on the F-scores of the significant words in them, with FL1 having only very familiar words, and FL9 allowing any words at all; intermediate FL values vary the available level of familiarity. Any joke in a particular F-level will also be in any F-level with a higher number, as FL2 jokes include FL1 jokes, FL3 jokes include FL2 jokes, etc. By setting an FL value here, the user excludes any jokes which would be classed at an F-level with a higher number.
    N.B.: selecting a very restrictive level, such as FL1 or FL2, will greatly reduce the quantity of jokes available.

Generation options

  • Generate only new jokes: The STANDUP system keeps a note of every joke that has been generated for each user. When this option is set, the system will not offer, when asked for a new joke, any joke that the user has previously been shown. When the option is not set, it is possible that a previously shown joke might reappear.
  • Enable joke cache: A joke cache contains details of a relatively small number (a few hundred) jokes which the system has generated previously, but not for any particular user. That is, they are unseen but pre-constructed jokes, ready for display when requested. When running the full version of the STANDUP system, this option appears, allowing control of how joke generation proceeds. If this option is set, the system will, when asked for a new joke, search the cache first to see if any pre-constructed joke meets the current requirement (e.g. being on a particular subject). If its search of the cache does not yield a suitable item, the system will try to carry out normal joke generation. When this option is not set, the system will proceed directly to normal joke generation, bypassing the cache. To operate with the cache only, use the demo version of the STANDUP system.

Allowed ambiguity

These options limit the words that can be used in jokes.

  • One unambiguous meaning: Choosing "one" means that only words with a single meaning (in the STANDUP dictionary) can be used; this is highly restrictive, and will greatly reduce the quantity of jokes available.
  • Two ambiguous meanings: Choosing "two" will allow words with two meanings. Although this will allow more jokes, the STANDUP dictionary may assign more meanings to a word than the average English speaker would expect, and so a word which is thought to have exactly two meanings might be ruled out because the STANDUP dictionary has additional (perhaps obscure) meanings.
  • Many ambiguous meanings: This allows words to have any number of meanings (including one or two). The setting "many" is probably the most appropriate under most circumstances.

11.2.2 Joke types and schemas

The list on the left shows which joke types are available to the system. This list can be edited using the Add and Remove buttons below it. Each of the "joke types" corresponds to one of the choices on the Kinds of joke menu (Section 6.3), as follows:

Joke Type Informal Description (in menu)
master a joke of any kind
cross starts with "What do you get when you cross ... with ..."
call starts with "What do you call ...."
difference starts with "What is the difference between .... "
similarity starts with "How is .... like ...."
type starts with "What kind of .... ...."
juxtapose two similar sounding words are used one after another
partial part of a word sounds like another word
substitution swaps a word with a similar word
idiom uses common phrases
spoonerism the start of words are swapped around

The list on the right shows which joke schemas are available to the system. This list can be edited using the Add and Remove buttons below it. There are a total of 11 possible schemas.

A "joke schema" is an abstract description of the relationships between words, phrases and lexicon entries which are required to build a joke. Each STANDUP joke is based on exactly one schema. These do not correspond exactly to joke types, because the same schema can be phrased in words in more than one way. Users should read the technical documentation for the STANDUP software if they wish to find out more.


12. Files and folders

Most users of the STANDUP system will not need to know where and how the STANDUP system stores files. Some brief details are here for those who need this.

In the folder where the main STANDUP system (.JAR file) is located (see the installation instructions), a folder called standupdata will be created (if not already there) the first time that this installation of STANDUP is run. Within that, there are folders lexicons (containing files which control the use of the STANDUP dictionary), options (containing option files as described in Section 10 above), and users (containing information about all the users known to the system, including their "profiles"). The "users" folder contains a separate folder for each user, and a further "folder" for a pseudo-user called "login", which describes the settings used before during the STANDUP system's start-up phase, before a specific user is logged on (see Section 10.2 above). Each user's folder contains a folder called log which contains log files; i.e. traces of events during the user's sessions with the STANDUP system (if this facility has been turned on via the STANDUP Control Panel).

There is no clean way, via the STANDUP Control Panel, to remove a user from the STANDUP system's list of known users. However, if this must be done, then closing down STANDUP and then deleting the folder corresponding to that particular user (within the "users" folder described above) should be effective. Do not delete the "login" folder!



The STANDUP software was developed between 2003 and 2006 at the universities of Aberdeen (Department of Computing Science), Dundee (School of Computing) and Edinburgh (School of Informatics), supported by grants GR/S15402/01 and GR/S15419/01 from the Engineering and Physical Sciences Research Council (UK). Design work was carried out by the whole team (Rolf Black, Ruli Manurung, Dave O'Mara, Helen Pain, Graeme Ritchie, Annalu Waller) and implementation was by Ruli Manurung. The system makes use of various public domain resources, including data taken from the WordNet lexical system (, information from the Unisyn pronunciation dictionary (, the PostgreSQL relational database package (, and two sets of pictorial symbols:

  • The Widgit Rebus symbol set © Widgit Software Ltd. All Rights Reserved Worldwide. Used with permission. Widgit Software & Logotron Ltd, 124 Cambridge Science Park, Milton Road, Cambridge CB4 0ZS. Website:
  • The Picture Communication Symbols ©1981 ­- 2006 by Mayer-Johnson LLC. All Rights Reserved Worldwide. Used with permission. Mayer-Johnson LLC, P.O. Box 1579, Solana Beach, CA 92075, USA. Phone: 858-550-0084. Fax: 858-550-0449. Email:, web site:



Fellbaum, C. (1998). WordNet: An Electronic Lexical Database. MIT Press, Cambridge, Mass.

Miller, G.A., Beckwith, R., Fellbaum, C., Gross, D., Miller, K. & Tengi, R. (1990). Five Papers on WordNet. International Journal of Lexicography, 3, 4, Winter 1990, Revised March 1993.

Manurung, R., O'Mara,D., Pain, H. Ritchie, G., Waller, A. (2006) Building a lexical database for an interactive joke-generator. In Proceedings of LREC 2006, Genoa, May 2006.

Manurung, R., Ritchie, G., O'Mara, D., Waller, A., Pain, H. (2006) Combining lexical resources for an interactive language tool. In Proceedings of ISAAC 2006, Duesseldorf, August 2006.

O'Mara, D., Waller, A., Ritchie, G., Pain H., Manurung, H.M. (2004). The role of assisted communicators as domain experts in early software design. In Proceedings of the 11th Biennial Conference of the International Society for Augmentative and Alternative Communication (CD) Natal, Brazil, 6-10 October 2004.

O'Mara,D., Waller, A., Manurung, R., Ritchie, G., Pain, H., Black, R.(2006) Designing and evaluating joke-building software for AAC users. In Proceedings of ISAAC 2006, Duesseldorf, August 2006.

Ritchie, G., Manurung, R., Pain, H., Waller, A., O'Mara, D. (2006) The STANDUP Interactive Riddle Builder. IEEE Intelligent Systems 21 (2), March/April. Pp. 67-69.

Waller, A., O'Mara, D., Manurung, R., Pain, H., and Ritchie, G. (2005). Facilitating User Feedback in the Design of a Novel Joke Generation System for People with Severe Communication Impairment. In HCII 2005 (CD), Vol.5, G. Salvendy (Ed). Lawrence Erlbaum, NJ, USA.