SELECT
Telematics RE4008
REPORT ??
User Interface Draft Functional Specification
Written by:
Dave Mason, Rob Procter, Dave Nichols
Contractual Date of Delivery: ?
Actual Date of Delivery:16 July 1999
Nature of the Deliverable: SP
Deliverable Type: ?
Workpackage WP02
Task ??
Responsibility: EDI, Lancs
SELECT User Interface Specification Document
David Mason, Rob Procter, Dave Nichols
Contents
Overview 3
User Interface Components 4
Interface Module Diagram 5
User Interface Component Functional Specifications 6
Interface Control Module
6
Submit Ratings Module
7
Preferences and Filter Settings Interface
9
Preferences and Filter Settings Module
10
Search Interface
11
Search Module
12
Machine Learning Module
13
Server Communication Module
16
Interface Options 17
Document Enhancements 20
Interface Customization 21
OVERVIEW
In the following text, the symbol '*' denotes an optional component that may or may not be implemented in the final system.
The user interface will be responsible for all interaction between the user and the SELECT service. The interface will allow the user to:
- Submit ratings plus profile information
- Perform anonymous filtering (Passive Filtering)
- Perform profile-based filtering (Active Filtering)
- View and Change SELECT related preferences
- Log on (and off) to the SELECT system (and Log off – is it meaningful for user to want to leave the system and carry on using the Web? I think it could be)
- Create a new user account (and view/change account information)
Additionally, the interface will be responsible for:
- Automatically configuring itself to the preferences of the current user
- Observing the user's behaviour and submitting implicit ratings derived from this behaviour
- Displaying filtered results to the user in both passive and active filtering modes
- Enhancing documents viewed by the user to embody some kind of ratings information into them (e.g. colouring hyperlinks to show their average SELECT rating). *
- Displaying some optional graphic/logo (if screen real estate permits) to allow different organisations to customise rating/display interface elements. * (or perhaps this is part of Interface Configuration?)
USER INTERFACE COMPONENTS
- Interface Control Module
- Submit Ratings Module
- Preferences and Filter Interface
- Preferences and Filter Module
- Search Interface
- Search Module
- Machine Learning Module
- Server Communication Module
Interface Control Module - responsible for trapping all user actions and passing them on to the appropriate sub module within the interface. Also responsible for displaying the user interface for the user to use.
Submit Ratings Module - responsible for the submission of ratings information to the SELECT server, in both anonymous and registered user modes.
Preferences and Filter Interface - Supplies a user interface through which the user can access and modify their preferences and filter controls. This interface is supplied direct to the user, not through the Interface Control Module.
Personal Filtering Control Module
Preferences and Filter Module- The data model behind the Preferences and Filter Interface, allowing access and modification of the user's filtering preferences.
Search Interface - Supplies a user interface through which the user can perform social or collaborative searches of the SELECT database. This interface is supplied direct to the user, not through the Interface Control Module
Search Module - responsible for the submission of search queries and the supply of search results to be displayed to the user. Searches may be done in either active or passive mode. Also responsible for the reformatting of search results if the user so desires.
Machine Learning Module - responsible for the observation of the user's behaviour and the generation of implicit machine ratings based on that behaviour.
Server Communication Module - responsible for handling server requests and passing back server results to other parts of the user interface.
The diagram overleaf illustrates a proposed architecture for these components, and is useful as a reference when reading the rest of this document.

Note: the Interface Configuration Module also communicates directly with components of the User Interface (e.g. see Interface Control Module)
USER INTERFACE COMPONENT FUNCTIONAL SPECIFICATIONS
Name: Interface Control ModuleDescription: The Interface Control Module provides the core interface functionality through which the user accesses various sub-modules of the interface. It is responsible for tracking the user's actions and passing them on to the appropriate sub-module.
Inputs:
- User actions
- Configuration information
Source:
- User
- Interface Configuration Module (Designed by Starlab)
Outputs:
- Submit Ratings Request
- Edit Personal Filtering Control Preferences Request
- Perform SELECT Database Search Request
- User Behaviour Observations
- Update Display Actions
Destinations:
- Submit Ratings Module
- Preferences and Filter Settings Interface
- Search Interface
- Machine Learning Module
- Display/VDU ?
Input/Output Relation:
- Submit Ratings Requests are generated from a user action
- Edit Personal Filtering Control Preferences Requests are generated from a user action and result in the display of the Preferences and Filter Settings Interface.
- Perform SELECT Database Search Requests are generated from a user action
- User Behaviour Observations are generated from a user action
- Update Display Actions are generated from reading thethe Interface Configuration ModuleFile (and are passed on without change OR processed and passed on ?)
-
Side Effects:
- Sending Requests to the various sub modules will result in control being temporarily passed to these sub modules.
- Configuration Iinstructions from the Cconfiguration File module may result in the visual alteration of the user interface.
Name: Submit Ratings Module
Description: Responsible for the submission of both passive and active ratings from the user to the SELECT server. Also responsible for displaying any required confirmation messages and ratings information that may be passed back to the user on receipt of the submitted rating. (Is it necessary to say anything here about what happens if a rating is submitted and is not accepted/confirmed by SELECT server? Does this module re-try, keep a queue of ratings to re-try, try a different SELECT server…?)
Inputs:
- Submit Anonymous (passive) Rating Request
- Submit Registered (active) Rating Request
- Rating Received Confirmation
- Rating Not Received Alertt
Source:
- Interface Control Module
- Interface Control Module, Machine Learning Module
- Server Communication Module
- Server Communication Module
Outputs:
- Anonymous Rating Submission
- Registered Rating Submission
- Ratings Conversion Request
- Alert and Confirmation Messages
Destinations:
- SELECT Server (I don’t understand why these go direct to the SELECT server – should they not go via the Server Communication module – as the requests do from, say, the Preferences and Filter Settings Module. Should the both the Destinations here be Server Communication Module?)
- SELECT Server
- Server Communication Module
- Server Communication Module
- Preferences and Filter Settings Module
- VDU/Display
Input/Output Relation:
- Anonymous Ratings Submissions are generated from Submit Anonymous Ratings Requests. These requests will contain all data required for the submission of an anonymous rating. The ratings submitted will be converted to a value within the standardised rating scale by querying the Preferences and Filter Settings Module..
- Registered Ratings Submissions are generated from Submit Registered Ratings Requests. These requests will contain all data required for the submission of a registered rating. The ratings submitted will be converted to a value within the standardised rating scale by querying the Preferences and Filter Settings Module..
- In the event that a submitted rating is not accepted or confirmed by the Select Server, the server communication module will pass back a message to the Submit Ratings module specifying what has (or has not) happened. This message will be relayed to the user via the VDU/Display.
- Ratings Received Confirmation from the Server Communications Module will not be shown to the user - only when something goes wrong need the user be alerted.
Side Effects:
- The SELECT databases may be updated if a rating is successfully submitted.
- The user's profile database entry may be updated if a rating is successfully submitted.
Name: Preferences and Filter Settings Interface
Description: Provides a Graphical Interface through which the user can communicate with the Preferences and Filter Module
Inputs:
- User Actions
- Preferences and Filter Settings Data
Source:
- User
- Preferences and Filter Settings Module
Outputs:
- Preferences and Filter Settings Update Request
- Preferences and Filter Settings Data Request
Destinations:
- Preferences and Filter Settings Module
- Preferences and Filter Settings Module
Input/Output Relation:
- User actions on the interface are turned into Preferences and Filter Settings Update Requests
- On startup of the Preferences and Filter Settings Interface, a Preferences and Filter Settings Data Request is sent to the Preferences and Filter Module
- Display updates (may) occur when the Preferences and Filter Settings Module returns the results of a Preferences and Filter Settings Data Request to this Interfacee Interface (Interface Control Module?)
Side Effects:
- The contents of the User Interface Preferences Screen may change when the results of a Preferences and Filter Settings Data Request are returned to this Interface.e Interface. (Interface Control Module?)
Name: Preferences and Filter Settings Module
Description: Responsible for the maintenance of the user's filtering controls and preferences. These are used during search queries and also relate to general interface preferences and so on.
Inputs:
- Preferences and Filter Settings Data Requests
- Preferences and Filter Settings Data Update Requests
Source:
- Preferences and Filter Settings Interface, Search Module
- Preferences and Filter Settings Interface
Outputs:
- Preferences and Filter Settings Data
- Persistent Preferences and Filter Settings Data Update Request
Destinations:
- Preferences and Filter Settings Interface, Search Module
- Server Communication Module
Input/Output Relation:
- User modifications to the filter settings through a user interface are sent to the Server Communication Module for upload to the SELECT server.
- Requests for Filter Settings from the Search Module and the Preferences and Filter Settings Interface trigger the passing of the user's filter settings back to the appropriate requesting interface or module.
Side Effects:
- A modification of the user's filter preferences results in a change in the settings stored on the SELECT server at some point in time. The time this update may be done is still to be defined - it may trigger an immediate request, or wait until the end of the session.
Name: Search Interface
Description: Provides a Graphical Interface through which the user can communicate with the Search Module, in order to perform both passive (anonymous) and active (registered) searches of the SELECT database. The Search Interface is rResponsible for the elicitation of Search Queries from the user.Inputs:
- User Actions
- Search Results Display Update Requests
Source:
- User
- Search Module
Outputs:
- SELECT Database Search Requests
- Interface Search Results Updates
- Search Results Refilter Requests
Destinations:
- Search Module
- Display/VDU
- Search Module
Input/Output Relation:
- User actions on the interface are interpreted and transformed into SELECT Database Search Requests (user actions here mean actions on the Search Interface - e.g. typing in Search keywords, hitting the search button and so forth).
- Search Results Display Update Requests cause the interface to receive the results of a search and display them on the VDU for the user to examine
- User actions to refilter the search results are passed on to the Search Module as a Search Results Refilter Request. The refiltering may be the result of moving a slider to a different position between 'Quality' and 'Relevance', for example. These in turn may trigger a Search Results Display Update Request that is sent back from the Search Module to the Search User Interface.
Side Effects:None
Name: Search ModuleDescription: Responsible for the request of the search to the SELECT server and the passing of the results back to the Search User Interface. The module must be able to work in passive (anonymous) search mode and active (registered) search mode. Inputs:
- SELECT Database Search Requests
- Filter Settings and Preferences and Filter Settings
- Search Results
- Search Results Refilter Requests
Source:
- Search User Interface
- Filter Settings and PreferencesPreferences and Filter Settings Module
- Server Communication Module
- Search User Interface
Outputs:
- Filter Settings and Preferences Preferences and Filter Settings Requests
- Interface Search Results Update Requests
- SELECT Database Server Search Requests
Destinations:
- Filter Settings and PreferencesPreferences and Filter Settings Module
- Search User Interface
- Server Communication Module
Input/Output Relation:
- SELECT Database Search Requests trigger the output of a Filter Settings and Preferences Preferences and Filter Settings Request to the Filter Settings and Preferences Preferences and Filter Settings Module. When the results of this are obtained, the Search Query is packaged together and sent to the Server Communication Module as a SELECT Database Server Search Request.
- Results of SELECT Database Server Search Requests are transformed into Interface Search Results
- Update Requests and sent to the Search User Interface in order to update the screen so that the user may see the results of the search query. If the user performs post filtering on the results (e.g. reordering the results to reflect a higher degree of quality as compared to relevance, this is received as a Search Results Refilter Request. The refiltering is done, and the results passed back to the Search User Interface as a Search Results Update Request.
Side Effects:
- The Search User Interface may update itself whenever a Search Results Update Request is received from the Search Module.
Name: Machine Learning ModuleDescription: Responsible for all observation of user's behaviour. The user's actions may be passed from any other module to this one. The Machine Learning Module has a responsiblityresponsibility to observe and learn from the user's behaviour in order to:
- Discover patterns in what the user finds interesting (and uninteresting)
- Automatically submit implicit machine ratings to the SELECT server based on the user's actions
- Automatically reconfigure the user interface as the user's behaviour patterns emerge (e.g. remove buttons that are never used etc) *
The following machine learning algorithms are currently being considered:Text / Image Ratio: The text and image content of a document may affect the appeal of the document to a user. Some users may prefer full text documents, some full image documents, and others somewhere in between. By creating an algorithm to calculate a text/image ratio for each page viewed by the user, a correlation between the user's rating and the ratio may be establishable.Text Hyperlinks / Image Hyperlinks: Similar to above - some users may ignore text hyperlinks completely, preferring to click on images. Monitoring the links a user clicks on may yield a pattern in the user's behaviour.Number of links on a page: Does the user like to visit sites with lots of links (e.g. gateway site) or prefer pages with few links and more information? Does this need to be related to the length of a document? It would seem that an absolute number would be misleading.The output of this algorithm will also be related to the length of the document.
Annoying Content: The following may be considered annoying by some users and appealing by others: *
- Banner advertisements
- Spam articles (News)
- MIDI files (relatively uncommon)
- Audio files that play on page load
- Java Applets that load and start on page load
- Animated graphics
- Pages that spawn new windows
- Video clips?
- JavaScript
- Flash/Shockwave Animations
The appearance of such content may decrease or increase a user's rating of the page, although this may be difficult to determine and has thus been left as an optional algorithm.Language: The user may not read some pages because they cannot understand the language it was written in. Conversely, some users may have a special interest in pages written in a certain language. Massimo Vassali is working on language determination. If successful, we can perhaps incorporate his algorithms into the ML module.Likes / Dislikes Keywords: Extracting keywords from pages that the user does and does not rate highly allows the building of two lists: likes and dislikes. These lists, maintained over time, may allow the demotion of some pages' ratings whilst promoting others. Massimo Vassali is working on keyword extraction. If successful, we can perhaps incorporate his algorithms into the ML module. If the user has an option to type keywords in when rating a page, this would provide a simple way to help build these lists as well. This has not yet been specified, although it would probably be part of the profile creation process (covered by StarLab).Bookmarks: Analysis of a user's bookmarks may yield valuable profile information when the user first starts using the system. There may be a privacy issue here - some users may not want the SELECT system to analyse their bookmarks. (Is this therefore an option which needs specifying under the preferences section?)
Read Time: The read time of a document has been linked to user's interest in that document. Perhaps the simplest ML algorithm to implement. Although we recognise we will have to allow for overly long times (which are proabably the result of users doing something else other than reading their screens) and process such times differently.
Quality Indicators: some users may prefer documents with explicit quality indicators, such as validated HTML pages with links back to the W3C ValidatorInputs:
- User Action Messages
- ML Stored Data
Source:
- Interface Control Module, Search Interface, Preferences and Filter Settings Interface
- Server Communication Module - it will be necessary to access the ML information from the server on startup (assuming that the behavioural stored data is stored on the SELECT server as opposed to the client machine. I am against storing it on the client machine as this will limit the user to logging on to SELECT from only one machinee (Yes, exactly!)).
Outputs:
- Implicit Machine Ratings Send Requests
- ML Stored Data Update Request plus updated data
- ML Stored Data Receive Request
Destinations:
- Server Communication Module
- Server Communication Module
- Server Communication Module
Input/Output Relation:
- User Action Messages from the various other modules involved in user interaction are interpreted and analysed for behavioural trends, using the algorithms described above. This analysis will result in the sending of implicit machine ratings, in the form of an Implicit Machine Rating Send Request to the Server Communication Module.
- User actions will contribute to the update of the data stored on about a user - at some point at the end of a session, it will be necessary to resend the updated ML Sstored Ddata back to the server, in the form of a ML Stored Data Update Request to the Server Communication Module.
- An initial Stored Data Receive Request upon logon will enable the temporary storage of preferences and filter conditions on the client for use throughout the session.
Side Effects:
- ML Stored Ddata may be periodically updated whenever a request to update the stored data is carried out.
- Contents of the ratings databases may change as implicit ratings are sent to the server.
Name: Server Communication ModuleDescription: Handles requests from the interface to the server, and passes back data from the server to the interface. Designed to be a general purpose communications module that will handle all requests in a specified format that will allow for extensions in the future.
Inputs:
- Server Requests
- Server Answers
Source:
- Various Interface Modules
- SELECT Server
Outputs:
- Formatted Server Requests
- Formatted Server Answers
Destinations:
- SELECT Server
- Various Interface Modules
Input/Output Relation:
- Server Requests from Interface Modules are formatted to fit the communications protocol SELECT uses and sent to the Server as a Formatted Server Request.
- Answers to Server Requests will be supplied by the SELECT Server and transmitted to the Server Communication Module. These will be formatted and passed to the appropriate interface module as a Formatted Server Answer.
Side Effects:
- Any server communication could theoretically cause side effects. This will be defined more clearly once the Interface Specification is past draft form.
INTERFACE OPTIONS
Submitting Anonymous Ratings
User clicks on a rating button and rating is automatically sent
User clicks on a rating button and then clicks on a submit button to send the rating
User clicks on a rating button as many times as they want, and the rating is automatically sent when a new page is requested or the browsing session is terminated.
Submitting Ratings and Profile InformationOptions as for submitting anonymous ratings, except this time the ratings server will take the user's profile into account when registering the rating in the ratings database.Performing Anonymous Filtering (Passive Search)
- Simple keyword search facility (like simple search in Altavista). Documents returned will be ranked by their overall collaborative rating value
- Simple keyword search plus boolean search facility (like advanced search in Altavista). Documents returned will be ranked by their overall collaborative rating value.
Performing Profile-Based Filtering (Active Search)
- Simple keyword search facility (like simple search in Altavista). Documents returned will be ranked by their social rating value (i.e. other users with similar interests to the current user's).
- Simple keyword search plus boolean search facility (like advanced search in Altavista). Documents returned will be ranked by their social rating value.
- Off-line database trawling could present the user with a list of sites that the SELECT service has deemed appropriate for the user to read when they log on to the system.
View and Change SELECT related preferences
- Pull Down menu option somewhere on the browser that brings up the preferences window.
- Button somewhere in the rating window that brings up the preferences window.Preferences window contents:
- "Use Ratings From" recommender group option
- Various interface widgets "shown or hidden" check boxes
- Interface Customization (e.g. Logos, colour schemes) check boxes/radio boxes
- Passive Information preferences (e.g. can the user turn off the ML implicit data gathering if they want?)
- Profile Information Display
- Filter Control Preferences (e.g. ordering, quality/relevance ratio, etc)
- Language options (e.g. can an interface support more than 1 language? can users alter the default language of the interface?)???
- Enable/Disable prompting behaviour from ML components?
- Reset all interface settings to defaults?
- Privacy options (e.g. allowing bookmarks to be accessed)
- Enable / Disable automatic interface configuration
- Enable / Disable ML gathering of implicit data
LLogon to the SELECT System and Creating User AccountsCovered by StarLabDoes this include modifying User Account Data as well?
Automatic Interface ConfigurationCovered by StarLab, although may have to access the configuration file and update it if we implement any "intelligent" interface configuration algorithms.User Behaviour and Machine Learning AlgorithmsIn order to generate implicit ratings, it is necessary for the user's behaviour to be observed. The following algorithms may be used to observe different parts of the user's browsing behaviour:
- Document Read Time
- Documents Bookmarked by the user (Can we actually detect this from a Java Applet? Was this Richard’s sneaky file access trick he described? Are we assuming therefore that we can’t access ‘Saving a page’ or ‘Printing a page’ behaviour?)
- Text/Image ratio of document being viewed
- Text/Image Hyperlink ratio of document being viewed
- Number of hyperlinks in document being viewed
- Language of document being viewed
- Keywords - put into likes/dislikes lists
- Annoying content (e.g. Java Applets, Media files etc)
Any combinations of the above observations may be combined to create an implicit rating of the document being viewed. This may also take into account other aspects of user behaviour held on the client (e.g. average reading speed of user, which may affect the read time of a document). The ML part of the interface will work behind the scenes without the knowledge of the user. It may be necessary to prompt the user for information occasionally, e.g. to clarify why they rated a page good or bad. (Can the user turn this prompting behaviour off in the preferences. I can imagine some people being very irritated by it) Until algorithms are implemented, the exact nature of this visible behaviour will remain undefined.Displaying filtered results to the user in Passive ModeFiltered results will be returned to the user as a list of ranked hyperlinks, in similar style to other search engines. Besides each hyperlink, the collaborative rating value will be displayed. If the information received from the selectSELECT server allows it, then the option for the user to click a button to view rating distributions could be included.
The option to include a rating category slider and a relevance slider is still being considered. This would allow the user to perform post filter processing on the returned results, setting different thresholds for, for example, quality and relevance. These sliders would allow the user to rearrange the filtered results according to the settings of the filtered search results.
Displaying filtered results to the user in Active Mode
As for Passive Mode filtered results display, except that the ratings value shown to the user would be the social, rather than collaborative, ratings value.Option 3 (trawling the SELECT database offline) would present a list of sites to the user ranked by closest match to the user's profile. A message would appear telling the user that new sites have been found when they log on to the system. If the user chooses to look at these, a list of the found sites would be displayed, in the same format as for filtered search results display above.
Document Enhancements
*
There are a number of ways to enhance documents to make them more informative to the user. By embedding ratings information into the documents, users will gain a more accurate picture of what they are about to view before taking the time to read the documents themselves. The following information may be embedded into a document:
- Number of ratings received for a document
- Average 'Collaborative' ratings value for a document
- Average 'Social' peer group ratings value for a document
Ways of embedding this information in a way that is easy for the user to visualise:
- Colouring Hyperlinks to reflect one dimension of enhancement
- Adding Icons to reflect one dimension of enhancement
- Adding 'Phrases' to reflect one dimension of enhancement
- Adding flashing graphics to reflect one dimension of enhancement
- Colouring and/or formatting the text of a link
Examples:
- Reading a document, the user finds a hyperlink to a document that has been rated highly by other SELECT users. The hyperlink is coloured red to reflect this. Another hyperlink to a document that has been rated poorly by other SELECT users is coloured black.
- Reading a document, the user finds a hyperlink to a document that has been rated many times by other SELECT users. The hyperlink has a graphic next to it that symbolises 'high traffic' (e.g. an image of a hare), while a hyperlink to a document that has hardly ever been rated has a graphic next to it that symbolises 'low traffic' (e.g. an image of a tortoise).
- Images in a document that provide hyperlinks to documents rated poorly by other SELECT users may have a 'thumbs down' symbol embedded next to them. Similarly, images that provide hyperlinks to documents rated highly by other SELECT users may have a 'thumbs up' symbol embedded next to them.
Interface Customization
Organisations may wish to present slightly different interface versions of the SELECT services which embody some element of their organisational identity. This could include a small logo or element of coporate colour scheme. This could be a SELECT or a SELECT+organisationX element.
For example:
ICSN, may want to include something that signifies their ‘brand’ to reinforce where the user is getting their value-added information from. Alongside the rating buttons an ICSN logo is displayed.
- User may have the option to turn off such customization
- Clicking on this graphic element may perform some function, e.g. launching a new window with the organisation’s home page.
- A default logo will be the SELECT logo and licking it launches a browser window to the project home page.
(This may be part of Interface Configuration (StarLab))