250 likes | 468 Views
Systems Analysis I Interface Design. ISYS 200 Glenn Booker. Interface Objectives. Key objectives for designing a “good” interface include Match type of interface to the task Make interface efficient Provide appropriate feedback to users Generate usable queries
E N D
Systems Analysis IInterfaceDesign ISYS 200 Glenn Booker Week #7
Interface Objectives • Key objectives for designing a “good” interface include • Match type of interface to the task • Make interface efficient • Provide appropriate feedback to users • Generate usable queries • Improve productivity of knowledge workers Week #7
Interface Parts • A user interface consists of two parts • The presentation language takes computer signals and makes them readable by humans • The action language takes human inputs and makes them usable by the computer • Together, these parts constitute what we call a user interface Week #7
Types of Interfaces • Types of interfaces include • Natural language • Question and answer • Menus • Form-fill • Command language • Graphical user interface (GUI) • And a few other Week #7
Natural language • Natural language processing is the foundation for being able to ask a database native language (e.g. English) questions • www.ask.com handles natural language WWW queries, but is now full of Featured Sponsors • Practical information systems have trouble with natural language, due to the vagueness of human languages Week #7
Question and Answer • Q&A interfaces are typically used when a limited range of activities and options are needed • Good for inexperienced users • Often used for help services (e.g. wizards), and installation routines Week #7
Menus • Menu interfaces are familiar from almost every Windows and Mac application • Menus are activated based on mouse click or keyboard commands • Allows for many command options • User is expected to know what kind of task they want to perform • More primitive menu systems were based on typing a command letter at each screen Week #7
Form-fill • Also known as form based or input/output interfaces, this replicates paper forms to provide a familiar environment to the user • Forms appear to be filled out by the user • Fields needing data are backlit, colored, or otherwise highlighted • Default values and field screens can encourage fast and accurate data entry • Poor choice for experienced users Week #7
Command language • A command language interface is used by typing commands onto a screen • Akin to DOS- or UNIX-based command prompts • Commands must be learned, and typed correctly • Steep learning curve • Very efficient for experienced users • Good for very complex applications, e.g. AutoCAD, Mathematica, etc. Week #7
Graphical user interface (GUI) • GUIs allow direct manipulation of graphic interface objects, providing constant feedback for the user • The objects must provide a conceptual model of the environment depicted, producing a design challenge • Users of Web-based GUIs may be completely unknown, so expressing good icons and language are challenging Week #7
Other Interfaces • Other types of interfaces exist, and are becoming increasingly common • Pointing devices (stylus, tablet PC, touch screen) • Voice recognition systems Week #7
Interface Type Selection • When choosing the type of interface, should consider • The number of users, and their experience level • Turnover rate – how long do users stay with the system? • Training period should be brief • New users should have noticeable productivity • Users errors are few and easy to fix • Occasional users should relearn system quickly Week #7
Dialog Design • The dialog between computer and user is critical to the success of any system • Want to have • Meaningful communication • Minimal user action • Standard operation and consistency Week #7
Meaningful Communication • A system needs to present information clearly to the user (duh!) • Need to format data into recognizable forms • Give clear instructions • Novice users require more instructions and feedback • Help screens or other support tools should be provided • Validate inputs to ensure computer understands Week #7
Minimal User Action • Typing is often the slowest part of a system • Key in codes instead of full words, or select from a dropdown list where possible • Only enter new data • Format data as user would expect it • Provide default values where possible • Have system look up names or items, to avoid typing the whole entry • Provide keyboard shortcuts Week #7
Standard Operation • Make the user interface consistent throughout the application • Put common elements in the same place on each screen, and use consistent fonts and layout • Use the same function keys or keyboard shortcuts everywhere • Use standard shortcuts, like F1 = Help, Esc = exit • Use consistent colors and icons everywhere • Provide consistent navigation scheme Week #7
User Feedback • In order for there to be a DIalog between computer and user, the computer must provide good and frequent feedback • Feedback generally compares the intended result with an actual result, or tells the user what is expected next Week #7
Types of Feedback • There are many types of feedback • Acknowledge input – tell the user when an input has been received by the system • Input is valid – tell user that the inputs are in the correct form; it has passed validation • Input is invalid – tell user when inputs are not valid; and specifically how to fix them • Explain delays – tell the user why there is a delay, so they don’t assume the system crashed Week #7
Types of Feedback • Tell when task was completed – tell the user when a request or process has been completed successfully; or conversely • Tell when a task wasn’t completed – tell the user if something didn’t complete; and tell them how to redo it or fix the problem • Provide additional instructions – provide a way for users to get more information on the current process, or what they can do next Week #7
Feedback in Design • Use lots of help options • Generic F1 Help • Context-sensitive help • Balloon help • Wizards • Customer support phone or email • Support forums, chat areas, user groups, etc. Week #7
E-Commerce Notes • In addition to providing user feedback, many e-commerce web sites also solicit feedback • Provide an email link for product comments, help requests, website corrections, etc. • Many use one-click navigation • Create using rollover menus, hierarchical links, creating a site map, or using a common navigation bar Week #7
Query Types • Query structure is outside the scope of this class; typical uses include • Look up a value for a given record • Find records matching a condition for an attribute • Find when a given attribute has some value • Show an entire record • Show all records which have a given attribute • List attributes that have a given value Week #7
Query Methods • There are two major methods for querying • Query by Example (QBE) is done in Access • Select the fields of interest, and enter query values • Is a click-and-drag way to create queries • Structured Query Language (SQL) is used in every major database system • Uses text commands to specify what tables, attributes, and values are to be evaluated or shown Week #7
Web Searching • Zillions of resources are available, of varying levels of accuracy and completeness, by searching the WWW • Google is a favorite starting point • Try www.firstgov.gov for searching state and/or federal government web sites • Choose search terms carefully • Spell out part of acronyms • Apply logical rules for searches (e.g. AND, OR, exact) Week #7
Data Mining • Data mining studies past behavior (e.g. sales history) to look for meaningful patterns • Often used for marketing or sales, such as targeting an ad campaign • Can create a consumer profile based on purchase history • Lots of potential privacy issues • Data mining tends to be expensive, due to severe computational requirements Week #7