Fall 20066.831 UI Design and Implementation1 Lecture 17: Toolkits.

Slides:



Advertisements
Similar presentations
Multiple Device User Interface A Rule Approach Paul D. Johnson Final Presentation (SE690) Supervised by Dr. Jia
Advertisements

Spring /6.831 User Interface Design and Implementation1 Lecture 10: Layout.
Understanding SWING Architecture CS 4170 UI Design Hrvoje Benko Oct. 9, 2001.
Computing Concepts Advanced HTML: Tables and Forms.
CS3157 Java UI Recitation. Material Covered: Overview of AWT components, Event Handling, creating applets, and sample UI. Not covered in recitation: Drawing,
0 CS 160: Design Process: Implement Event-based UI Programming, Model-View-Controller, and the Web Jeffrey Nichols IBM Almaden Research Center
1 GUI Elements in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Object-Oriented Analysis and Design
User Interface Toolkits Professor: Tapan Parikh TA: Eun Kyoung Choe
1 Standard Widget Toolkit. 2 SWT l a widget toolkit for Java developers l provides a portable API and tight integration with the underlying native OS.
Spring /6.831 User Interface Design and Implementation1 Lecture 8: Generating Designs.
More on Creating GUIs in Java using Swing David Meredith Aalborg University.
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
CC1007NI: Further Programming Week 5 Dhruba Sen Module Leader (Islington College)
Graphic User Interfaces Part 1. Typical GUI Screen from Microsoft Word What GUI “components” can you see? –Menus? Buttons? Labels? What else? –Anything.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Written by Liron Blecher
Systems Analysis and Design in a Changing World, 6th Edition
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
Systems Analysis and Design in a Changing World, 6th Edition
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
Sakai: Localization & Internationalization Beth Kirschner University of Michigan
Spring /6.831 User Interface Design and Implementation1 Lecture 22: Internationalization.
Software Construction Lecture 10 Frameworks
Company Confidential 1 This presentation is solely for the use of Patni personnel. No part of it may be circulated, quoted, or reproduced for distribution.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Fall UI Design and Implementation1 Lecture 9: Declarative UI.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
3461A Readings from the Swing Tutorial. 3461A Overview  The follow is the Table of Contents from the trail “Creating a GUI with JFC/Swing” in the “The.
William H. Bowers – High Level Design Torres 16.
Swing and MVCS CompSci 230 Software Construction.
Objectives of This Session
Why do we need good user interfaces?. Goals of User Interfaces Usable – how much effort to do a task? – example: often-used buttons easier to find – example:
Session 27 Swing vs. AWT. AWT (Abstract Window ToolKit) It is a portable GUI library for stand-alone applications and/or applets. The Abstract Window.
MSc Workshop - © S. Kamin, U. ReddyLect 3 - GUI -1 Lecture 3 - Graphical User Interfaces r GUI toolkits in Java API r JFrame r GUI components.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Designer Basics.
Chapter 2 – Introduction to the Visual Studio .NET IDE
Java Applets: GUI Components, Events, Etc. Ralph Westfall June, 2010.
Spring /6.831 User Interface Design and Implementation1 Lecture 9: UI Software Architecture RS1 (for 6.831G), PS1 (for 6.813U) released today,
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture 4: Graphic User Interface Graphical User Interface Larry Rudolph MIT 6.893; SMA 5508 Spring 2004.
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
CSE 403 Lecture 6 User Interface Prototyping Reading: Paper Prototyping, C. Snyder slides created by Marty Stepp
User Interface Components Lecture # 5 From: interface-elements.html.
Object-Oriented Application Development Using VB.NET 1 Chapter 10 VB.NET GUI Components Overview.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Past Computing Environments: Swing Ian Smith UI Toolkits (History Lesson) 4 Programming tools for building interfaces 4 Originally in Java you had AWT.
Chapter 28. Copyright 2003, Paradigm Publishing Inc. CHAPTER 28 BACKNEXTEND 28-2 LINKS TO OBJECTIVES Table Calculations Table Properties Fields in a Table.
3461 Course Summary COSC 3461A Fall Intro to UI Design  Course plan: Implementation, Evaluation, Design  Human Computer Interaction is an.
ARIA design patterns When UX meets a11y Funka Accessibility Day 2016.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED FORMS.
Decision Support System by Simulation Model (Ajarn Chat Chuchuen) 1 Chapter 6 User Interface Management.
DB Implementation: MS Access Forms. MS Access Forms: Purpose Data entry, editing, & viewing data in Tables Forms are user-friendlier to end-users than.
Support for the Development of Interactive Systems
Chapter 2 – Introduction to the Visual Studio .NET IDE
Java Look-and-Feel Design Guidelines
Example Program DemoLowLevelEvents.java DemoHighLevelEvents.java
DB Implementation: MS Access Forms
The structure of Interactive Software
Chapter 2 – Introduction to the Visual Studio .NET IDE
Development The Foundation Window.
DB Implementation: MS Access Forms
The Basic Usage and The Event Handling in Glade.
Windows Ribbon Framework
Advanced Programming in Java
Presentation transcript:

Fall UI Design and Implementation1 Lecture 17: Toolkits

Fall UI Design and Implementation2 UI Hall of Fame or Shame? Source: UI Hall of Shame

Fall UI Design and Implementation3 Today’s Topics Widgets Toolkit layering Internationalization

Fall UI Design and Implementation4 Widgets Reusable user interface components –Also called controls, interactors, gizmos, gadgets Widget is a view + controller –Embedded model Application data must be copied into the widget Changes must be copied out –Linked model Application provides model satisfying an interface Enables “ data-bound ” widgets, e.g. a table showing thousands of database rows, or a combo box with thousands of choices

Fall UI Design and Implementation5 Widget Pros and Cons Advantages –Reuse of development effort Coding, testing, debugging, maintenance Iteration and evaluation –External consistency Disadvantages –Constrain designer ’ s thinking –Encourage menu & forms style, rather than richer direct manipulation style –May be used inappropriately

Fall UI Design and Implementation6 Widgets for 1-of-N Choices Radio buttons Drop-down menu Single-selection listbox Toggle buttons

Fall UI Design and Implementation7 Widgets for 1-of-2 Choices Widgets for 1-of-N choices (with N=2), plus: Avoid: Checkbox Toggle button

Fall UI Design and Implementation8 Widgets for K-of-N Choices N checkboxes Multiple-selection listbox Two listboxes

Fall UI Design and Implementation9 Widgets for Commands Menubar Toolbar Context menu (right-click popup menu) Push button Hyperlink Command objects (javax.swing.Action) –action event handler –icons and labels –tooltip description –enabled state

Fall UI Design and Implementation10 Widgets for Window Organization 1-of-N panes –Tabbed panes –Listbox + changing pane Multiple content panes –Splitters Large content panes –Scroll panes

Fall UI Design and Implementation11 Widgets for Dialogs Modal dialog box Modeless dialog box Sidebar modal sheet modeless sidebars

Fall UI Design and Implementation12 Toolkits A minimal user interface toolkit provides: –Output Components (view hierarchy) Stroke drawing Pixel model –Input Event handling –Widgets Buttons, textboxes, etc.

Fall UI Design and Implementation13 Toolkit Examples Win32Java SwingHTML componentswindowsJComponentselements strokesGDIGraphics pixelsbitmapsImage inputmessageslistenersJavascript event window proc handlers widgetsbutton, menu,JButton, JMenu,, textbox, … JTextField, …, …

Fall UI Design and Implementation14 Toolkit Layering Motif XLib AthenaQtGTK+

Fall UI Design and Implementation15 Cross-Platform Toolkit Layering MS Windows AWT Motif XLib Swing Mac OS

Fall UI Design and Implementation16 Cross-Platform Widgets: AWT Approach AWT, HTML –Use native widgets, but only those common to all platforms Tree widget available on MS Win but not X, so AWT doesn ’ t provide it –Very consistent with other platform apps, because it uses the same code java.awt.ListMSWin List peer

Fall UI Design and Implementation17 Cross-Platform Widgets: Swing approach Swing, Amulet –Reimplement all widgets –Not constrained by least common denominator –Consistent behavior for application across platforms

Fall UI Design and Implementation18 Pluggable Look-and-Feel Swing also reimplements platform look- and-feel javax.swing.JListListUI delegate painting MetalListUIWindowsListUI install components & listeners

Fall UI Design and Implementation19 Cross-Platform Toolkit Layering MS Windows SWT GTK+ XLib Mac OS

Fall UI Design and Implementation20 Cross-Platform Widgets: SWT Approach SWT –Use native widgets where available –Reimplement missing native widgets

Fall UI Design and Implementation21 Cross-Platform Layering on the Web MS Windows Firefox GTK+ XLib HTML Mac OS IESafari

Fall UI Design and Implementation22 Internationalization

Fall UI Design and Implementation23 Challenges of Internationalization All user-visible text has to be translated JButton( “ OK ” ) g.drawString( “ Name: ”, … ) Many languages don ’ t read left-to-right –Arabic, Hebrew are right-to-left –Affects drawing, screen layout, even icons

Fall UI Design and Implementation24 Challenges of Internationalization Character sets and encodings –ASCII, Latin-1, Unicode, UTF-8 Sorting (collation) order –ASCII order isn ’ t even right for English –Uppercase/lowercase, accents affect order –Norwegian: … x y z æ ø å –Traditional Spanish alphabet: c, ch, d, …, l, ll, m, … Numbers –US/UK72, –France72 350,55 –Germany72.350,55 Date/time formatting –US10/31/2006(M/D/Y) –Everywhere else31/10/2006(D/M/Y)

Fall UI Design and Implementation25 Challenges of Internationalization Color conventions –White: wedding or funeral? Icons

Fall UI Design and Implementation26 Toolkit Support for Internationalization Message files –Separates messages from source code –Human translators generate a message file for each supported locale Skins –Separates images, icons, presentation rules from source code Formatting support –Numbers, dates, currency Bidirectional layout