BMIS 2053
Human/Computer Interaction

Fall, 2003

MOIS Seminar Outline and Schedule

CRN 26865, Wednesdays 6:15-9:00 PM, 104 Mervis

Professor: Dennis Galletta, 232 Mervis Hall

Phone: 648-1699; e-mail: galletta@katz.pitt.edu

 

Texts:

Two required texts include:

-         Burrows and Langford, Learning Programming using Visual Basic .Net, McGraw-Hill Irwin, ISBN 0-07-245196-3 (“part of 0-07-283412-9” but the officials assured me that either ISBN number will result in the same product). The text has a web site at http://highered.mcgraw-hill.com/sites/0072451963/

-         Shneiderman, Designing the User Interface: Strategies for Effective Human-Computer Interaction (3rd Ed.), Reading, Mass: Addison-Wesley Publishing Co., 1998, ISBN 0-201-69497-2 + update supplement bundled as 0-321-20058-6. The update bundle is not necessary but you will get more up-to-date treatment of a few topics and access to the website for newly updated chapters as they become available.

Supplementary Readings

-         Bewley, W.L., T.L. Roberts, D. Schroit, & W.L. Verplank, (1983). “Human Factors Testing in the Design of Xerox's 8010 'Star' Office Workstation," Human Factors in Computing Systems - CHI '83 Proceedings, December, 72-77.

-         Various web sites

Course Description

Background

The recent Internet and e-commerce explosion has created a new, acute awareness of how people are affected by computers in many ways. Affordable hardware and software offerings are widely available to anyone at the cost of a medium-quality stereo system or television set. Scores of vendors have discovered the competitive importance of the user interface, and label their products "user-friendly." A major problem is that most software developers have their own concept of just what is a proper interface to achieve this "friendliness."

In the past five years, resources available on the Web have expanded significantly, promising to serve even novices thanks to the revolutionary interface afforded by the World Wide Web. The previous Internet tools (FTP, Gopher, and newsgroups) were not as usable. Also, for some time lawsuits over the "look and feel" of software have abounded, new operating system battles are under way, and new products in general make explicit mention of the interface.

Yet, little is really known about how to design and achieve the "proper" interface to increase personal and organizational benefits while minimizing drawbacks. Concerns echoed by many voices address confusion, fear, errors, physical maladies, and social impacts. Major industries claim to solve some of these problems. It is easy to find training programs that promise to quell the confusion, fear, and errors. Many catalogues offer furniture and accessories to ease the physical strains and mismatches. However, only some of the problems are solved and some are not solved very well by these industries, because of the lack of understanding and newness of research in human/computer interaction.

Developing expertise in HCI is difficult because there are several disciplines that interact in any design decision. Beyond the introspection of a designer, a particular interface design might be influenced by research developments in psychology, computer science, business administration, sociology, health sciences, engineering, as well as other fields. Although we will emphasize business administration in this course, we will constantly refer to studies in those disciplines for results that impact the interface design process. This will help you approach the software design process with significant awareness of the human interface.

Although achieving expertise in this area is difficult, there is an abundance of work that has taken place in the past two decades. A designer would do well to consider this work before using introspection or copying designs of others.

Note on Disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both me and the Office of Disability Resources and Services, 216 William Pitt Union, (412) 648-7890 or (412) 383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.

Learning Objectives

This seminar will survey much of the literature of human/computer interaction. It will focus on major areas of concern in the field. Since this is a seminar rather than a pure lecture course, there will be greater emphasis on reading, integrating, and interpreting the material. Specific learning objectives include developing your:

-         skill using applying interface modeling software (Visual Basic),

-         skill in applying design principles to programming,

-         knowledge of HCI design issues,

-         knowledge of how disparate design issues interact,

-         ability to make better design decisions, and

-         ability to critique designs of others.

VB Assignments

Note on VB.Net: The software is available free to Pitt students at any campus computing lab. You will need VB.Net rather than VB version 6 because of important differences. Your laptop will require Windows NT, 2000, or XP (that is, not Windows 98) and will take about 2.2 gigabytes with the default installation (without Web Hosting). If you have a laptop that cannot handle VB.Net because of limitations in disk space, there are 3 options:

1.      Upgrade your laptop memory or hard disk space and upgrade your operating system. This could be expensive.

2.      Access an XP-based desktop somewhere to complete your assignments.

3.      Work on VB version 6, but this will require that, after learning VB.Net in class, you learn on your own the VB version 6 methods for accomplishing the same thing.

How to hand in VB assignments:

NOTE: Please work by yourself! If code and/or forms are obviously identical to those of others, zero credit will be given.

Please e-mail each assignment on the date due before class begins. The due dates have been arranged such that that the material is covered in class before you need to tackle each assignment. Once the problems are covered in class, large late point deductions will be made. If you e-mail the assignment by the day before class, I will reply the morning of class with a confirmation that I received the assignment.  If I do not confirm receipt, please send another copy and/or call me.

To e-mail each assignment, design your applications to run in a folder called c:\vb.  That is, all forms and data files (if applicable) should reside there.  Please zip all files in your “Windows Application X” subfolder into one zipped file.  Please provide an e-mail subject header using the following convention:

VB Lastname C-N (where C is the chapter number and N is the problem number).

Therefore, if your last name is Huxtable and you’re working on Chap 3, problem 4, provide the subject header as follows:

“VB Huxtable 3-4” (without the quotes, please)

By the way, please do not use “Huxtable” like one student did (unless that is your name)!  Please use your own name!

Executive Memos

The 3 required executive memos are quite flexible in nature. Each should address interesting, significant design advice you might find in any of the reading up to the due date of the memo (but since the due date of the previous memo), and aimed at just about anyone you can think of:

·        your boss, who is not paying enough attention to certain aspects of the design advice

·        a software company who is obviously violating some of that advice

·        your subordinates on a project who are violating the advice

·        your colleagues who are pondering some relevant choices

·        etc.

Feel free to change focus at will. That is, you do not need to keep the same style for each memo.

Each memo should be approximately 1 page long and include a persuasive plea to make a significant change of some kind, along with citations to the appropriate evidence.  For example, “Dear Boss, our home page takes 9 seconds to load, and according to Galletta et al. (2003), there is a curvilinear decline in user attitudes and intentions to revisit the site. Attitudes and intentions are rather bleak when delays are in excess of 4-6 seconds.”

A good way to approach this project is to do the reading and make notes of anything in the readings that you wish a certain party (for example, your IT team, a software company, your colleague, your boss) would know about. The higher your emotions, the better the memo, so search for those things that really bother you!

Submission: similar to how the executive memos should be conducted.  Please name your memo with the word MEMO, the memo number, and your last name and use the same string for the subject header of the e-mail.  For example, if Huxtable submitted memo 3, it would be “MEMO3 Huxtable.”

Grading

Item

Points each

Total

9 Problems

4 points each (except chapter 5 #3, worth 4 extra points)

40

2 small projects

7 points each

14

3 executive memos

7 points each

21

Final project

 

15

Participation (2nd half)

(name tag will help; open laptop computer will not)

10

Total

 

100

Calendar

Date

Topic

Reading Assignment to be completed by this date

Assignment to be completed by this date

Aug 27

Introduction

Read VB chaps 1 and 2

None

Sept 3

VB: Data and Calculations; Debugging

Read VB chap 3; Read VB Appendix A

Install VB.Net (note: do not install the Web Server package for now—more details will be provided later on how to handle that)

Sept 10

VB: Logic

Read VB chaps 4, 5 Note: see chapter overheads on Learning Space for these chapters and the following chapters after they are covered.

Chap 3, problem 4 (pg. 125);

Sept 17

VB: Subprograms and Iteration

Read VB chaps 6 and 7

Chap 4, problem 5 (pg. 179) Chap 5, problems 1, 2, 3 (pp. 224-226) (Note: hand in only #3)

Sept 24

VB: Data access

Read VB chap 8

Chap 6, problems 1 and 4 (pp. 278-279); Chap 7, problem 3 (pg. 324)

Oct 1

VB: XML; Arrays

Read VB chaps 9 and 10

Install IIS and get computer ready for web apps; Chap 8 problem 2 (pg. 380).

Oct 8

HCI Interface Concepts; Design Guidelines

Shneiderman chaps 1-3

Chapter 10 optional homework assignment, available here.

Oct 15

HCI Response Time, Presentation Styles

Shneiderman chaps 10, 11; Web Pages That Suck.com

 

Oct 22

HCI Reviewing, Testing; understanding users better

Shneiderman chaps 4, 5

Text Screen Tests

Oct 29

HCI Direct Manipulation, Menus, Forms

Shneiderman chaps 6, 7; Bewley et al

Executive Memo 1

Nov 5

HCI Command Languages, Interaction Devices

Shneiderman chaps 8, 9; Ergonomics links

Icon Design Task

Nov 12

HCI Providing Documentation and Help

Shneiderman chaps 12, 15, 16

Executive Memo 2

Nov 19

Fall Break – No class

 

 

Dec 3

VB: Web Applications

Read VB chap 11; Appendix D

Executive Memo 3

Dec 10

HCI Project Presentations

 

You can use the quick guide document for help. Chap 8, project 9 (web version). Database is available in the student files, but hard to find. Here it is. Quick guides were also handed out for linking forms to text fields and updating databases and using master/detail tables.

 

Assignment: Text Screen Tests

due 10-22-2003

The goal of this assignment is for you to try and apply some of the screen design issues discussed briefly in chapter 5 of the Shneiderman text, and to discover how difficult it is to design even a simple output screen. We will use software to evaluate your screen, however, your grade will be assigned by your instructor.

You are to develop ONE information (not input) screen that contains the requisite information (see below).

Contents of the screen:

The screen should show a customer's order, and show:

• identifying information like company (filling the order) name and system/screen information;

• all pertinent customer information like name, billing address, and shipping address;

• all pertinent item information like description, price, quantity and product number showing exactly 8 items purchased;

• system information like how to get help, how to continue, what choices there are, etc.

Please e-mail or submit an IBM format diskette with an ASCII text file, 80 columns by no more than 22 lines. Name your file "HCI: (your name) SCREEN.TXT" . Do not use a proportionally-spaced font (use Courier or similar font). Ideal for this would be Notepad with Courier Font. Keep track of spacing by using a line at the top 123456789012345...etc and then delete that line after you finish. Do not use boldfacing, italics, or underlining. Do not use VB. Finally, do not pad spaces (eg., John DoeXXXXXXXX).

In class, we will evaluate the screen using software developed by Tullis, described in chapter 5, on an LCD projector.


Assignment: Icon Design Contest

due 11-5-2003

The Bewley, et al. reading discusses computer icons for the Xerox Star, predecessor to the Apple MacIntosh. After reviewing these materials, you should have a good idea of the difficulties involved in designing icons. You will be using a graphics program (to be identified later) to design the icons. The objectives of this assignment are twofold: (1) to give you some practice in, and understanding of the difficulty involved in designing an icon, and (2) to give you some practice in, and understanding of the difficulty involved in making it legible in a tiny space on the screen.

Before you begin the steps below, choose any competitive Windows spreadsheet package (such as Lotus 1-2-3 or Excel). Scan all of the icons ("Smarticons" in the Lotus package) and notice (1) how much meaning is expressed in each one that captures its function, (2) how well differentiated its drawing is from the other icons, and (3) how creative it is in expressing its specialized meaning. Your icons will be given points by me and by your peers on each of these criteria (meaning, differentiation, and creativity) in creating your three icons. Note: You need not provide the actual macro; in class we will only focus on the three icons themselves.

Then:

  1. Create an icon that would center a title line on the screen, assuming the user has highlighted the range containing the cell (at the left) in which there is a title, and the cells over which it is to be centered.
  2. An icon editor called "Iconedit" is the best bet for this assignment. Please cruise to Iconedit.com or download.com, search for "iconedit" and download and install it. It is a 3 megabyte download. If you use another program, the 32x32 size is perfect for the assignment. Any larger and it is a less useful assignment.
  3. Create an icon that would (given the user has selected a range) sum all columns and sum all rows in the selected range, placing the row totals to the right of each row of the range and placing column totals at the bottom of each column under the range. (many spreadsheets have this simple format...for example, in a list of products sold with each product as a row and each month as a column, this macro will create totals for each product across the months and each for each month across products.
  4. Create an icon that would allow the user to select a range with column/row totals, and have the spreadsheet make sure the column totals equal the row totals.

Make sure each icon is submitted on the CourseWeb system as a group (zipped) (or can be loaded from a 3.5 inch floppy diskette in class). I will load each for the judging. Peer judgments will not influence your grade.


Term Project

Interface Building

Presentation and printouts of key screens due during last class (finals week) (12-10-2003)

NOTE: Updated to reflect clarification in class:

Because the chapter 8, problem 9 specification provides the screens, the goal is to modify the interface as you would wish it to be given the guidelines in the Shneiderman text and issues we discussed in class. It wouldn’t make sense if everyone presented the same exact thing.  So, start your engines and “jazz up” the interface in any way you would like.  We will look at originality, effort, and how the design principles were adapted.

The object of this major project is to put everything in the course together. You will build and demonstrate your (MODIFIED) interface resulting from Chapter 8, problem 9 (page 372). Do not begin the project in the last week.  As indicated above, the project can be a web-based or non-web-based endeavor.

The talk and demonstration should last about 5 minutes. Answer any questions after your uninterrupted presentation. You will be cut off if you are not finished so that others will be able to present their designs. Total time should be limited to 7 minutes.

You will be evaluated by the instructor (not by the class) on your ability to put into practice the design principles used in the course. Your printouts will not be evaluated, but will serve to document your system.

VB Assignment Hints and Clarifications

Chapter 3, Number 4:

  • Note that pp. 118-119 discusses the need to add a "module" that defines global variables and constants. It is simple to add one of these. You simply click FILE then ADD NEW ITEM and then choose MODULE.  Place the public declaration for K there (and there only) as it appears at the top of 119 (using K, instead of the other items, of course). Then you can use K in any form (but don't ever declare it again). When you try it you will see that K no longer has the underlined squiggle.
  • Do not worry if Form 2 is created again and again and again. If you’d like, you can place a new CLOSE button and place the Me.Hide() code into it.
  • Some have asked about the use of minimal scope for each variable. It just means that you shouldn’t declare all variables in the public module described above. All should be local variables unless they need to be tapped by other forms.

Chapter 5, Number 3:

  • NOTE: Disregard the previous version of this hint. Don’t let the TextChanged event hint confuse you. The goal is, if you click one of the radio buttons and selection boxes, an amount will be added to the price on the right of the form. When that amount changes, code should be triggered that updates the total automatically. So the TextChanged event is used. Double click on a label (not a text box) in design mode, you’ll see the event chosen is Click (see the right pull-down list at the top of the code window.  The left will say Form1 and the right will say label1_Click [or whatever label number it is]). You want to click on the left pull-down list and choose the label (I’ll use label1 in my example). The right window will now say “Declarations.” Click the pull-down list and see the dozens of choices you have. Click is in bold, but ignore it and go down to TextChanged.  The pull-down lists will now say Form1 in the left and label1_TextChanged in the right. Your code for updating the total will no longer be “in” the button as in #2, but will now be in the new private sub that is called label1_TextChanged. 

Chapter 6, number 4

  • The book doesn’t give you much information about the focus method. So, here’s an example. (NEW Please don’t use such a terse Msgbox—I’ve only done this as an illustration.  By the way, a message box is ok.  It might be preferable, though, to not require another level of windowing that requires clicking OK.  I would think it would be friendlier to place the cursor back there and display in red, next to the text box, a very short note that says there was an error and what is allowable.  Then when the focus leaves the box, and passes the test, it will erase the error message.)

      Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave

        If TextBox1.Text = "" Then

            MsgBox("try again")

            TextBox1.Focus()

        End If

End Sub

  • You can use any approach to validation (Try…catch, if statements, IsNumeric)
  • Decimals don’t have to be filtered in any field
  • Also your choice: Blanks can be permitted to allow users to move from field to field unless you wish to control it. It’s up to your own individual style. However, if you allow moving around, in a real situation the burden of full validation would be deferred until the form is full. The first is easier but the second is friendlier.
  • I would say that the name field should be validated for blank—if people TAB to the bottom then why should they tab back to the top? Again, it’s your choice where the validation would take place.

Chapter 7

  • Note that on example 7.20 on page 317, the horizontal alignment option doesn't seem to work on the first column!  I have the actual program and I keep trying to change the year to other settings but they don't work for the year.  The other columns work fine, though.  I can't explain it--could be a bug.  Notice that the other columns are indeed right justified.
  • For problem 3, you do not have to use multiple columns.  In fact, please don’t try. Use a list box.
  • NEW For problem 3, note that the Future Value function requires 4 parameters. You only need to provide 3 because it is not an annuity (repeated payment) problem.  That’s why the book says to use 0 for the Pmt parameter—there are not any payments besides the PV parameter (usually optional, but in this case, needed). Also notice that you should make all of the variables that are used as parameters Double precision floating point numbers. Finally, note that the rate, expressed on an annual basis, needs to be adjusted by the number of times interest is compounded in the year. If, for example, the rate is 12%, compounded once, for 3 years, then you would use .12 for the rate and 3 as the number of periods.  But if it is compounded 12 times, the rate would be 1% and you’d use 36 as the number of periods.

Chapter 8, number 2

  • The problem: one window should have the ability to display information from 3 data files. You would then change properties (like data source and member) right in code, right?  You don't have to click on the properties window on the right. Depending on which data source is selected, you would write the code differently.  Does that help?  Here’s some sample code:

                grdDisplay.DataSource = DsAuthors1

                grdDisplay.DataMember = "authors"

                DsAuthors1.Clear()

                daAuthors.Fill(DsAuthors1)

  • For purposes of handing in the assignment, as mentioned in class I will just before the break walk around and take note that your programs indeed are running. Also, please send it to me as usual so I can see the code.

 

 

News

Note: You do not need to submit icons via floppy disk. The preferred option is e-mail in advance of class so I can load them before class begins. (thanks to Allen Chuang, Rob L)

News Flash: Security problem solved! You can now use an Access file in local mode just like it works on my server. See my VB Permissions page.

Sept 20, 2003: Note that I’ve added some clarification to the chapter 6, problem 4 explanations about message boxes.  Sorry for the misleading text previously.