Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt."— Presentation transcript:

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

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

3 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”

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

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

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

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

8 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

9 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

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

11 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

12 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

13 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

14 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

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

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

17 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

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


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

Similar presentations


Ads by Google