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

Slides:



Advertisements
Similar presentations
(nothing to see here). First thing you need to learn is that sysadmin is about people, not technology If youre a sysadmin so you dont have to deal with.
Advertisements

The SeETL Business Presentation 1/1/2012
The Writing Process Communication Arts.
Or… How to earn brownie points with your professors.
Rapid Prototyping Dimensions and terminology Non-computer methods
Improving your paper SUGGESTIONS FOR SUCCESS. Writing = Revising  Writing IS a process  This paper WILL take hard work to get a good grade (or even.
The Writing Process.
Introduction to phrases & clauses
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Design Activities in Usability Engineering laura leventhal and julie barnes.
Automating Tasks With Macros
Past, Present and Future of User Interface Software Tools
Lecture 7 Date: 23rd February
Stanford hci group / cs376 research topics in human-computer interaction Software Tools Matt Wright Center for Computer Research.
Automating Tasks With Macros. 2 Design a switchboard and dialog box for a graphical user interface Database developers interact directly with Access.
1 Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch,
Computers They're Not Magic! (for the most part)‏ Adapted from Ryan Moore.
BALANCE & Keys to a successful year! TIME MANAGEMENT 101.
Systems Software Operating Systems.
Moodle using surveys and glossaries By Kris (feel free to decorate while I set up….I’ll get you started)
A.k.a. GUI’s.  If you want to discuss your Lab 2 grade come see me this week. ◦ Office: 436 ERB. One hour prior to class ◦ Open to Appointments MWF 
Unit 1 – Improving Productivity Jake Carey. 1.1Why did you use a computer? What other systems / resources could you have used? I used a computer to finish.
 Will help you: Use the tools of historical research and inquiry Develop organizational skills Improve your writing Learn to think critically Integrate.
How do people communicate with computers?
The Writing Process My Favorite Things.
Level 2 IT Users Qualification – Unit 1 Improving Productivity
Mr. Wilson - LMAC. Where to begin?  So, we have covered Lit Elements and Author’s Techniques; we have talked about Thesis Statements; we have discussed.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Mark Nelson What are game engines? Fall 2013
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Chapter 9 Database Management Discovering Computers Fundamental.
Introduction OF Enterprise Application Development.
11.10 Human Computer Interface www. ICT-Teacher.com.
CHAPTER FOUR COMPUTER SOFTWARE.
Se Over the past decade, there has been an increased interest in providing new environments for teaching children about computer programming. This has.
Mary Parker presented at Joint Math Meetings, Jan. 6, 2012.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
Unit 2 (task 28) In this PowerPoint I will tell you about 7 important IT job roles and if a candidate might want one what he would have to do to get one.
Designing Complex Software Systems: Introduction CS 6961 – Lecture 0 Nathan Dykman.
1 © 2001 John Urrutia. All rights reserved. Chapter 6 Graphical User Interfaces GUI’s.
Date 23 rd Jan Shatin 沙田 Mobile Information Architecture.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
Presentations and Reports. Third Week (2/2/12)  Meet at the Albertsons Library in room LIB 203  Beth Brin will demonstrate the use of several databases.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 10 1 Microsoft Office Access 2003 Tutorial 10 – Automating Tasks With Macros.
Software Development. Software Development Loop Design  Programmers need a solid foundation before they start coding anything  Understand the task.
CS 3505 Projects Assignments Projects
CRB/FEH/Questar III Distance Learning Project DL Aide - Assistant Survey 2009 – 2010 School Year... BOCES Distance Learning Program Quality Access Support.
STRESS AND INTONATION TEACHERS C1. Content and function words  Nouns : John, room, answer  Adjectives : happy, new, large, gray  Verbs : search, grow,
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
How to Improve Your Grades Are your grades rather low? Maybe it's the beginning of school, and your not getting off to a good start. Well, this easy to.
Learning From Student Projects Mark Grabe. Copyright © Houghton Mifflin Company. All rights reserved.9-2 Using Design As A Unifying Theme n Knowledge.
The problem that needs to be solved is if a computer career is for me.
Discuss First: Why is it a good idea to follow up with a thank you letter to someone?
What are some professions that use math? Hmmm… An Interactive PowerPoint for 9 th Grade Math I Designed by Jennifer Grant
BY MR.SUTCHUKORN TANTITHANAWARAPONG COMPUTER TEACHER AT POOLCHAROENWITTAYAKOM SCHOOL Subject :Operating System C30207.
Mr. Mehrotra ENG 2P0 Writing Paragraphs. Mr. Mehrotra ENG 2P0 Important Points  A paragraph must be about one thing.  This one thing should be so clear.
HNC COMPUTING - COMPUTER PLATFORMS 1 Computer Platforms Week 3 Types of Software.
CS 177 Recitation Week 1 – Intro to Java. Questions?
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
Engineering Design Capstone Research Project: Part 1 Copyright © Texas Education Agency, All rights reserved. 1.
 Understand why schools ask students to give presentations.  Understand what makes a good presentation.  Learn about structuring a presentation. 
Human Computer Interaction (HCI)
What is a CAT? What is a CAT?.
Planning Interactive Multimedia
Using Think Aloud November 18, 2009
Homework 4 Responses There was no expectation of completeness assignment – this was meant to give you the opportunities to a) start and manage a github.
Destiny Spry (Tiara Ahu)
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
How To Start Your Paper Script: Hello everyone! As a tutor, most of the students I help are either rushing to finish a paper, or struggling to even get.
Presentation transcript:

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

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

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.

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 (?)

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…

“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?

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.

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?

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…

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.

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..

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

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.

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.

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.

Final comments on this paper?

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

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?

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?

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

Final thoughts? Thanks!