toolkits and languages
Embed Size (px)
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 PresentationTRANSCRIPT

Toolkits and Languages
CSE 490JL Section
Dec 1st & 3rd 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 SystemTerm 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 evolveWin16->Win32->MFCXLib->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 / BreadthPath of least resistanceEase of useRobustness

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