Software Development Chapter 2 Interface Design Need For User Interface Various people from different backgrounds now use computers in everyday life The need for a user friendly interface which the average person can productively interact with is important This need led to the development of various types of user interfaces, categories for different types of users The vast majority of programs are now interactive and user interfaces are often graphical Types Of User Interfaces There are many different types of user interfaces currently in use Each type of interface can be characterised by the style of interaction it supports The most common styles include: Command Driven Menu Drive Graphical User Interface (GUI) Special Purpose Styles are chosen by designers to support the particular tasks Many systems have a mixture of styles to support different tasks Command DrivenCommand Line Interpreter (CLI) The command line interface was the first interactive user interface They do not require much effort in screen design or management as a basic black or white background with contrasting text is normally used Commands are entered at a prompt and validated by the command language interpreter before being carried out Commands are words or mnemonics as the amount of typing should be minimal CLI Advantages They may be implemented using cheap alphanumeric displays More experienced users have direct control over the operations Commands of almost arbitrary complexity can be created by combining individual commands It is faster to issue a command sequence directly rather than searching through a menu It allows complicated and sophisticated operations to be performed and combined with scripts CLI Disadvantages Users have to learn a command language that can be complex The learning time for a CLI is greater Users always make mistakes in typing, this requires error handling and message generation facilities System interaction is through a keyboard It can be difficult to get the simplest operations performed Commands across different operating systems are different Menu Driven Menu driven interfaces present the user with a list of options The user can make their selection from a keyboard or pointing device Selecting an option may initiate a command or present the user with a sub-menu Sub menus are said to be nested inside the menu There are three major categories menus can be divided into: Full Screen Menus Bar and Pull-Down Menus Pop-Up Menus Full Screen Menus These menus present the options to the user as a sequential list It is followed by a message prompting the user to select one Options may be numbered or a letter used to uniquely identify each option and to facilitate quick selection Bar and Pull-Down Menus The main options available to the user are presented as pads on a horizontal bar across the screen When the user selects a pad the second-level options are displayed in a pull-down menu This type of men system is used in with a pointing device Options may also be selected using shortcut or arrow keys Pop-Up Menus These menus appear as a box with one of the options already selected When the user points to the box the other options are displayed in a list and the user can select one with the pointing device Menu options only remain visible when the pointing button is depressed Menu Driven Advantages The user is presented with a choice so does not need to remember commands The interface is suitable for beginners The opportunities for making serious errors are reduced Menus can utilise special pointing devices keeping typing to a minimal Menu Driven Disadvantages They are not as concise as command driven interfaces Accomplishing a task in a menu driven interface involves more steps than a command driven interface If there is a large number of options available it is difficult to structure the menu system Tasks which involve logical operators are awkward to express Graphical User Interface The main elements of a GUI are: Windows Icons Menus Pointers Alerts and Warnings Dialogue Boxes WIMP The first four elements of a GUI were responsible for the term WIMP being applied to these type of interfaces Using a WIMP environment allows the user to directly manipulate objects and perform operations Windows A window is an interface component through which objects and actions are presented It is an area of the screen dedicated to a specific purpose Windows may be tiled or overlapping They can be moved around and resized Windows may also be scrolling Icons An icon is a pictorial representation of an object or action A unique icon represents an application when it is minimised Icons must be understandable by users and its purpose must be clear to users Menus The graphical user interface can support all types of menus Common types are: Pull-Down Menus Menu Bars Scrolling Menus Pop-Up Menus Pointers A pointer is a symbol displayed on the screen that is controlled by a pointing device like a mouse It is used to point at objects and action on screen that the user wants to select The pointer is the tool used to drive the GUI Alerts and Warnings Alerts and warnings occur as pop-up menus They notify the user of an event that requires a response The user can choose between overriding the event or by performing the required action Dialogue Boxes A dialogue box is a movable window in which users provide information that is required by an application so it can perform the user request Processing Capabilities of a GUI The graphical nature of a GUI gives it the ability to perform a variety of different operations This includes combining text and graphics Graphical Operations Some operations of a GUI are: What You See Is What You Get (WYSIWYG) editing Image scanning Processable graphics Animation and support for multimedia The manipulation of graphics to produce moving images is called Animation Porting of documents or files across different applications Refers to the representation of an image on screen being an exact image of the end result A GUI treats all files as objects, making it possible to embed one object within another. So you can use a file created in one application in another Provisions for users with disabilities The WIMP environment is ideally suited for adjusting components for users with visual, hearing or mobility difficulties GUI Advantages Users feel in control of the computer User learning time is short Immediate feedback on actions is given so mistakes can be detected and corrected quickly Icons help users to recognise what objects are meant to represent Users can transfer skills from one WIMP based operating system to another GUI Disadvantages Interfaces are processor intensive and memory demanding Powerful and expensive processors are needed to support tasks Sometimes a longer sequence of steps is necessary to perform certain operations in a GUI Screens can become cluttered and difficult to navigate Special Purpose Languages With the ever increasing development of hardware and software many specialised user interfaces are now being created Interface Areas of Use Touch screens Museums Allows users to navigate menu system of art works, etc. by touching screen with finger. Speech Visually and physically disabled users Users can get audible sounds and words from the computer. Natural language Speech input systems The most natural interaction style. Speech recognition software is improving greatly but is still not perfect. Pupils questions A company decides to offer DVD rental through the World Wide Web. After registering, a customer will create a list of movies that he or she would like to watch. The highest positioned available movie from the list will be posted to the customer. When finished with the DVD, the customer will post it back. The management of the company decide to appoint a project team to oversee the implementation of a software solution. During the design phase careful consideration will be given to the design of the user interface as well as producing a design of the detailed logic of the software. (i) State three factors that will influence the project team when designing the user interface for software accessed on the World Wide Web. (ii) Pseudocode is used to represent the detailed logic of the proposed software. Describe three aspects of pseudocode that will assist the implementation of the system. Answer (i) • Clients skill level. • Existing documentation indicating user current experience. • Existing software indicating staff’s current experience/skill. • Development environment. • Hardware and software (OS) that the software will run on. • Types of browser used to access as they have different capabilities eg layers tables. • Minimum bandwidth since this will affect users’ ability to view graphics, video. • Any other acceptable answer. 1 mark for each of 3 factors (ii) • English statements which have a one to one mapping with code (1). • Numbering reflects dependency (1). • Indentation to indicate control structures such as repetition and selection (1 • Data flow informs parameter passing (1).