Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins.

Similar presentations


Presentation on theme: "Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins."— Presentation transcript:

1 Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins

2 Past, Present and Future of User Interface Software Tools Authors: Brad Myers, Scott Hudson and Randy Pausch Initial questions?

3 I keep hearing about these gooey tools, what are they? Window Managers handle window drawing, sharing, layout, overlapping, etc, and event generation (upcalls!)Window Managers handle window drawing, sharing, layout, overlapping, etc, and event generation (upcalls!) GUI/widget toolkits provide a good-cop/bad-cop choice to developers who can choose the easier-to-use (and standardized) widget-set or build their own much harder (and non-standard) graphical elements. Toolkits therefore encourage developers to build standardized applications in an efficient way.GUI/widget toolkits provide a good-cop/bad-cop choice to developers who can choose the easier-to-use (and standardized) widget-set or build their own much harder (and non-standard) graphical elements. Toolkits therefore encourage developers to build standardized applications in an efficient way. GUI interface builders, OOP, Component architectures (COM, JavaBeans, etc), hypertext, scripting languages, etc.GUI interface builders, OOP, Component architectures (COM, JavaBeans, etc), hypertext, scripting languages, etc.

4 Did they try anything else along the way? Automatic interface generation – compiled either from grammars or other modelsAutomatic interface generation – compiled either from grammars or other models Constraint-based interface descriptionsConstraint-based interface descriptions User Interface Management Systems (?)User Interface Management Systems (?)

5 So we already have lots of user interface tools – why do we need new or improved ones? 1.The ongoing diversity of computing devices 2.Interfaces using recognition of more natural human communication 3.3D computing interfaces 4.End-user programming and other stuff Let’s see…

6 “Interfaces on these very large and very small displays typically cannot use the desktop model” Do we need new a model or just some refinements to the tools and new applications?

7 What non-desktop devices do you use? Do we need a new model just for different sized devices? Maybe icons/menus/windows/etc can work with minor adjustments if they are used in a device-friendly way?What non-desktop devices do you use? Do we need a new model just for different sized devices? Maybe icons/menus/windows/etc can work with minor adjustments if they are used in a device-friendly way? It’s hard to say at this point, but it doesn’t seem like a foregone conclusion that we need a new or overhauled model.

8 What about recognition-based interfaces – how well/often are we using them already? These sound promising, why don’t we have more and better interfaces like these?

9 Because it’s hard to make good ones.. Context is very important for understanding people. But, it is much easier to build software to be context-ignorant (besides the specific tasks it is built to do).Context is very important for understanding people. But, it is much easier to build software to be context-ignorant (besides the specific tasks it is built to do). The computer is doing you a favor by speaking your language, but its not much of a favor unless it works.The computer is doing you a favor by speaking your language, but its not much of a favor unless it works. But why? Oh…

10 For example, can you read these words? How about these? Eh, no. Your second grade teacher wouldn’t be proud. Barely. But I can see that its much harder to read individual words without having the context of a sentence and a topic of discussion. It would be very difficult to make a readword.exe program.

11 Will we need new tools to handle recognition-based interfaces or can we use the existing register/event model? Seems very likely that we’ll need both new models and tools..

12 The third dimension: Do you use it? When? How? Cool -- but the paper seems to be focused on visual 3D interfaces…

13 When are visual 3D interfaces useful? When I’m goofing around in reality or virtual reality, the 3 rd dimension is very useful to me for picking bananas and swinging from trees – but I’m not sure if it can help me with my productivity applications.

14 How about these end-user programmers? Are they really different from regular users? Do we need new models for them? Hard to say, but I’m not convinced we need to build new models (and tools) for them.

15 Would you rather hit your head or stub your toe? As a general point, the article points out that most applications are either smooth for beginners (low threshold) or highly capable for advanced users (high threshold), but not both. Do you find yourself in or between these two categories? What?! Neither. Oh. I like to do everything on the command line so I can automate things after the first time -- I guess that makes me a toestubbing primate.

16 Final comments on this paper?

17 Natural Programming Languages and Environments Authors: Brad Myers, John Pane and Andy Ko Initial Comments? Video!

18 These low-threshold “natural” programming environments look pretty cool, but, like any tool, it is important to know when and why they are useful (or not). 1.Learning about software in a high-output environment? 2.Prototyping for new GUI applications? 3.High volume banking systems? 4.Personal automation within other applications? Who and what is a system like HANDS or Alice most useful for?

19 Generally, when are end-users willing to debug whatever it is they are working on? I wouldn’t want to be debugging this powerpoint presentation right now… Maybe they’re more willing to do it when its okay to have problems?

20 Is there anything more general that we might learn from this research? Investigating not just how users use their software, but how they conceive of it (the user model) could be interestingInvestigating not just how users use their software, but how they conceive of it (the user model) could be interesting Aggregate operators could be efficient both from development and runtime standpointsAggregate operators could be efficient both from development and runtime standpoints

21 Final thoughts? Thanks!


Download ppt "Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins."

Similar presentations


Ads by Google