direct ct manipulation
play

Direct ct Manipulation No screens Say your name Prof. Lydia - PowerPoint PPT Presentation

Direct ct Manipulation No screens Say your name Prof. Lydia Chilton COMS 4170 5 February 2018 Goal 1 Build websites that suit the needs and abilities of users To accomplish a goal , users must execute an operation and evaluate the result Co


  1. Direct ct Manipulation No screens Say your name Prof. Lydia Chilton COMS 4170 5 February 2018

  2. Goal 1 Build websites that suit the needs and abilities of users To accomplish a goal , users must execute an operation and evaluate the result

  3. Co Comp mputers : Tools for Calculation

  4. 1963: First Graphical User Interface Ivan Sutherland’s CAD software, Sketchpad

  5. 1968: Interaction devices for computer use. Douglas Engelbart’s mouse

  6. Dir Direct ct M Man anip ipula latio ion Properties 1. Objects are represented visually 2. Actions are rapid, incremental and reversible 3. User interacts directly with object representations

  7. ion Properties Dir Direct ct M Man anip ipula latio 1. Objects are represented visually 2. Actions are rapid, Move to trash Resize Move viewport incremental and reversible 3. User interacts directly with object representations

  8. Is this direct manipulation?

  9. Is this direct manipulation? Not direct manipulation Direct manipulation

  10. Wh Why y can n Direct Mani nipul pulation n be be good? d? 1. Objects are represented visually 2. Actions are rapid, Move to trash Resize Move viewport incremental and reversible 3. User interacts directly with object representations

  11. Wh Why y can n Direct Mani nipul pulation n be be good? d? There are visible actions There is visible feedback the user can execute the user can evaluate

  12. Wh Why y can n Direct Mani nipul pulation n be be good? d? There are visible actions There is visible feedback the user can execute the user can evaluate Direct manipulation interfaces are usable because they have executable actions and evaluate- able feedback to achieve a goal

  13. Affordances

  14. Af Afforda danc nce: Wha What can n do do you u wi with h thi his? s? Perceived Affordance Sitting Signifier Flat part at knee-height Back panel for support Sturdy wood Butt indentation Feedback Test sitting on it. Affordance Sitting

  15. Afforda Af danc nce: Wha What can n do do you u wi with h thi his? s? Perceived Affordance Sitting Signifier Flat part at knee-height Back panel for support Possibly sturdy cans? Feedback Test sitting on it. Affordance NOT sitting

  16. Af Afforda danc nce: Wha What can n do do you u wi with h thi his? s? Perceived Affordance Pull Signifier A handle you can grasp and yank Feedback Yanking it Affordance NOT pull (push)

  17. Af Afforda danc nce: Wha What can n do do you u wi with h thi his? s? Perceived Affordance Push Signifier A handle you can lean your weight onto And push Feedback Pushing it depresses the handle Affordance Push

  18. Af Afforda danc nce: Wha What sho shoul uld d do do you u wi with h thi his? s? Perceived Affordance Put paper in it Signifier Paper sized hole Feedback None. Affordance Bottles and cans

  19. Design direct manipulation interfaces by signaling affordances with signifiers users can perceive Bad signifiers / wrong perceived affordances Good signifiers / correct perceived affordances

  20. What signifiers do these UIs use to signal affordances?

  21. What are the signifiers of affordances?

  22. What are the signifiers of affordances?

  23. What are the signifiers of affordances?

  24. What are the signifiers of affordances?

  25. What are the signifiers of affordances?

  26. Design direct manipulation interfaces by signaling affordances with signifiers users can perceive Bad signifiers / wrong perceived affordances Good signifiers / correct perceived affordances

  27. Implementing Direct Manipulation Interfaces

  28. ion Properties Dir Direct ct M Man anip ipula latio 1. Objects are represented visually 2. Actions are rapid, Click incremental and reversible 3. User interacts directly with object representations

  29. What will this do when you click it? HTML

  30. Add Click events with JQuery HTML JavaScript

  31. How do we attach an action to the button? HTML JavaScript

  32. How do we increment the counter???? HTML JavaScript

  33. NOT to increment the count? How NO HTML JavaScript Get the button text: “Counter (0)” Extract the data from from the text Cast to a number and add one Replace the button text: “Counter (1)”

  34. TO increment the count? How TO HTML JavaScript Create a model of the data separate from the HTML Create a function that can set the counter data to the view When the page first loads, set the counter to 0 When the counter is clicked, modify the data, then update the view

  35. Good UI programming separates the da data model from the vie view and controller Bad JavaScript Good JavaScript

  36. ion Properties Dir Direct ct M Man anip ipula latio 1. Objects are represented visually 2. Actions are rapid, incremental and reversible Drag and Drop 3. User interacts directly with object representations

  37. How to NOT implement this?

  38. Step 1. Create the Data Model

  39. Step 2. Create a function that updates the view with new data

  40. Step 3. On page load, create view

  41. Step 4. Attach an event to the object. It should update the data, then update the view

  42. Good UI programming separates the da data model from the vie view and co controller

  43. Good UI programming separates the da data model from the vie view and co controller

  44. Good UI programming separates the da data model from the vie view and co controller

  45. Good UI programming separates the da data model from the vie view and co controller

  46. Summary

  47. ion Properties Dir Direct ct M Man anip ipula latio 1. Objects are represented visually 2. Actions are rapid, Move to trash Resize Move viewport incremental and reversible 3. User interacts directly with object representations

  48. Signal affordances with signifiers the user can perceive NOT this THIS Handle that can be leaned on Signifier Signifier Handle that can be yanked toward you Perceived affordance Push Perceived affordance Pull Push Affordance Push Affordance

  49. Direct manipulation interfaces are usable because they suit the 7 stages of action There are visible actions There is visible feedback the user can execute the user can evaluate

  50. When implementing Direct Manipulation: Create an object Add an event handler Modify the data , in the view to respond to user’s actions then update the view It is important to separate the data (or model) from the view and the controller.

Recommend


More recommend