ruby r u interfaces by b y - cs.cmu.edubam/chi-award-talk/myerschi-awardtalk2017.pdf · natural...
TRANSCRIPT
![Page 1: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/1.jpg)
RUBY: Reminiscing about User interfaces by Brad over the Years
Brad A. MyersHuman-Computer Interaction InstituteSchool of Computer ScienceCarnegie Mellon Universityhttp://www.cs.cmu.edu/[email protected]
1© 2017 – Brad A. Myers
![Page 2: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/2.jpg)
40th Anniversary!
RUBYReminiscing about User interfaces by Brad over the Years
![Page 3: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/3.jpg)
© 2017 – Brad A. Myers
3
![Page 4: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/4.jpg)
35 CHI conferences: 1982 - 2017
© 2017 – Brad A. Myers
4
![Page 5: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/5.jpg)
Lots of Badges
© 2017 – Brad A. Myers
5
![Page 6: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/6.jpg)
35 CHI conferences: 1982 - 2017
© 2017 – Brad A. Myers
6
![Page 7: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/7.jpg)
Conference ribbons
1990
(Thanks to Ben Shneidermanfor the picture)
© 2017 – Brad A. Myers
7
![Page 8: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/8.jpg)
Baby me
© 2017 – Brad A. Myers
8
![Page 9: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/9.jpg)
Brad with Hair
© 2017 – Brad A. Myers
9
![Page 10: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/10.jpg)
Nerdy me
© 2017 – Brad A. Myers
10
![Page 11: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/11.jpg)
~1974 - Teletype
© 2017 – Brad A. Myers
11By Jamie ‐ Flickr: Telex machine TTY, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=19282428
![Page 12: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/12.jpg)
MIT
© 2017 – Brad A. Myers
12
![Page 13: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/13.jpg)
Observations
© 2017 – Brad A. Myers
13
• Brad is really old…
• If you don’t keep stuff, youwon’t have it 40 years later!
![Page 14: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/14.jpg)
Spatial Data Management System (SDMS)
• ~ 1977• MIT Architecture
Machine Group• Predecessor of
MIT Media Lab
• Undergraduateresearch
© 2017 – Brad A. Myers
14Christopher F. Herot, Richard Carling, Mark Friedell, and David Kramlich. 1980. A prototype Spatial Data Management System. In Proceedings of the 7th annual conference on Computer graphics and interactive techniques (SIGGRAPH '80). ACM, New York, NY, USA, 63‐70. DOI=http://dx.doi.org/10.1145/800250.807470
![Page 15: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/15.jpg)
Xerox PARC
• Importantresearch lab
• Summer intern
© 2017 – Brad A. Myers
15Picture credit: http://www.digibarn.com/collections/locations/xerox‐parc/
![Page 16: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/16.jpg)
Smalltalk group at PARC
• Summer 1977• Systems Sciences Lab (SSL)• Alan Kay• Also: Dan Ingalls,
Adele Goldberg,Ted Kaehler,Bruce Horn, etc.
© 2017 – Brad A. Myers
16
Alan Kay
![Page 17: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/17.jpg)
XeroxAlto• 1979
© 2017 – Brad A. Myers
17
![Page 18: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/18.jpg)
Computer Sciences Lab (CSL) at PARC
• Summer 1978• Summer & Fall 1979 – Master’s Thesis• Used the “Mesa” programming language• Advised by: Dan Swinehart (PARC) and
David Reed (MIT)• Helped by: John Warnock, Ed Satterthwaite,
Butler Lampson, Warren Teitelman, Bill Paxton and Paul Rovner
© 2017 – Brad A. Myers
18
![Page 19: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/19.jpg)
19
Incense
• Displays data structures similar to howthey might be drawn on a blackboard
• Customizable
© 2017 – Brad A. Myers
![Page 20: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/20.jpg)
SIGGRAPH’83
© 2017 – Brad A. Myers
20
![Page 21: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/21.jpg)
Observations
© 2017 – Brad A. Myers
21
• It’s better not to write outand read a talk.
![Page 22: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/22.jpg)
Three Rivers Computer Corporation
• 1980-1983• Pittsburgh, PA• PERQ
workstation
© 2017 – Brad A. Myers
22
![Page 23: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/23.jpg)
© 2017 – Brad A. Myers
23
![Page 24: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/24.jpg)
Bernita
• 1982
© 2017 – Brad A. Myers
24
![Page 25: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/25.jpg)
Bernita
• 1982• 35 years!
© 2017 – Brad A. Myers
25
![Page 26: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/26.jpg)
Sapphire for PERQ
• 1983• SAPPHIRE
ScreenAllocationPackageProvidingHelpfulIcons andRectangularEnvironments
© 2017 – Brad A. Myers
26
![Page 27: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/27.jpg)
1983 - 1987
© 2017 – Brad A. Myers
27
![Page 28: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/28.jpg)
Percent-Done Progress Indicators
• CHI’1985 paper
© 2017 – Brad A. Myers
28Static busy signals Progress indicators are better
![Page 29: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/29.jpg)
Two-Handed Input[Buxton and Myers, CHI’1986]
© 2017 – Brad A. Myers
29
![Page 30: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/30.jpg)
Taxonomy, 1986
• Programming byExample vs. withExample
• Visual Programming vs. Program Visualization
© 2017 – Brad A. Myers
30
![Page 31: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/31.jpg)
Observations
© 2017 – Brad A. Myers
31
• A good taxonomy or survey can be a nice contribution
![Page 32: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/32.jpg)
Peridot, 1986-87
• PERIDOTProgramming byExample forReal-timeInterfaceDesignObviatingTyping
© 2017 – Brad A. Myers
32
CC BY‐SA 3.0, https://commons.wikimedia.org/w/index.php?curid=996283
![Page 33: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/33.jpg)
Peridot, 1986-87
© 2017 – Brad A. Myers
33
![Page 34: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/34.jpg)
Observations
© 2017 – Brad A. Myers
34
• If you are first, then you can just show“it can be done”
• To show “better” requires different evidence• User study or measurements
• Showing it can be used by certain users• Depends on what you want to claim
![Page 35: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/35.jpg)
Observations
© 2017 – Brad A. Myers
• Having kids while a graduate student can work out since you have more flexible time than when you are a professor.
Ryan Myers was born in Toronto, Canada inAugust, 1985
Peridot
![Page 36: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/36.jpg)
My Four Sons, 1993
© 2017 – Brad A. Myers
36
![Page 37: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/37.jpg)
Family Today
• 2016
© 2017 – Brad A. Myers
37
![Page 38: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/38.jpg)
Carnegie Mellon University, 1987…
• 30 years this summer!
© 2017 – Brad A. Myers
38
![Page 39: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/39.jpg)
Garnet, 1988 - 1994
• GARNETGenerating anAmalgam ofReal-time,NovelEditors andToolkits
© 2017 – Brad A. Myers
39
![Page 40: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/40.jpg)
Prototype-Instance Object System
• Any object can be the prototype for other objects
• Now used by JavaScript• Changes to prototype
propagate• Structural inheritance
© 2017 – Brad A. Myers
40
![Page 41: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/41.jpg)
Constraints
• Values automatically computed based on dependencies
• Connect graphics• Showed useful for copying values
• “Data bindings”• Introduced “pointer variables” for
constraints• E.g., “same size as
whatever is selected”
© 2017 – Brad A. Myers
41
![Page 42: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/42.jpg)
Retained Object Model
• “Display list” for graphics• Automatically handles
refresh• Like DOM for web pages
today
© 2017 – Brad A. Myers
42
![Page 43: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/43.jpg)
“Interactors” Input Model
• Parameterized objects for each kind of behavior
• Key behaviors used in GUIs• Independent of the graphics• Reusable for all interactions• Never need to write event
handlers• Concept used by
Adobe Flash Catalyst, etc.© 2017 – Brad A. Myers
43
![Page 44: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/44.jpg)
Higher Level Tools in Garnet
LAPIDARYLisp-basedAssistant forPrototypingInterfaceDesignsAllowingRemarkableYield
© 2017 – Brad A. Myers
JADEJudgment-basedAutomaticDialogEditor
GILTGraphicalInterfaceLayoutTool
AGATEAGesture-recognizerAndTrainer byExample
MARQUISEMostlyAutomated,RemarkablyQuickUserInterfaceSoftwareEnvironment
![Page 45: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/45.jpg)
C32
• CHI’1991
© 2017 – Brad A. Myers
45
C32CMU's Clever and Compelling Contribution to Computer Science in CommonLisp which is Customizable and Characterized by a Complete Coverage of Code and Contains a Cornucopia of CreativeConstructs, because it Can Create Complex, Correct Constraints that are Constructed Clearly and Concretely, andCommunicated using Columns of Cells, that are Constantly Calculated so they Change Continuously, and Cancel Confusion.
![Page 46: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/46.jpg)
Silk
• James LandayPhD, 1996
• SILKSketchingInterfacesLikeKrazy
© 2017 – Brad A. Myers
46
![Page 47: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/47.jpg)
3 Generations of CHI Academy
• Baecker, Buxton, Myers, Landay© 2017 – Brad A. Myers
47
![Page 48: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/48.jpg)
Programming By DemonstrationTOURMALINEText-formattingOught toUse andRely onMacrostylesAndLayoutInferredNicely byExample
© 2017 – Brad A. Myers
GAMUTGamesAreMadeUsingThis
![Page 49: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/49.jpg)
Programming By DemonstrationTOURMALINEText-formattingOught toUse andRely onMacrostylesAndLayoutInferredNicely byExample
© 2017 – Brad A. Myers
GOLDGraphs andOutputLaid-out byDemonstration
GAMUTGamesAreMadeUsingThis
![Page 50: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/50.jpg)
All the Widgets,CHI’1990
• Scroll Bars• Menus• Palettes• Command Buttons• Radio Buttons• Check Boxes• Text Selection• Basic Text Editing• Dialog Boxes• Selecting Graphics• Basic Editing of Graphics• Desktops• Window Manager
Commands© 2017 – Brad A. Myers
50
![Page 51: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/51.jpg)
Amulet: 1994 – 1998
© 2017 – Brad A. Myers
51
• AMULETAutomaticManufacture ofUsable andLearnableEditors andToolkits
![Page 52: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/52.jpg)
Command Objects
• TOPAZTranscriptsOfProgramsActivated withZeal
© 2017 – Brad A. Myers
52
![Page 53: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/53.jpg)
Pebbles, 1998 -
• PEBBLESPDAs forEntry ofBothBytes andLocations fromExternalSources
© 2017 – Brad A. Myers
53
![Page 54: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/54.jpg)
Pebbles Projects
© 2017 – Brad A. Myers
54
![Page 55: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/55.jpg)
Pebbles Projects
• Command Post of the Future• Successful DARPA program• Expected to be about speech/gestures• Actual issues were mainly
situation awareness• Including connected mobile
devices
© 2017 – Brad A. Myers
55
![Page 56: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/56.jpg)
Personal Universal Controller (PUC)
• Jeff Nichols PhD, 2006
© 2017 – Brad A. Myers
56
Specifications
Control
Feedback
![Page 57: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/57.jpg)
Personal Universal Controller (PUC)
© 2017 – Brad A. Myers
570
200
400
600
800
1000
1200
1400
HP HP-PUC HP-Consistent
Canon Canon-PUC Canon-Consistent
Aver
age
Tim
e (s
ec)
![Page 58: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/58.jpg)
EdgeWrite
• Jake Wobbrock,PhD, 2006
© 2017 – Brad A. Myers
58
![Page 59: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/59.jpg)
Sugilite
• Current PhD work of Toby Li• See our paper, Thurs, 11:30 - 12:50 in Room 203
• SUGILITE(come tothe talk tosee what itstands for!)
© 2017 – Brad A. Myers
59
![Page 60: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/60.jpg)
Natural Programming, 1995-
• Make programming easierand more correct by making it more natural• Closer to the way that people think
about algorithms and solving their tasks
• Novice, expert, and“end-user”programmers
© 2017 – Brad A. Myers
60
90,000,000
55,000,000
13,000,0006,000,000 3,000,000
0
20,000,000
40,000,000
60,000,000
80,000,000
100,000,000
Users Spreadsheets andDBs
Self-DescribedProgrammers
Scientists &Engineers
ProfessionalProgrammers
[Scaffidi, Shaw and Myers 2005]
![Page 61: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/61.jpg)
HCI Study of Programmers
Copyright © 2012 – Brad A. Myers
1973 1980
![Page 62: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/62.jpg)
Allen Newell and Stuart Card, 1985
• “Millions for compilers but hardly a penny for understanding human programming language use. Now, programming languages are obviously symmetrical, the computer on one side, the programmer on the other. In an appropriate science of computer languages, one would expect that half the effort would be on the computer side, understanding how to translate the languages into executable form, and half on the human side, understanding how to design languages that are easy or productive to use.... The human and computer parts of programming languages have developed in radical asymmetry.”
© 2017 – Brad A. Myers
62
![Page 63: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/63.jpg)
Observations:
© 2017 – Brad A. Myers
63
• Intuitions of programmers about what would be helpful are often wrong
• Need to do studies of programmers
![Page 64: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/64.jpg)
Program Complexity and Sophistication
Goal: Gentle Slope Systems
Difficultyof
Use
Goal
Flash
ActionScript
C Programming
Visual Basic
Basic
C or C# ProgrammingSwing
Java
LowThreshold
HighCeiling
64© 2013 – Brad A. Myers
Web Development
CSS & HTML
JavaScript
editor
Server-side
![Page 65: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/65.jpg)
Making Programming Easier
© 2013 – Brad A. Myers
65
• Key focus of most of my research• Life-long pursuit
![Page 66: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/66.jpg)
HANDS
• John Pane, PhD 2002• HANDS
Human-CenteredAdvances forNoviceDevelopment ofSoftware
© 2017 – Brad A. Myers
66
![Page 67: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/67.jpg)
Lapis
• Rob Miller, PhD 2002• LAPIS
LightweightArchitecture forProcessingInformationStructure
© 2017 – Brad A. Myers
67
By Hannes Grobe ‐ Own work, CC BY‐SA 2.5, https://commons.wikimedia.org/w/index.php?curid=3415430
• Informal parsingand reuse of semi-structured text databases
• Simultaneous editing• Outlier
finding
![Page 68: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/68.jpg)
Whyline
• Andy Ko, PhD, 2008• WHYLINE
Workspace thatHelpsYouLinkInstructions toNumbers andEvents
© 2017 – Brad A. Myers
68
• Causes of software defects• Understanding software
maintenance tasks• Working sets when
programming• Navigation takes 35% of the
time
![Page 69: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/69.jpg)
Whyline
© 2017 – Brad A. Myers
69
![Page 70: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/70.jpg)
Crystal
• Ask “why” for everything else!• CRYSTAL
ClarificationsRegardingYourSoftware using aToolkit,Architecture andLanguage
© 2017 – Brad A. Myers
70
![Page 71: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/71.jpg)
Understanding Unfamiliar Code
• Thomas LaToza, PhD 2012• Hard to answer questions about code:
• Control flow = “reachability”• 100s of others
• “Reacher” visualizes exactlythe paths of interest
© 2017 – Brad A. Myers
71
![Page 72: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/72.jpg)
Backtracking During Editing
• YoungSeok Yoon, PhD 2015• AZURITE
AddingZest toUndoing andRestoringImprovesTextualExploration
© 2017 – Brad A. Myers
72
![Page 73: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/73.jpg)
Observations
© 2017 – Brad A. Myers
73
• Viewing the code is central!• Visualizations of code are mostly useful as
navigation aides
• Search is useful across many dimensions, e.g.:• Search along control flow• Search backwards in time
![Page 74: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/74.jpg)
API Usability
• Jeff Stylos, PhD 2009• Application Programming Interface
• Libraries, frameworks, SDKs, …• Now: web services, middleware, …• User interface between programmer and functionality
in code• Patterns that decrease usability• New documentation tools to compensate© 2017 – Brad A. Myers
74
![Page 75: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/75.jpg)
API Usability ToolsMICAMakesInterfacesClear andAccessible
© 2017 – Brad A. Myers
APATITEAssociativePerusing ofAPIsThatIdentifiesTargetsEasily
CALCITEConstructionAndLanguageCompletionIntegratedThroughoutEclipse
JADEITEJavaAPIDocumentation withExtraInformationTacked-on forEmphasis
EUKLASEclipseUsers’KeystrokesLessened byAttachingSamplesGRAPHITE
GRAphicalPalettesHelpInstantiateTypes in theEditor
DACITEDesignAnnotations forComplementingInterfacesTargetingEffectiveness
![Page 76: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/76.jpg)
Glacier and Obsidian
• GLACIERGreatLanguagesAllowClassImmutabilityEasily andReadily
© 2017 – Brad A. Myers
76
• OBSIDIANObject-orientedBlockchainStateInteraction andDevelopmentImplementationAndNotation
• Michael Coblenz’s PhD work• Key Goal: Design more usable
programming languages• Glacier:
• Immutability – declare that instances cannot change after constructed
• Obsidian:• Easier blockchain programming
![Page 77: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/77.jpg)
InterState
• Stephen Oney, PhD 2015
© 2017 – Brad A. Myers
77
![Page 78: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/78.jpg)
Gneiss
• Kerry Chang, PhD 2016• GNEISS
GatheringNovelEnd-UserInternetServices usingSpreadsheets
© 2017 – Brad A. Myers
78
![Page 79: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/79.jpg)
Variolite
• Current PhD work of Mary Beth Kery• See our paper, Tuesday, 9:30 - 10:50 in Room 111/113
• VARIOLITE(come tothe talk tosee what itstands for!)
• Exploratory Programming© 2017 – Brad A. Myers
79
![Page 80: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/80.jpg)
Observations
© 2017 – Brad A. Myers
80
• Always make a video – demos will stop working
• Having a group culture, fun "signature", e.g. for acronyms and gemstones, ribbons
• One good idea makes attending a conference or reading an article worthwhile
![Page 81: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/81.jpg)
Thanks!
• Funding from Xerox PARC, UofT Fellowship, DARPA, NSF, NIH, Microsoft, SAP, Google, Adobe, IBM, Apple, and many others
• My wife and family• My mentors, colleagues, and especially the
hundreds of students• Bachelors, Masters, and PhD at CMU
© 2017 – Brad A. Myers
81
![Page 82: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/82.jpg)
Advisee tree
© 2017 – Brad A. Myers
82
Thanks to: Fred Hohman (gen. 5),Robert Pienta (gen. 5), andPolo Chau (gen. 4) for animationand ribbon design
See: http://tinyurl.com/myersadviseetree
Generation Count1 Me2 163 614 715 226 2
TOTAL 172
![Page 83: RUBY R U interfaces by B Y - cs.cmu.edubam/CHI-award-talk/MyersCHI-AwardTalk2017.pdf · Natural Programming, 1995-• Make programming easier and more correct by making it more natural](https://reader033.vdocument.in/reader033/viewer/2022042302/5ecdd73c489b0621d43a704e/html5/thumbnails/83.jpg)
RUBY: Reminiscing about User interfaces by Brad over the Years
Brad A. MyersFor More information:• Brad’s home page: bradamyers.com• Brad’s 66 acronyms: http://www.cs.cmu.edu/~bam/acronyms.html• Brad’s 172 advisees tree: http://tinyurl.com/myersadviseetree83© 2017 – Brad A. Myers