Programming: Past, Present, Future


Published on

HCIC talk about the past, present and future of HCI research in programming

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Programming: Past, Present, Future

  1. 1. Discussion: The Past, Present, and Future of Programming in HCI John C. Thomas IBM T. J. Watson Research Center Snow Mountain Ranch, Colorado February 6, 2009
  2. 2. Praiseworthy Points <ul><li>An excellent overview of a complex field </li></ul><ul><li>WRT CMU work, a long-term effort </li></ul><ul><ul><li>Sometimes, it takes a long time to solve difficult problems </li></ul></ul><ul><li>Focus on a particular formulation of the problem (translation) shifting to broader concerns </li></ul><ul><li>Focus on a stance --- “naturalness” as opposed to a particular technical approach: visualization. </li></ul>
  3. 3. Pickworthy Nits <ul><li>The phrase “everyone is computing” </li></ul><ul><li>IT still not accessible to 5 of the 6 billion people on the planet </li></ul><ul><li>Expanding in a useful way provides its own set of challenges: HCI4D </li></ul><ul><li>If “good” HCI is a function of users, tasks, contexts, and technology, should we expect “an answer” to programming with good HCI? </li></ul>
  4. 4. A Formulation? <ul><li>The goal is to make it possible for people to express their ideas in the same way they think about them. </li></ul><ul><li>By “natural,” we mean “faithfully representing nature or life,” which here implies it works in the way people expect. By “natural programming” we are aiming for the language and environment to work the way that nonprogrammers expect. </li></ul>
  5. 5. A Broader View <ul><li>Translation of Internal Thinking into Computer Terms </li></ul><ul><li>Making Implicit Knowledge Explicit </li></ul><ul><li>Understanding How to Make the Computer Work Effectively and Efficiently </li></ul><ul><li>Understanding How to Solve a Problem </li></ul><ul><li>Understanding How the Program Might Interact with People, other Programs, Systems </li></ul>
  6. 6. Gary Larsson
  7. 7. Translation Difficulty is not Limited to Human- Computer <ul><li>Dance N Funk instruction: Human to Human Interaction and common confusing comments: </li></ul><ul><li>After doing a sequence like ABAB, CDCD, ABAB, EFEF, the instructor often says: </li></ul><ul><ul><li>“Let’s do that part again.” </li></ul></ul><ul><ul><li>OR </li></ul></ul><ul><ul><li>“Everything repeats.” </li></ul></ul><ul><ul><li>“I forgot. There’s an insert in there. Like this.” </li></ul></ul>
  8. 8. How do we “translate” from human intention into horse action? <ul><li>Some simple but highly evolved tooling helps (reins, saddle, stirrups). </li></ul><ul><li>Humans need to be trained…but so do the horses. </li></ul><ul><li>We do not try to get the horses to do brain surgery for us. </li></ul>
  9. 9. Making the implicit explicit
  10. 10. Ghost of Programming Past: QBE (early 1970’s) <ul><li>Query By Example allowed a one-hour training session to allow people to translate from natural language queries into QBE quickly with few errors. </li></ul><ul><li>If we took into account “formal” complexity of resulting query, student’s IQ, time, mapping ease, and their own confidence rating, we could predict 95% of the variance in errors. </li></ul><ul><li>In a later, more open-ended study, students were asked to generate their own relevant questions and the results were much poorer. </li></ul>
  11. 11. Lost Before Translation <ul><li>Students were given table structure of university data bases and then given “issues” such as: “Some of the younger faculty feel they are not paid enough relative to the older faculty.” Generate some questions relevant to this issue and translate them into QBE. </li></ul><ul><li>Typical query: “Are the older faculty paid too much?”  Print the names of people whose age is greater than 55 and whose pay is “too much.” </li></ul><ul><li>As Gary Olson pointed out Thursday morning, we may get different results if we did this study today wherein most students are Google-savvy. </li></ul>
  12. 12. Ghost of Programming Present <ul><li>High Performance Computing Project </li></ul><ul><li>Complexity Modeling </li></ul><ul><li>Rice Trial </li></ul>
  13. 13. Rice Trial <ul><li>Students given a problem and linear code and asked to parallelize in one of two languages. </li></ul><ul><li>Videotaped </li></ul><ul><li>Screen capture </li></ul><ul><li>Real time observation/coding </li></ul><ul><li>Blinded by paradigm </li></ul>
  14. 14. Ghost of Programming Future <ul><li>At Rice Trial, a lot of “expressive” gesturing from each participant </li></ul><ul><ul><li>Variations among participants </li></ul></ul><ul><ul><li>Seemingly very regular within participant </li></ul></ul><ul><li>People spent a lot of time “looking for code” despite outline views and search facilities. Scanning even with fingers to keep place. </li></ul><ul><li>People spent a lot of time using paper. </li></ul>
  15. 15. Ghost of Programming Future <ul><li>Instead of having the computer trying to infer the emotional state of users (fraught with issues) how about recognizing the appropriate sub-task or sub-goal? </li></ul><ul><li>Understand and provide better search/viewing facilities. E.g., fisheye views? </li></ul><ul><li>Provide better coordination between paper documents and notes and on-line environment. </li></ul>
  16. 16. Tools in Other Domains <ul><li>“Blank Piece of Paper” phenomenon </li></ul><ul><li>What do we do in designing house, for instance? </li></ul>
  17. 17. Given a Blank Slate …
  18. 18. Look at Worked Examples But the vast majority of people buy pre-made houses or use a professional builder.
  19. 19. Providing Different Perspectives <ul><li>Training </li></ul><ul><li>Perceptual Aids </li></ul><ul><li>Cognitive Aids </li></ul><ul><li>History </li></ul><ul><li>Pattern Languages </li></ul><ul><li>“Random” stimulation </li></ul>
  20. 20. Provide Tools to Allow New Perspectives Allowing new patterns to emerge
  21. 21. Using Physical Space to Provide Overview, Detail, Continuous Zooming, Multiple Activities <ul><li>Examples: Historical timeline of CHI conferences </li></ul><ul><li>Constructed map of the world on which to perform exercises for CHI 2008 workshop on Human Computer Interaction for International Development </li></ul><ul><li>1929 Exposition Building, the Plaza de España </li></ul><ul><li>The Plaza de España is one of Seville 's most easily recognised buildings and the epitome of the Moorish Revival in Spanish architecture . In 1929 Seville hosted the Spanish-American Exhibition and numerous buildings were constructed for the exhibition in Maria Luisa Park, among them the Plaza. </li></ul>
  22. 22. Historical Perspective Zooming, annotations
  23. 27. Viscosity? <ul><li>Imagine that new historical research indicates that ONE of the stories portrayed by a city tile is inaccurate? </li></ul><ul><li>This could be remedied with almost no effect on the other displays. </li></ul><ul><li>So…is visual programming, by necessity, highly viscous or have we just not found the right paradigm…or is it really computational paradigms themselves which are highly viscous and visual programming makes it obvious? </li></ul>
  24. 28. End User Programming <ul><li>Is EUP primarily a construction problem </li></ul><ul><li>Or a search and sense-making problem? </li></ul><ul><li>Wikipedia of programming possible? </li></ul><ul><li>Finding the definition of Chinese characters. </li></ul>
  25. 29. Must all our problems be solved on a computer?
  26. 30. These are cats watching NOT birds. There is no doubt some intrinsic pleasure in watching… but they will not get to eat any birds
  27. 31. Conclusions <ul><li>There might be important lessons for HCI and programming from fields other than HCI and programming. </li></ul><ul><li>Humans are both remarkably intelligent and remarkably flawed in their abilities to solve problems and communicate even with each other. </li></ul><ul><li>We seem to have the capacity for “theory of mind” but do not always invoke it </li></ul><ul><li>How to program may depend a lot on the domain and perhaps some domains are not best “done” by programming computers at all. </li></ul>
  28. 32. Is the glass half full or half empty? <ul><li>From the perspective of how much we’ve learned and how far we’ve come the glass is 90% full </li></ul>
  29. 33. Conclusion <ul><li>However, from the perspective of how much of the glass is actual “hard matter”, it is 99.999999999999 % empty. </li></ul><ul><li>Similarly, if we consider the gap between the best that ordinary humans can do and how effectively and efficiently we can construct software, the glass is still 99.999999999999 % empty. </li></ul>
  30. 34. References <ul><li>Carroll, J., Thomas, J.C. and Malhotra, A. (1980). Presentation and representation in design problem solving. British Journal of Psychology/ , 71 (1) , pp. 143-155. </li></ul><ul><li>Thomas, J. C. & Richards, J. T. (2008). Achieving psychological simplicity: Measures and methods to reduce cognitive complexity. In Handbook of HCI, A. Sears & J. Jacko (Eds.). Hillsdale, NJ: Erlbaum. </li></ul><ul><li>Thomas, J.C., Lyon, D. & Miller, L. (1977). Aids for problem solving. IBM Research Report. RC-6468. Yorktown Heights, NY: IBM Corporation. </li></ul><ul><li>Thomas, J. C. (1977). Cognitive psychology from the standpoint of wilderness survival. IBM Research Report, RC-6647. Yorktown Heights, NY: IBM Corporation. </li></ul><ul><li>Thomas, J.C. (1989). Problem solving by human-machine interaction. In Gilhooly K.J., (Ed). Human and machine problem solving . London: Plenum Publishing. </li></ul><ul><li>Thomas, J.C. (1988). Human factors and artificial intelligence. In H. Hartson and D. Hix (Eds.). Advances in human -computer interaction. Norwood, New Jersey: Ablex. </li></ul><ul><li>Thomas, J.C. (1983). Psychological issues in the design of data-base query languages. In M. Sime and M. Fitter (Eds.), Designing for human-computer communication. . London: Academic Press. </li></ul><ul><li>Thomas, J.C. and Carroll, J. (1978). The psychological study of design. Design Studies, 1 (1) , pp. 5-11. </li></ul><ul><li>Thomas, J. C. & Gould, J. D. (1975),A psychological study of Query By Example. National Computer Conference Proceedings, 44 , 439-445. New York: AFIPS Press. </li></ul>