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:

Additionally, the interface will be responsible for:

 

 

USER INTERFACE COMPONENTS

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 SPECIFICATIONSName: 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:

  1. User actions
  2. Configuration information

Source:

  1. User
  2. Interface Configuration Module (Designed by Starlab)

Outputs:

  1. Submit Ratings Request
  2. Edit Personal Filtering Control Preferences Request
  3. Perform SELECT Database Search Request
  4. User Behaviour Observations
  5. Update Display Actions

Destinations:

  1. Submit Ratings Module
  2. Preferences and Filter Settings Interface
  3. Search Interface
  4. Machine Learning Module
  5. Display/VDU ?

Input/Output Relation:

Side Effects:

 

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:

  1. Submit Anonymous (passive) Rating Request
  2. Submit Registered (active) Rating Request
  3. Rating Received Confirmation
  4. Rating Not Received Alertt

Source:

  1. Interface Control Module
  2. Interface Control Module, Machine Learning Module
  3. Server Communication Module
  4. Server Communication Module

Outputs:

  1. Anonymous Rating Submission
  2. Registered Rating Submission
  3. Ratings Conversion Request
  4. Alert and Confirmation Messages

Destinations:

  1. 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?)
  2. SELECT Server

  1. Server Communication Module
  2. Server Communication Module
  3. Preferences and Filter Settings Module
  4. VDU/Display

Input/Output Relation:

Side Effects:

 

 

 

Name: Preferences and Filter Settings Interface

Description: Provides a Graphical Interface through which the user can communicate with the Preferences and Filter Module

Inputs:

  1. User Actions
  2. Preferences and Filter Settings Data

Source:

  1. User
  2. Preferences and Filter Settings Module

Outputs:

  1. Preferences and Filter Settings Update Request
  2. Preferences and Filter Settings Data Request

Destinations:

  1. Preferences and Filter Settings Module
  2. Preferences and Filter Settings Module

Input/Output Relation:

Side Effects:

 

 

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:

  1. Preferences and Filter Settings Data Requests
  2. Preferences and Filter Settings Data Update Requests

Source:

  1. Preferences and Filter Settings Interface, Search Module
  2. Preferences and Filter Settings Interface

Outputs:

  1. Preferences and Filter Settings Data
  2. Persistent Preferences and Filter Settings Data Update Request

Destinations:

  1. Preferences and Filter Settings Interface, Search Module
  2. Server Communication Module

Input/Output Relation:

Side Effects:

 

 

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:

  1. User Actions
  2. Search Results Display Update Requests

Source:

  1. User
  2. Search Module

Outputs:

  1. SELECT Database Search Requests
  2. Interface Search Results Updates
  3. Search Results Refilter Requests

Destinations:

  1. Search Module
  2. Display/VDU
  3. Search Module

Input/Output Relation:

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:

  1. SELECT Database Search Requests
  2. Filter Settings and Preferences and Filter Settings
  3. Search Results
  4. Search Results Refilter Requests

Source:

  1. Search User Interface
  2. Filter Settings and PreferencesPreferences and Filter Settings Module
  3. Server Communication Module
  4. Search User Interface

Outputs:

  1. Filter Settings and Preferences Preferences and Filter Settings Requests
  2. Interface Search Results Update Requests
  3. SELECT Database Server Search Requests

Destinations:

  1. Filter Settings and PreferencesPreferences and Filter Settings Module
  2. Search User Interface
  3. Server Communication Module

Input/Output Relation:

Side Effects:

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:

  1. Discover patterns in what the user finds interesting (and uninteresting)
  2. Automatically submit implicit machine ratings to the SELECT server based on the user's actions
  3. 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: *

  1. Banner advertisements
  2. Spam articles (News)
  3. MIDI files (relatively uncommon)
  4. Audio files that play on page load
  5. Java Applets that load and start on page load
  6. Animated graphics
  7. Pages that spawn new windows
  8. Video clips?
  9. JavaScript
  10. 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:

  1. User Action Messages
  2. ML Stored Data

Source:

  1. Interface Control Module, Search Interface, Preferences and Filter Settings Interface
  2. 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:

  1. Implicit Machine Ratings Send Requests
  2. ML Stored Data Update Request plus updated data
  3. ML Stored Data Receive Request

Destinations:

  1. Server Communication Module
  2. Server Communication Module
  3. Server Communication Module

Input/Output Relation:

 

Side Effects:

 

 

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:

  1. Server Requests
  2. Server Answers

Source:

  1. Various Interface Modules
  2. SELECT Server

Outputs:

  1. Formatted Server Requests
  2. Formatted Server Answers

Destinations:

  1. SELECT Server
  2. Various Interface Modules

Input/Output Relation:

Side Effects:

 

INTERFACE OPTIONSSubmitting Anonymous Ratings

  1. User clicks on a rating button and rating is automatically sent
  2. User clicks on a rating button and then clicks on a submit button to send the rating
  3. 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)

  1. Simple keyword search facility (like simple search in Altavista). Documents returned will be ranked by their overall collaborative rating value
  2. 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)

  1. 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).
  2. Simple keyword search plus boolean search facility (like advanced search in Altavista). Documents returned will be ranked by their social rating value.
  3. 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

  1. Pull Down menu option somewhere on the browser that brings up the preferences window.
  2. Button somewhere in the rating window that brings up the preferences window.Preferences window contents:

 

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:

  1. Document Read Time
  2. 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?)
  3. Text/Image ratio of document being viewed
  4. Text/Image Hyperlink ratio of document being viewed
  5. Number of hyperlinks in document being viewed
  6. Language of document being viewed
  7. Keywords - put into likes/dislikes lists
  8. 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:

  1. Number of ratings received for a document
  2. Average 'Collaborative' ratings value for a document
  3. 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:

  1. Colouring Hyperlinks to reflect one dimension of enhancement
  2. Adding Icons to reflect one dimension of enhancement
  3. Adding 'Phrases' to reflect one dimension of enhancement
  4. Adding flashing graphics to reflect one dimension of enhancement
  5. Colouring and/or formatting the text of a link

Examples:

  1. 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.
  2. 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).
  3. 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.

  1. User may have the option to turn off such customization
  2. Clicking on this graphic element may perform some function, e.g. launching a new window with the organisation’s home page.
  3. 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))