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

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

description

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.

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

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

Tools for the Tool Tools for the Tool MakersMakers

CS 376, Fall 2005CS 376, Fall 2005Kevin CollinsKevin Collins

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

Past, Present and Future of User Past, Present and Future of User Interface Software ToolsInterface Software Tools

Authors: Brad Myers, Scott Hudson and Randy Authors: Brad Myers, Scott Hudson and Randy PauschPausch

Initial questions?Initial questions?

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

I keep hearing about these I keep hearing about these gooey tools, what are they?gooey tools, what are they?

• Window Managers handle window drawing, sharing, layout, Window Managers handle window drawing, sharing, layout, overlapping, etc, and event generation (upcalls!)overlapping, etc, and event generation (upcalls!)

• GUI/widget toolkits provide a good-cop/bad-cop choice to GUI/widget toolkits provide a good-cop/bad-cop choice to developers who can choose the easier-to-use (and standardized) developers who can choose the easier-to-use (and standardized) widget-set or build their own much harder (and non-standard) widget-set or build their own much harder (and non-standard) graphical elements. Toolkits therefore encourage developers to graphical elements. Toolkits therefore encourage developers to build standardized applications in an efficient way.build standardized applications in an efficient way.

• GUI interface builders, OOP, Component architectures (COM, GUI interface builders, OOP, Component architectures (COM, JavaBeans, etc), hypertext, scripting languages, etc.JavaBeans, etc), hypertext, scripting languages, etc.

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

Did they try anything Did they try anything else along the way?else along the way?

•Automatic interface generation – compiled Automatic interface generation – compiled either from grammars or other modelseither from grammars or other models

•Constraint-based interface descriptionsConstraint-based interface descriptions

•User Interface Management Systems (?)User Interface Management Systems (?)

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

So we already have lots of So we already have lots of user interface tools – why user interface tools – why do we need new or do we need new or improved ones?improved ones?

1.1. The ongoing diversity of computing devicesThe ongoing diversity of computing devices2.2. Interfaces using recognition of more natural Interfaces using recognition of more natural

human communicationhuman communication3.3. 3D computing interfaces3D computing interfaces4.4. End-user programming and other stuffEnd-user programming and other stuff

Let’s see…Let’s see…

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

““Interfaces on these very Interfaces on these very large and very small displays large and very small displays

typically cannot use the typically cannot use the desktop model”desktop model”

Do we need new a model or just some Do we need new a model or just some refinements to the tools and new applications?refinements to the tools and new applications?

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

• What non-desktop devices do you What non-desktop devices do you use? Do we need a new model just use? Do we need a new model just for different sized devices? Maybe for different sized devices? Maybe icons/menus/windows/etc can work icons/menus/windows/etc can work with minor adjustments if they are with minor adjustments if they are used in a device-friendly way?used in a device-friendly way?

It’s hard to say at this It’s hard to say at this point, but it doesn’t point, but it doesn’t seem like a foregone seem like a foregone conclusion that we conclusion that we need a new or need a new or overhauled model.overhauled model.

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

What about recognition-based What about recognition-based interfaces – how well/often interfaces – how well/often are we using them already?are we using them already?

These sound promising, why These sound promising, why don’t we have more and don’t we have more and better interfaces like these?better interfaces like these?

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

Because it’s hard to make good Because it’s hard to make good ones..ones..

• Context is very important for understanding people. But, it is Context is very important for understanding people. But, it is much easier to build software to be context-ignorant (besides much easier to build software to be context-ignorant (besides the specific tasks it is built to do).the specific tasks it is built to do).

• The computer is doing you a favor by speaking your The computer is doing you a favor by speaking your language, but its not much of a favor unless it works.language, but its not much of a favor unless it works.

But why?But why?

Oh…Oh…

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

For example, can you read these words?For example, can you read these words?

How about these?How about these?

Eh, no. Your second grade Eh, no. Your second grade teacher wouldn’t be proud.teacher wouldn’t be proud.

Barely. But I can see that its much Barely. But I can see that its much harder to read individual words harder to read individual words without having the context of a without having the context of a sentence and a topic of discussion. It sentence and a topic of discussion. It would be very difficult to make a would be very difficult to make a readword.exe program.readword.exe program.

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

Will we need new tools to Will we need new tools to handle recognition-based handle recognition-based

interfaces or can we use the interfaces or can we use the existing register/event model?existing register/event model?

Seems very likely that Seems very likely that we’ll need both new we’ll need both new models and tools..models and tools..

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

The third dimension: Do you use The third dimension: Do you use it? When? How?it? When? How?

Cool -- but the paper Cool -- but the paper seems to be focused on seems to be focused on visualvisual 3D interfaces… 3D interfaces…

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

When are When are visualvisual 3D interfaces 3D interfaces useful?useful?

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

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

Would you rather hit your head or stub Would you rather hit your head or stub your toe?your toe?

As a general point, the article points out that most applications are either As a general point, the article points out that most applications are either smooth for beginners (low threshold) or highly capable for advanced smooth for beginners (low threshold) or highly capable for advanced users (high threshold), but not both. Do you find yourself in or users (high threshold), but not both. Do you find yourself in or between these two categories?between these two categories?

What?! Neither.What?! Neither.

Oh. I like to do everything on the Oh. I like to do everything on the command line so I can automate command line so I can automate things after the first time -- I things after the first time -- I guess that makes me a guess that makes me a toestubbing primate.toestubbing primate.

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

Final comments on this paper?Final comments on this paper?

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

Natural Programming Languages Natural Programming Languages and Environmentsand Environments

Authors: Brad Myers, John Pane and Andy KoAuthors: Brad Myers, John Pane and Andy Ko

Initial Comments?Initial Comments?

Video!Video!

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

These low-threshold “natural” These low-threshold “natural” programming environments look programming environments look pretty cool, but, like any tool, it is pretty cool, but, like any tool, it is important to know when and why important to know when and why they are useful (or not).they are useful (or not).

1.1. Learning about software in a high-output Learning about software in a high-output environment?environment?

2.2. Prototyping for new GUI applications?Prototyping for new GUI applications?

3.3. High volume banking systems?High volume banking systems?

4.4. Personal automation within other applications?Personal automation within other applications?

Who and what is a system like HANDS or Who and what is a system like HANDS or Alice most useful for?Alice most useful for?

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

Generally, when are end-users Generally, when are end-users willing to debug whatever it is willing to debug whatever it is

they are working on?they are working on?

I wouldn’t want to be I wouldn’t want to be debugging this powerpoint debugging this powerpoint presentation right now…presentation right now…

Maybe they’re more willing Maybe they’re more willing to do it when its okay to to do it when its okay to have problems?have problems?

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

Is there anything more general that Is there anything more general that we might learn from this research?we might learn from this research?

•Investigating not just how users Investigating not just how users use their software, but how they use their software, but how they conceive of it (the user model) conceive of it (the user model) could be interestingcould be interesting

•Aggregate operators could be Aggregate operators could be efficient both from development efficient both from development and runtime standpointsand runtime standpoints

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

Final thoughts?Final thoughts?

Thanks!Thanks!