Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt.

Slides:



Advertisements
Similar presentations
implementation support
Advertisements

SIMS 213: User Interface Design & Development Marti Hearst Tues, Jan 27, 2004.
Model-View Controller
For a Good User Experience UX Design Goals, Methods, Tools & Tales William Washington | Washington Kevin Makice| Indiana Kuali Student UX.
CS774 Human-Computer Interaction Lecturer: Roger D. Eastman
WebFOCUS Active Technologies: Continuing Innovation
Part 1: Introducing User Interface Design Chapter 1: Introduction –Why the User Interface Matters –Computers are Ubiquitous –The Importance of Good User.
DENIM A Brief Tutorial By Philip Luedke. Introduction An Informal Tool For Early Stage Web Site and UI Design Early Stage Web Site and UI Design DENIM.
Part 3: Design Days 15, 19, 21, 23 Chapter 8: Work Reengineering and Conceptual Design Chapter 9: Design Guidance and Design Rationale Chapter 10: Interaction.
Past, Present and Future of User Interface Software Tools
DENIM: Finding a Tighter Fit with Web Design Practice James Lin, Mark W. Newman, Jason I. Hong, James A. Landay April 6, 2000 CHI 2000, The Hague
CS147 - Terry Winograd - 1 Lecture 6 – Usability Terry Winograd CS147 - Introduction to Human-Computer Interaction Design Computer Science Department Stanford.
- List of Multimodal Libraries - (UniFr students only)
Part 3: Design Chapter 8: Work Reengineering and Conceptual Design Chapter 9: Design Guidance and Design Rationale Chapter 10: Interaction Design Chapter.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 20, 2005.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 22, 2004.
The Task-Centered Design Process figure out who's going to use the system to do what choose representative tasks for task-centered design plagiarize rough.
SIMS 213: User Interface Design & Development Marti Hearst Thurs, Jan 18, 2007.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Introduction to HCI Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development January 21, 1999.
Spring /6.831 User Interface Design and Implementation1 Lecture 6: User-Centered Design GR1 (project proposal & analysis) released today, due.
Course: Introduction to Computers
CSCI-383 Object-Oriented Programming & Design Lecture 15.
UML and Object Oriented Concepts
Evaluate the Usability of a User Interface Tool or Toolkit Assignment 1 Assignment 1 Evaluate the Usability of a User Interface Tool or Toolkit T. H Ranasinghe.
Human Computer Interaction Implementation Support.
A Visual Language for Sketching Large and Complex Interactive Designs Michael Thomsen University of Aarhus G r o u p f o r User Interface Research University.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
TC2-Computer Literacy Mr. Sencer February 8, 2010.
People: Usability COMP 101 November 12, 2014 Carolyn Seaman Amanda Mancuso Susan Martin University of Maryland Baltimore County.
Software Tools.  It accomplishes an important task  (for better and for worse) You don’t have to make it yourself, and it abstracts a set of knowledge.
Copyright © 2005, Pearson Education, Inc. Chapter 5 Software Tools and Practice.
1 Software Tools Lecture 6. CS774 – Spring Specification Methods Design requires a good notation to record and discuss alternate possibilities:
Scott Klemmer Michael Thomsen Ethan Phelps-Goodman Robert Lee James Landay 23 April 2002 ACM SIGCHI Minneapolis, MN Where Do Web Sites Come From? Capturing.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
1 CSCI E-170: L01 February 2, Lecture Plan Introduction to this class Introduction to usability GUI usability: Design Process, Principles & Bloopers.
Prof. James A. Landay University of Washington Autumn 2008 Rapid Prototyping November 10, 2008.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
Supporting rapid design and evaluation of pervasive application: challenges and solutions Lei Tang 1,2, Zhiwen Yu 1, Xingshe Zhou 1, Hanbo Wang 1, Christian.
Design 2 (Chapter 5) Conceptual Design Physical Design Evaluation
IStuff Mobile: Rapidly Prototyping New Mobile Phone Interfaces for Ubiquitous Computing Rafael Ballagas, Faraz Memon, Ren´e Reiners, Jan Borchers Media.
Generating Abstract User Interfaces from an Informal Design Adrien Coyette University of Louvain Information Systems Unit Louvain-la-Neuve BELGIUM.
1 Lecture 2: Overview of UI Software and Tools Brad Myers Advanced User Interface Software.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
Stanford hci group / cs376 u Jeffrey Heer · 26 May 2009 User Interface Toolkits.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Lecturer: Prof Jim Warren Based on Chapter 5 of The Resonant Interface HCI.
Design, Prototyping and Construction In “ pure ” waterfall, design begins after requirements development has finished However, in the real world there.
Adaptive User Interface Modelling for Web-environments T – Antti Martikainen
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
Fall UI Design and Implementation1 Lecture 17: Toolkits.
Stanford hci group / cs147 u 27 November 2007 Ubiquitous Computing & “Natural” Interaction Scott Klemmer tas: Marcello Bastea-Forte,
A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces.
ITM 734 Introduction to Human Factors in Information Systems Cindy Corritore This material has been developed by Georgia Tech HCI faculty,
Prof. James A. Landay Richard Davis Kate Everitt University of Washington Autumn 2004 UW Undergraduate HCI Projects A CSE 490jl Overview December 9, 2004.
Chapter 5 – Software Tools. 5.1 Introduction Tools valuable for –Specification –Interface Building –Evaluation.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
Sketching and Prototyping Sketches / low / medium / high fidelity prototypes – as investment in design increases (red arrow), so does the formality of.
Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins.
Stanford hci group / cs376 u Scott Klemmer · 28 November 2006 Vision- Based Interacti on.
Papier-Mache: Toolkit Support for Tangible Input HCI Group University of California Scott R. Klemmer Jack Li James Lin DUB Group University of Washington.
© MIT Students © Microsoft © MIT Students.
Support for the Development of Interactive Systems
Modern Systems Analysis and Design Third Edition
Class Announcements 1 week left until project presentations!
Chapter 4 Automated Tools for Systems Development
Tangible Interaction & Augmented Reality
I/O Toolkits Scott Klemmer · 16 November 2006.
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt

Outline Definitions Language Toolkit History Evaluation Breadth/Depth Path of least resistance Ease of Use Future The Big Picture

The Power of Language Language has value imbued in it Words of a language limit what is expressible Examples Eskimo (Inuit) words for “snow” Greek words for “love”

What is a Toolkit? A set of reusable components built in a language Language: Java Toolkits: AWT, Swing

Why Build Toolkits? Quality of interfaces Speed of creation Determines expressible applications

Discussion By this time, you have all used a wide variety of tools & languages Which belong in the hall of fame and which in the hall of shame?

History of Toolkits: UIMS UIMS User Interface Management System Term coined by David Kasik (Boeing 1982) Early UIMS William Newman's Reaction Handler (Imperial College, London 1966) Smalltalk Window Manager (PARC 1974)

History of Toolkits: Toolkits go “Mainstream” First Widely Adopted Toolkits XLib (MIT, 1984) Mac Toolbox (Apple, 1984) Win16 (Microsoft 1990) Toolkits evolve Win16->Win32->MFC XLib->Motif Widget Set

History of Toolkits: Today Desktop Windows Forms Cocoa (Mac OS X) Rapid Prototyping Visual Basic Tk (Tcl, Perl, Python) Cross-platform Swing GTK, GTK+ QT Web HTML, CSS Flash AWT, Swing

Evaluation What do we want in a toolkit? Depth / Breadth Path of least resistance Ease of use Robustness

Breadth/Depth Toolkits have value imbued in them Depth: how powerful the methods are Breadth: the coverage of the methods Methods and objects of a toolkit limit what is expressible

Path of Least Resistance Apart from what is possible, even if functionality is there, toolkits afford the creation of different kinds of programs Path of least resistance (Myers et al) Consider: Creating a webpage in flash vs html

Ease of Use: Toolkit as UI We can consider the toolkit as a UI with programmers as the users. How do standard UI principles hold for toolkits? Visibility of system status (is that object really gone?) Consistency Conceptual model Affordances Relationship to the real world

Ease of Use: Toolkit as UI Can we test the usability of toolkits? HE’s? Usability Testing? (Papier Mache) “Paper prototyping”? Papier-Mâché (Klemmer et al 2004) Heuristics Ease of Use Facilitating Reuse Schemas Yield Similar Code

Future Ubiquitous computing, Speech UI’s, Pen- based UI’s, Physical UI’s Need for new paradigms, new ideas, new toolkits

Discussion What is the importance of controlling the design of a new toolkit or language?

The Big Picture Market forces often determine the language/toolkit used in a project But engineers have some say Hard to choose a toolkit How to evaluate without programming? Toolkits are constantly changing Try to keep toolkit knowledge current Listen for other programmers’ comments Get experience with a broad range

References Brad Myers, Scott E. Hudson, and Randy Pausch, "Past, Present and Future of User Interface Software Tools," ACM Transactions on Computer Human Interaction, To Appear in the Special Millennium IssueSpecial Millennium Issue Brad Myers, User Interface Software Tools, ACM Transactions on Computer-Human Interaction, Vol 2, No 1, March 1995, pp Scott R. Klemmer, Jack Li, James Lin, and James A. Landay, Papier-Mâché: Toolkit Support for Tangible Input. CHI Letters, Human Factors in Computing Systems: CHI (1).