322 ;;Quote: wrote a ten-page tutorial for SUIT; on paper to distinguish tutorial area from (valuable) screen area
|
325 ;;Quote: a SUIT database maintains information about all screen objects including their location and color; updated at each invocation
|
325 ;;Quote: new SUIT objects given a random location; user may modify it dynamically using hot keys
|
327 ;;Quote: SUIT separates updating screen objects from updating the screen by using a 'needs to be repainted' bit; done at end of loop
|
328 ;;Quote: SUIT can dynamically change the display style of a bounded value object; demonstrates abstract data types
|
328+;;Quote: many students confuse an object's state with mechanisms that affect that state
|
328 ;;Quote: SUIT uses string conversion to save data types and to convert between types
|
329 ;;Quote: SUIT uses property lists to store information about an object; also searches the object's class and a global property list
|
330 ;;Quote: SUIT property editor displays object, class and global property lists; drag-and-drop; makes it easy to learn state inheritance
|
330 ;;Quote: SUIT's property editor is the same for all objects; easy to learn and immediately available
|
332 ;;Quote: drag a SUIT property to the INFO icon for its data type and textual description
|
332 ;;Quote: rich subclassing of objects may be undesirable; users don't need the derivation and most find the process frustrating
|
332 ;;Quote: SUIT's composite objects contain any other objects; specify how subobjects get displayed
|
332 ;;Quote: for locating properties of composite objects, SUIT checks the composition tree without checking their class properties
|
333 ;;Quote: each SUIT object is an abstract data type with optional, multiple display styles
|
333+;;Quote: a display style in SUIT may use other objects (called employees); rarely used
|
334 ;;Quote: can register an 'interest' in an object to be called on any update;e.g., to resize a button when its label changes; simpler than constraints
|
335 ;;Quote: callback-based programming was difficult to teach through SUIT; accustomed to using program flow to encode state
|
335 ;;Quote: students tended toward moded interfaces that mimic'd a command-line prompt
|
335 ;;Quote: students preferred drawing in screen pixels until they had written several custom widgets; floating point easier and more abstract
|
335 ;;Quote: most students attempted to paint during input; misunderstood separation between changing the database and painting the display
|
336 ;;Quote: students did better with modifying an example program that created a simple widget
|
336 ;;Quote: SUIT provides moded interaction via dialog boxes for askyesNo, inform, etc.; includes OK/Cancel with an interactive widget
|
337 ;;Quote: instead of using run-time look up of property names, SUIT uses C constants
|
337 ;;Quote: SUIT allows global-level properties to be locked; prevents problems from users randomly changing the properties
|
338 ;;Quote: learnability testing for SUIT by silently observing pairs of novices learning SUIT from the manual; many changes
|
339 ;;Quote: XOR for moving graphics is not very portable; e.g., fails for color displays
|
339 ;;Quote: selected objects in SUIT display black handles with a 1-pixel wide white border; always visible
|
339 ;;Quote: animation used in SUIT to focus attention, e.g., after an abrupt change
|
340 ;;Quote: SUIT uses direct manipulation (dragging) of properties; e.g., clicking on a color property produces a selection of colors
|
342 ;;Quote: geometrically hierarchical widgets in SUIT doubled its complexity while providing a slight benefit
|