home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
SOMINF.ZIP
/
SOMOOUI.INF
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1992-07-24
|
111KB
|
462 lines
ΓòÉΓòÉΓòÉ 1. What is an Object? ΓòÉΓòÉΓòÉ
o The encapsulation of data and its methods.
o An item that can be manipulated as an independent unit, and that a user could
work with to perform a task (CUA)
o Objects communicate via messages
Real-life objects:
o printers
o mail in-baskets
o mail out-baskets
o file folders
o file cabinets
o desktops
o shredders
o a book
- can be read
- can be stored and retrieved
- can be discarded
ΓòÉΓòÉΓòÉ 2. Object-Oriented User Interfaces vs. OOP ΓòÉΓòÉΓòÉ
OOUI OOP
ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
user oriented programmer oriented
objects are task-oriented objects are code
units
inheritance based on inheritance based on superclasses
similarity and behavior and subclasses
concept of container no containment concept
The language of implementation does NOT need to be an OOP language in order to
implement an OOUI!
ΓòÉΓòÉΓòÉ 3. Benefits of OOUI ΓòÉΓòÉΓòÉ
o An object-based view of the world, where objects have real-world counterparts
(printers, files, in/out baskets)
o Interface is to the real-world objects, rather than to program applications
- transparent usage of tools -- editor, spreadsheet
- intuitive task-orientation -- bring data to printer object to print it
o Usage of system is consistent across interfaces
- print performs the same task, regardless of printer type
- copy, move, delete, and open all perform the same task, regardless of
their object
o Objects can be freely combined and separated
ΓòÉΓòÉΓòÉ 4. Disadvantages of OOUI ΓòÉΓòÉΓòÉ
o New interface to learn (for most users)
o Concept of an object is not always rigorously defined
o Confusion from "parallels" with programming world (OOP)
o Very mouse / direct manipulation oriented
ΓòÉΓòÉΓòÉ 5. User Interface Paradigms ΓòÉΓòÉΓòÉ
Action-Oriented
o begin application to access data (object)
o represent applications as icons
o minimized windows appear as icons, AND represent running applications
COPY file1 file2
EDIT file1
PRINT file1
ΓòÉΓòÉΓòÉ <hidden> User Interface Paradigms ΓòÉΓòÉΓòÉ
Object-Oriented
o icons represent objects, not applications
o objects are displayed in windows
o use of direct manipulation
choose a file
then COPY, EDIT, or PRINT it
ΓòÉΓòÉΓòÉ 6. Object hierarchies (inheritance) ΓòÉΓòÉΓòÉ
User objects can be grouped according to similarities in appearance and
behavior.
With inheritance, a user object has all the characteristics of the object(s)
above it.
Inheritance
Data object
Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé
Text object Chart object
Γöé Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé Γöé Γöé Γöé Γöé
Memo Form Report Catalog Bar chart Pie chart
ΓòÉΓòÉΓòÉ 6.1. Object hierarchies (containment) ΓòÉΓòÉΓòÉ
With containment, a user object can be contained within the object(s) above it.
Containment
Screen
Γöé
Workplace
Γöé
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé
Folder Other containers
ΓòÉΓòÉΓòÉ 7. CUA '91 Object manipulation ΓòÉΓòÉΓòÉ
o Selection of objects (clicking)
o Opening objects (double-clicking)
o Multiple object selection (random-point or marquee)
o Direct manipulation (drag and drop)
ΓòÉΓòÉΓòÉ 8. Types of CUA '91 Objects ΓòÉΓòÉΓòÉ
o Device Objects
o Data Objects
o Container Objects
ΓòÉΓòÉΓòÉ 8.1. Device Objects ΓòÉΓòÉΓòÉ
o Represent physical entities
- printer
- in-basket
o Can be "logical" (wastebasket for deletion)
o Can contain other objects, but used to act upon objects, not merely to
organize them
o Provide communication between computer and physical or logical objects
ΓòÉΓòÉΓòÉ 8.2. Data Objects ΓòÉΓòÉΓòÉ
o Contain or transfer information to user
- text, graphics, images
- multi-media: video, voice
o Specific methods for viewing, printing, sending information
o Can contain other objects
o Examples: newsletter, document
ΓòÉΓòÉΓòÉ 8.3. Container Objects ΓòÉΓòÉΓòÉ
o Contain other objects
o Used to organize related objects for access & retrieval
o Also used to relate objects to a particular product or service
o Four types:
- folders (used to store and organize objects)
- delete folders (objects for removal, immediate or as specified)
- work areas (used for grouping windows and objects -- "XYZ Business",
including customer profiles, materials, inventory)
- workplace (the screen, contains all user objects -- "desktop")
ΓòÉΓòÉΓòÉ 9. CUA '91 User-Interface Elements ΓòÉΓòÉΓòÉ
o No meaning outside the computer environment
o Allow users to interact with User Objects in the Workplace
o Familiar to CUA '89 users
ΓòÉΓòÉΓòÉ 9.1. Icons ΓòÉΓòÉΓòÉ
Environment Representation
In application environment represent running applications
In object-oriented environment represent objects
o when open, icon remains visible but augmented to emphasize it's in use
o icons can have static, animated, or video images
o appearance of the icon can change when its object changes
ΓòÉΓòÉΓòÉ 9.2. Windows ΓòÉΓòÉΓòÉ
o Windows present objects
o Windows also contain messages, progress indicators, help, and choices
o Multiple windows can be shown in the Workplace simultaneously
o Two types: Primary and Secondary
- identical in appearance
- secondary are for:
o help
o displaying a message (Action Window)
o dialog with user (no more "Dialog Boxes")
- recommended to be modeless and sizable
o Information area
- line at bottom of window
- provides information about state of current object or choice
- provides user feedback about progress or completion of event
- used for non-urgent information
o Status area
- line just below menu bar
- provides information on the object View (for automobile object, number of
cars in stock)
o Small icon
- provide for direct manipulation function on an "open" object
ΓòÉΓòÉΓòÉ 9.3. Controls ΓòÉΓòÉΓòÉ
o Visual user-interface components
o Menu bars are controls
o Pop-up (context) menus are also controls
o Examples for text entry:
- entry fields
- combo boxes
o Examples for non-text entry:
- list boxes
- value sets
- check boxes
- menus
o New controls for CUA '91:
- Containers -- hold other objects
- Notebooks -- resemble a spiral-bound notebook, with pages subdivided into
sections; used to organize, group, and arrange data (especially settings
choices) into user-convenient, distinct groupings
- Sliders -- represent a quantity and range of values for the quantity
ΓòÉΓòÉΓòÉ 9.4. Choices ΓòÉΓòÉΓòÉ
o Allow users to act upon selected objects
o Can appear as Menu Bar items
o Can also appear in other types of controls, such as push buttons and radio
buttons
o Three types:
- action
o perform actions on objects
o perform action immediately
o Ex: clipboard (Copy, Cut, Paste), Save, Clear
- routing
o lead to another menu or window
o pull-down menu, cascaded menu, or a window with additional choices
o Ex: Find, Open, Sort
- settings
o specify/change object properties
o Ex: short and full menus (to change number of choices available in a
menu)
ΓòÉΓòÉΓòÉ 10. Class Exercise (OOUI Design) ΓòÉΓòÉΓòÉ
A software vendor would like to automate the process of ordering food and
billing for it at a popular local restaurant. The vendor intends for all
service personnel to use a workstation located by the cashier to enter their
orders -- this workstation would be connected directly to the kitchen.
There are only ten items on the menu, with additional choices of veggies,
drinks, appetizers, and desserts. Sometimes the kitchen runs out of certain
items. And there are occasional specials as well. Prices change almost every
month.
Most of the service personnel have at least a year of high school. They
typically stay on the job a little over six months. Restaurant management
insists that the service personnel use the computer themselves, and that their
training take no more than an hour max.
Can this job be accomplished? How? Detail how the user interface on the
workstation might be designed, specifying objects and their interrelationships.
Would all objects be visible on the computer at once?
How would information get to the kitchen? What would it look like?
ΓòÉΓòÉΓòÉ <hidden> Data Encapsulation ΓòÉΓòÉΓòÉ
A CheckingAccount object ...
ΓòÉΓòÉΓòÉ <hidden> Information Area ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Status Area ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Pop-up Menus ΓòÉΓòÉΓòÉ
Pop-up menus, also known as "context" menus, are subsets of frequently used
actions from a window menu bar for a particular object.
o context is based on object context
o displayed when shift+F10 is pressed with cursor on object
o also activated via mouse selection
ΓòÉΓòÉΓòÉ <hidden> Slider Control ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Menu Bars ΓòÉΓòÉΓòÉ
Formerly known as the "Action Bar" -- F S E V (File, Selected, Edit, View)
Menu Choice Functionality
File Menu (AO) application-oriented: use for opening, saving, printing
files
Object Menu (OO) object-oriented: use for opening, printing, sending objects
Selected Menu use if any view objects can be selected and opened to
another window, printed, or operated on by actions other
than those provided by "Edit"
Edit Menu undo, clipboard, deselect choices
View Menu use when providing multiple methods of viewing an object,
or for "Sort", "Include", or "Refresh" choices
Options Menu use to allow a user to tailor appearance or behavior
Windows Menu use if secondary windows are used to display objects
Help Menu Help index, General help, Using help, Tutorial, Product
information
ΓòÉΓòÉΓòÉ <hidden> Application-Oriented Menu Application ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Object-Oriented Menu Application ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> CUA '91 Window Elements ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Icon Feedback ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Icon Augmentation ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Views ΓòÉΓòÉΓòÉ
A "view" is the form in which an object is presented in a window -- there can
be multiple views of the same object.
View Category Definition
composed relation of parts contributes to overall meaning --
document, graph
contents lists the objects contained -- icon layout, details layout
settings for data & device objects, a way to change associated
options -- CUA notebook control
help information to assist users in working with the object --
help menu
ΓòÉΓòÉΓòÉ <hidden> Details View ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Icon View ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Graph View ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> Document View ΓòÉΓòÉΓòÉ
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
An object is Data, and access to the Data
Note: Data is kept as the object's Instance Variables during run-time
Data access is accomplished via operations called Methods
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Communication Between Objects
o Via messages
- access data
- modify data
o Methods send/receive (are invoked by) messages
o Messages to which an object responds form its protocol