toolkits and languages

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

Upload: cally-rivera

Post on 01-Jan-2016

54 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Toolkits and Languages

Toolkits and Languages

CSE 490JL Section

Dec 1st & 3rd 2004

Richard C. Davis & Kate Everitt

Page 2: Toolkits and Languages

Outline

Definitions Language Toolkit

History Evaluation

Breadth/Depth Path of least resistance Ease of Use

Future The Big Picture

Page 3: Toolkits and Languages

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”

Page 4: Toolkits and Languages

What is a Toolkit?

A set of reusable components built in a language

Language: Java Toolkits: AWT, Swing

Page 5: Toolkits and Languages

Why Build Toolkits?

Quality of interfaces Speed of creation Determines expressible applications

Page 6: Toolkits and Languages

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?

Page 7: Toolkits and Languages

History of Toolkits:UIMS UIMS

User Interface Management SystemTerm coined by David Kasik

(Boeing 1982) Early UIMS

William Newman's Reaction Handler (Imperial College, London 1966)

Smalltalk Window Manager (PARC 1974)

Page 8: Toolkits and Languages

History of Toolkits:Toolkits go “Mainstream” First Widely Adopted Toolkits

XLib (MIT, 1984)Mac Toolbox (Apple, 1984)Win16 (Microsoft 1990)

Toolkits evolveWin16->Win32->MFCXLib->Motif Widget Set

Page 9: Toolkits and Languages

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

Page 10: Toolkits and Languages

Evaluation

What do we want in a toolkit?Depth / BreadthPath of least resistanceEase of useRobustness

Page 11: Toolkits and Languages

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

Page 12: Toolkits and Languages

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

Page 13: Toolkits and Languages

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

Page 14: Toolkits and Languages

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

Page 15: Toolkits and Languages

Future

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

toolkits

Page 16: Toolkits and Languages

Discussion

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

Page 17: Toolkits and Languages

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

Page 18: Toolkits and Languages

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 Issue

Brad Myers, User Interface Software Tools, ACM Transactions on Computer-Human Interaction, Vol 2, No 1, March 1995, pp 64-103

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: CHI2004. 6(1).