home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / SOMINF.ZIP / SOMOOUI.INF (.txt) < prev    next >
OS/2 Help File  |  1992-07-24  |  111KB  |  462 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. What is an Object? ΓòÉΓòÉΓòÉ
  3.  
  4. o The encapsulation of data and its methods. 
  5.  
  6. o An item that can be manipulated as an independent unit, and that a user could 
  7.   work with to perform a task (CUA) 
  8.  
  9. o Objects communicate via messages 
  10.  
  11. Real-life objects: 
  12.  
  13. o printers 
  14. o mail in-baskets 
  15. o mail out-baskets 
  16. o file folders 
  17. o file cabinets 
  18. o desktops 
  19. o shredders 
  20. o a book 
  21.  
  22.    - can be read 
  23.    - can be stored and retrieved 
  24.    - can be discarded 
  25.  
  26.  
  27. ΓòÉΓòÉΓòÉ 2. Object-Oriented User Interfaces vs. OOP ΓòÉΓòÉΓòÉ
  28.  
  29. OOUI                            OOP
  30. ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇ
  31.  
  32. user oriented                   programmer oriented
  33. objects are task-oriented       objects are code
  34.     units
  35. inheritance based on            inheritance based on superclasses
  36.     similarity and behavior         and subclasses
  37. concept of container            no containment concept
  38.  
  39. The language of implementation does NOT need to be an OOP language in order to 
  40. implement an OOUI! 
  41.  
  42.  
  43. ΓòÉΓòÉΓòÉ 3. Benefits of OOUI ΓòÉΓòÉΓòÉ
  44.  
  45. o An object-based view of the world, where objects have real-world counterparts 
  46.   (printers, files, in/out baskets) 
  47.  
  48. o Interface is to the real-world objects, rather than to program applications 
  49.  
  50.    - transparent usage of tools -- editor, spreadsheet 
  51.  
  52.    - intuitive task-orientation -- bring data to printer object to print it 
  53.  
  54. o Usage of system is consistent across interfaces 
  55.  
  56.    - print performs the same task, regardless of printer type 
  57.  
  58.    - copy, move, delete, and open all perform the same task, regardless of 
  59.      their object 
  60.  
  61. o Objects can be freely combined and separated 
  62.  
  63.  
  64. ΓòÉΓòÉΓòÉ 4. Disadvantages of OOUI ΓòÉΓòÉΓòÉ
  65.  
  66. o New interface to learn (for most users) 
  67.  
  68. o Concept of an object is not always rigorously defined 
  69.  
  70. o Confusion from "parallels" with programming world (OOP) 
  71.  
  72. o Very mouse / direct manipulation oriented 
  73.  
  74.  
  75. ΓòÉΓòÉΓòÉ 5. User Interface Paradigms ΓòÉΓòÉΓòÉ
  76.  
  77. Action-Oriented 
  78.  
  79. o begin application to access data (object) 
  80.  
  81. o represent applications as icons 
  82.  
  83. o minimized windows appear as icons, AND represent running applications 
  84.  
  85.  
  86. COPY  file1  file2
  87.  
  88. EDIT  file1
  89.  
  90. PRINT file1
  91.  
  92.  
  93. ΓòÉΓòÉΓòÉ <hidden> User Interface Paradigms ΓòÉΓòÉΓòÉ
  94.  
  95. Object-Oriented 
  96.  
  97. o icons represent objects, not applications 
  98.  
  99. o objects are displayed in windows 
  100.  
  101. o use of direct manipulation 
  102.  
  103.  
  104. choose a file
  105.  
  106. then COPY, EDIT, or PRINT it
  107.  
  108.  
  109. ΓòÉΓòÉΓòÉ 6. Object hierarchies (inheritance) ΓòÉΓòÉΓòÉ
  110.  
  111. User objects can be grouped according to similarities in appearance and 
  112. behavior. 
  113.  
  114. With inheritance, a user object has all the characteristics of the object(s) 
  115. above it. 
  116.  
  117.  Inheritance 
  118.  
  119.                       Data object
  120.                           Γöé
  121.            ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  122.            Γöé                            Γöé
  123.        Text object                 Chart object
  124.            Γöé                            Γöé
  125.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ          ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÉ
  126.   Γöé     Γöé      Γöé       Γöé          Γöé          Γöé
  127. Memo  Form  Report  Catalog    Bar chart  Pie chart
  128.  
  129.  
  130. ΓòÉΓòÉΓòÉ 6.1. Object hierarchies (containment) ΓòÉΓòÉΓòÉ
  131.  
  132. With containment, a user object can be contained within the object(s) above it. 
  133.  
  134.  Containment 
  135.  
  136.                  Screen
  137.                     Γöé
  138.                 Workplace
  139.                     Γöé
  140.     ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  141.     Γöé                             Γöé
  142.  Folder                      Other containers
  143.  
  144.  
  145. ΓòÉΓòÉΓòÉ 7. CUA '91 Object manipulation ΓòÉΓòÉΓòÉ
  146.  
  147. o Selection of objects (clicking) 
  148.  
  149. o Opening objects (double-clicking) 
  150.  
  151. o Multiple object selection (random-point or marquee) 
  152.  
  153. o Direct manipulation (drag and drop) 
  154.  
  155.  
  156. ΓòÉΓòÉΓòÉ 8. Types of CUA '91 Objects ΓòÉΓòÉΓòÉ
  157.  
  158. o Device Objects 
  159.  
  160. o Data Objects 
  161.  
  162. o Container Objects 
  163.  
  164.  
  165. ΓòÉΓòÉΓòÉ 8.1. Device Objects ΓòÉΓòÉΓòÉ
  166.  
  167. o Represent physical entities 
  168.  
  169.    - printer 
  170.  
  171.    - in-basket 
  172.  
  173. o Can be "logical" (wastebasket for deletion) 
  174.  
  175. o Can contain other objects, but used to act upon objects, not merely to 
  176.   organize them 
  177.  
  178. o Provide communication between computer and physical or logical objects 
  179.  
  180.  
  181. ΓòÉΓòÉΓòÉ 8.2. Data Objects ΓòÉΓòÉΓòÉ
  182.  
  183. o Contain or transfer information to user 
  184.  
  185.    - text, graphics, images 
  186.  
  187.    - multi-media:  video, voice 
  188.  
  189. o Specific methods for viewing, printing, sending information 
  190.  
  191. o Can contain other objects 
  192.  
  193. o Examples:  newsletter, document 
  194.  
  195.  
  196. ΓòÉΓòÉΓòÉ 8.3. Container Objects ΓòÉΓòÉΓòÉ
  197.  
  198. o Contain other objects 
  199.  
  200. o Used to organize related objects for access & retrieval 
  201.  
  202. o Also used to relate objects to a particular product or service 
  203.  
  204. o Four types: 
  205.  
  206.    - folders (used to store and organize objects) 
  207.  
  208.    - delete folders (objects for removal, immediate or as specified) 
  209.  
  210.    - work areas (used for grouping windows and objects -- "XYZ Business", 
  211.      including customer profiles, materials, inventory) 
  212.  
  213.    - workplace (the screen, contains all user objects -- "desktop") 
  214.  
  215.  
  216. ΓòÉΓòÉΓòÉ 9. CUA '91 User-Interface Elements ΓòÉΓòÉΓòÉ
  217.  
  218. o No meaning outside the computer environment 
  219.  
  220. o Allow users to interact with User Objects in the Workplace 
  221.  
  222. o Familiar to CUA '89 users 
  223.  
  224.  
  225. ΓòÉΓòÉΓòÉ 9.1. Icons ΓòÉΓòÉΓòÉ
  226.  
  227. Environment                         Representation 
  228.  
  229. In application environment          represent running applications 
  230. In object-oriented environment      represent objects 
  231.  
  232. o when open, icon remains visible but augmented to emphasize it's in use 
  233.  
  234. o icons can have static, animated, or video images 
  235.  
  236. o appearance of the icon can change when its object changes 
  237.  
  238.  
  239. ΓòÉΓòÉΓòÉ 9.2. Windows ΓòÉΓòÉΓòÉ
  240.  
  241. o Windows present objects 
  242. o Windows also contain messages, progress indicators, help, and choices 
  243. o Multiple windows can be shown in the Workplace simultaneously 
  244. o Two types:  Primary and Secondary 
  245.  
  246.    - identical in appearance 
  247.    - secondary are for: 
  248.  
  249.       o help 
  250.       o displaying a message (Action Window) 
  251.       o dialog with user (no more "Dialog Boxes") 
  252.  
  253.    - recommended to be modeless and sizable 
  254.  
  255. o Information area 
  256.  
  257.    - line at bottom of window 
  258.    - provides information about state of current object or choice 
  259.    - provides user feedback about progress or completion of event 
  260.    - used for non-urgent information 
  261.  
  262. o Status area 
  263.  
  264.    - line just below menu bar 
  265.    - provides information on the object View (for automobile object, number of 
  266.      cars in stock) 
  267.  
  268. o Small icon 
  269.  
  270.    - provide for direct manipulation function on an "open" object 
  271.  
  272.  
  273. ΓòÉΓòÉΓòÉ 9.3. Controls ΓòÉΓòÉΓòÉ
  274.  
  275. o Visual user-interface components 
  276. o Menu bars are controls 
  277. o Pop-up (context) menus are also controls 
  278. o Examples for text entry: 
  279.  
  280.    - entry fields 
  281.    - combo boxes 
  282.  
  283. o Examples for non-text entry: 
  284.  
  285.    - list boxes 
  286.    - value sets 
  287.    - check boxes 
  288.    - menus 
  289.  
  290. o New controls for CUA '91: 
  291.  
  292.    - Containers -- hold other objects 
  293.    - Notebooks -- resemble a spiral-bound notebook, with pages subdivided into 
  294.      sections;  used to organize, group, and arrange data (especially settings 
  295.      choices) into user-convenient, distinct groupings 
  296.    - Sliders -- represent a quantity and range of values for the quantity 
  297.  
  298.  
  299. ΓòÉΓòÉΓòÉ 9.4. Choices ΓòÉΓòÉΓòÉ
  300.  
  301. o Allow users to act upon selected objects 
  302. o Can appear as Menu Bar items 
  303. o Can also appear in other types of controls, such as push buttons and radio 
  304.   buttons 
  305. o Three types: 
  306.  
  307.    - action 
  308.  
  309.       o perform actions on objects 
  310.       o perform action immediately 
  311.       o Ex:  clipboard (Copy, Cut, Paste), Save, Clear 
  312.  
  313.    - routing 
  314.  
  315.       o lead to another menu or window 
  316.       o pull-down menu, cascaded menu, or a window with additional choices 
  317.       o Ex:  Find, Open, Sort 
  318.  
  319.    - settings 
  320.  
  321.       o specify/change object properties 
  322.       o Ex:  short and full menus (to change number of choices available in a 
  323.         menu) 
  324.  
  325.  
  326. ΓòÉΓòÉΓòÉ 10. Class Exercise (OOUI Design) ΓòÉΓòÉΓòÉ
  327.  
  328. A software vendor would like to automate the process of ordering food and 
  329. billing for it at a popular local restaurant.  The vendor intends for all 
  330. service personnel to use a workstation located by the cashier to enter their 
  331. orders -- this workstation would be connected directly to the kitchen. 
  332.  
  333. There are only ten items on the menu, with additional choices of veggies, 
  334. drinks, appetizers, and desserts.  Sometimes the kitchen runs out of certain 
  335. items.  And there are occasional specials as well.  Prices change almost every 
  336. month. 
  337.  
  338. Most of the service personnel have at least a year of high school.  They 
  339. typically stay on the job a little over six months.  Restaurant management 
  340. insists that the service personnel use the computer themselves, and that their 
  341. training take no more than an hour max. 
  342.  
  343. Can this job be accomplished?  How?  Detail how the user interface on the 
  344. workstation might be designed, specifying objects and their interrelationships. 
  345. Would all objects be visible on the computer at once? 
  346.  
  347. How would information get to the kitchen?  What would it look like? 
  348.  
  349.  
  350. ΓòÉΓòÉΓòÉ <hidden> Data Encapsulation ΓòÉΓòÉΓòÉ
  351.  
  352. A CheckingAccount object ... 
  353.  
  354.  
  355. ΓòÉΓòÉΓòÉ <hidden> Information Area ΓòÉΓòÉΓòÉ
  356.  
  357.  
  358. ΓòÉΓòÉΓòÉ <hidden> Status Area ΓòÉΓòÉΓòÉ
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ <hidden> Pop-up Menus ΓòÉΓòÉΓòÉ
  362.  
  363. Pop-up menus, also known as "context" menus, are subsets of frequently used 
  364. actions from a window menu bar for a particular object. 
  365.  
  366. o context is based on object context 
  367.  
  368. o displayed when shift+F10 is pressed with cursor on object 
  369.  
  370. o also activated via mouse selection 
  371.  
  372.  
  373. ΓòÉΓòÉΓòÉ <hidden> Slider Control ΓòÉΓòÉΓòÉ
  374.  
  375.  
  376. ΓòÉΓòÉΓòÉ <hidden> Menu Bars ΓòÉΓòÉΓòÉ
  377.  
  378. Formerly known as the "Action Bar" -- F S E V (File, Selected, Edit, View) 
  379.  
  380. Menu Choice         Functionality 
  381.  
  382. File Menu (AO)      application-oriented: use for opening, saving, printing 
  383.                     files 
  384. Object Menu (OO)    object-oriented: use for opening, printing, sending objects 
  385. Selected Menu       use if any view objects can be selected and opened to 
  386.                     another window, printed, or operated on by actions other 
  387.                     than those provided by "Edit" 
  388. Edit Menu           undo, clipboard, deselect choices 
  389. View Menu           use when providing multiple methods of viewing an object, 
  390.                     or for "Sort", "Include", or "Refresh" choices 
  391. Options Menu        use to allow a user to tailor appearance or behavior 
  392. Windows Menu        use if secondary windows are used to display objects 
  393. Help Menu           Help index, General help, Using help, Tutorial, Product 
  394.                     information 
  395.  
  396.  
  397. ΓòÉΓòÉΓòÉ <hidden> Application-Oriented Menu Application ΓòÉΓòÉΓòÉ
  398.  
  399.  
  400. ΓòÉΓòÉΓòÉ <hidden> Object-Oriented Menu Application ΓòÉΓòÉΓòÉ
  401.  
  402.  
  403. ΓòÉΓòÉΓòÉ <hidden> CUA '91 Window Elements ΓòÉΓòÉΓòÉ
  404.  
  405.  
  406. ΓòÉΓòÉΓòÉ <hidden> Icon Feedback ΓòÉΓòÉΓòÉ
  407.  
  408.  
  409. ΓòÉΓòÉΓòÉ <hidden> Icon Augmentation ΓòÉΓòÉΓòÉ
  410.  
  411.  
  412. ΓòÉΓòÉΓòÉ <hidden> Views ΓòÉΓòÉΓòÉ
  413.  
  414. A "view" is the form in which an object is presented in a window -- there can 
  415. be multiple views of the same object. 
  416.  
  417. View Category       Definition 
  418.  
  419. composed            relation of parts contributes to overall meaning -- 
  420.                     document, graph 
  421. contents            lists the objects contained -- icon layout, details layout 
  422. settings            for data & device objects, a way to change associated 
  423.                     options -- CUA notebook control 
  424. help                information to assist users in working with the object -- 
  425.                     help menu 
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ <hidden> Details View ΓòÉΓòÉΓòÉ
  429.  
  430.  
  431. ΓòÉΓòÉΓòÉ <hidden> Icon View ΓòÉΓòÉΓòÉ
  432.  
  433.  
  434. ΓòÉΓòÉΓòÉ <hidden> Graph View ΓòÉΓòÉΓòÉ
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ <hidden> Document View ΓòÉΓòÉΓòÉ
  438.  
  439.  
  440. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  441.  
  442. An object is Data, and access to the Data 
  443.  
  444. Note:  Data is kept as the object's Instance Variables during run-time 
  445.  
  446. Data access is accomplished via operations called Methods 
  447.  
  448.  
  449. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  450.  
  451. Communication Between Objects 
  452.  
  453. o Via messages 
  454.  
  455.    - access data 
  456.  
  457.    - modify data 
  458.  
  459. o Methods send/receive (are invoked by) messages 
  460.  
  461. o Messages to which an object responds form its protocol 
  462.