Presentation is loading. Please wait.

Presentation is loading. Please wait.

Duke CPS 108 31. 1 Software Design See Alan Cooper, The Essentials of User Interface Design l who designs the software? l Implementation is view of software.

Similar presentations


Presentation on theme: "Duke CPS 108 31. 1 Software Design See Alan Cooper, The Essentials of User Interface Design l who designs the software? l Implementation is view of software."— Presentation transcript:

1 Duke CPS 108 31. 1 Software Design See Alan Cooper, The Essentials of User Interface Design l who designs the software? l Implementation is view of software developer, user’s view is mental model, software designer has to bridge this gap ä Example: copy/move files in a Windows/Mac environment, what’s the difference in dragging a file/folder between two folders on the same device and dragging between devices, e.g., c: to a:? Is this a problem? To whom? l Implications in Harpoon? What’s a presentation? A slide? Implentation model user’s model worse better

2 Duke CPS 108 31. 2 You’re comfortable with technology and mathematics l “Show me all the first year students who live in Pegram and in Brown” ä what does “and” mean here? Does the average user understand Boolean? Does the average programmer understand Boolean? Recursion? Threads? Queues? l How you solve a problem in your program isn’t (necessarily) how the user solves the problem, keep these distinctions clear “Saying that someone is ‘computer literate’ is really a euphemism meaning he has been indoctrinated and trained in the irrational and counter-intuitive way that file systems work, and once you have been properly subverted into thinking like a computer nerd, the obvious ridiculousness of the way the file system presents itself to the user doesn’t seem so foolish.”

3 Duke CPS 108 31. 3 What’s familiar isn’t necessarily what’s best l Hierarchical/cascading menus ä what’s the purpose ä are they good? (“not user friendly, but very software.dot.dweeb friendly”) l What’s in the File menu? Why? ä Graphics in menus? l What about redundancies, e.g., menu and shortcut and toolbar ä users become more expert ä pedagogic vector (the program should instruct) l What about ‘OK’, ‘Apply’, ‘Cancel’ ä what do these mean? Which of these slider interfaces is best? Why? Copying Is this a good dialog?

4 Duke CPS 108 31. 4 Issues in Harpoon Outline/Text widget l What should the outline/text widget do? What should it be called? ä What does user want? ä What can programmer do? ä How can these be reconciled? l What are alternatives? ä Complete rich-text widget? ä Bulleted lines (what’s a bullet, what’s a line)? ä What about adding new lines/bullets? ä What about font selection? l Other issues? ä

5 Duke CPS 108 31. 5 Views and Styles l What are the potential different views in harpoon ä where do you look for ideas? Existing programs Your own ideas focus group/users? ä Slide show, creation view, hand-out view, other views? l What about styles? ä Standard presentations, clone a slide and change info ä different kinds of slides within a presentation ä different kinds of paragraphs/bullet lists within a slide ä how to chose, how to create

6 Duke CPS 108 31. 6 Undo/redo and other issues l Facilitate undo/redo using the Command pattern with encapsulated state for undo/redo ä facilitates multiple levels of undo/redo, not just one  each command encapsulates an action, supports execute() and unexecute() [see Pixmap] ä How is a move undone, what’s the state? ä How is a drawing undone, what’s the state? l Is every command undoable? How can you inform the user what cannot be undone --- pop up a dialog box on every undoable command (“warning, this command is undoable, cancel or proceed”)


Download ppt "Duke CPS 108 31. 1 Software Design See Alan Cooper, The Essentials of User Interface Design l who designs the software? l Implementation is view of software."

Similar presentations


Ads by Google