SlideShare a Scribd company logo
1 of 38
Software Tools
Fall 2002
Outline
 Introduction
 Specification Methods
 Interface Building Tools
 Toolkits and Languages
 Evaluation Tools
Introduction
 Building interfaces that are usable by a
wide audience is hard
 ethnography
 participatory design
 UI architects need to simply and quickly
sketch a proposed interface
 for example, the W model requires frequent
prototypes
Introduction
 By designing and showing the UI before
the application itself is built, the application
will end up with a more consistent UI
 By being able to unambiguously describe
a UI and its transitions, the UI can be
discussed and modeled
Specification Methods
 Natural Language Specifications
 Ambiguous
 Easy
 Formal Specifications
 Unambiguous
 Defined grammar
 Ability to prove a specification is a valid
construct within the grammar
Specification Methods
 Grammars
 Menu Trees
 Transition Diagrams
 State Charts
BNF
 Backus-Naur Form
 <non-terminal> ::= <non-terminals> terminals
 i.e., a telephone number is represented by
 tel-num ::= (<area-code>) <exchange>-<local-
number>
 area-code ::= <digit><digit><digit>
 exchange ::= <digit><digit><digit>
 local-number ::= <digit><digit><digit><digit>
 digit ::= 0|1|2|3|4|5|6|7|8|9
BNF
 Incomplete
 Good to specify format, but fails to specify
content, such as valid exchanges or area
codes
 A second level of software is used to validate
content.
 Complex
 As a BNF grammar grows, it becomes very
complex and difficult to follow or change
Unix Command Structure
 Variant of BNF
 All capital letters is a non-terminal
 Non-terminal format is assumed
 Brackets denote optional arguments
 Ellipsis (…) denote “-or-more”
 [OPTION]… is 0 or more (Kleene closure or *-closure)
 SOURCE… is 1 or more (+-closure)
cp
 From a Debian 3.0r0 machine:
cp [OPTION]... SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... --target directory=DIRECTORY
SOURCE…
Other Variant Grammars
 make
JAVAC = /usr/bin/jikes
JAVA_HOME = /usr/lib/jsdk1.3
all: thyme-core chat swab
thyme-core:
$(MAKE) -f thyme-core/Makefile
chat:
$(MAKE) -f chat/Makefile
swab:
$(MAKE) -f swab/Makefile
Other Grammars
 XML
<?xml version=“1.0”?>
<system spec-file-version=“2.0”>
<init class=“some.init.InitComponent”/>
<parameters>
<parameter name=“tcc.init.classid”
value=“some.room.RoomComponent”/>
</parameters>
</system>
Multiparty Grammars
 Used for showing interaction between
more than one party (Shneiderman, 1982)
 Non-terminals labeled by the party which
generates it (i.e., U for user and C and
computer)
 Effective for text-oriented command
sequences which have repeated
exchanges
Multiparty Grammars
 Example
<Session> ::= <U: Opening> <C: Responding>
<U: Opening> :: LOGIN <U: Name>
<U: Name> :: <U: string>
<C: Responding> :: HELLO [<U: Name>]
Selection Trees
 Branching interaction
 Each tree node will branch to one or more
possibilities.
 Not necessarily a strict tree
 Acyclic
 Cyclic
 Tree
 Menu Selection Trees
 Dialog Selection Trees
Transition Diagrams
 More complete and general than selection trees
 general enough to show the complete interaction with
an application
 Directed graph
 Nodes represent states
 Links between nodes represent actions and the
application’s response
 NFA
 Becomes cumbersome as the represented
interaction grows.
State Charts
 Harel, 1988
 Extension of transition diagrams where related
actions are grouped into a subgraph (modularity)
 Only effective where the subgraphs have single
points of entry and exit
 For example, all bank transactions are within a
group. Then within that group, there are
separate groups for verification, withdrawal and
deposit.
User-Action Notation (UAN)
 Chase et. al., 1994
 Grammars and State diagrams fail to deal
with direct manipulation interfaces
 A user’s intended action depends on context
 Context can change quickly during runtime
 UAN is a high-level notation that focus a
user’s direct manipulation task (pointing,
dragging and clicking in WIMP interfaces)
UAN
 Syntax involves a user action, interface
feedback and interface state. i.e., deleting
a file:
User Action Interface Feedback Interface State
~[file], Mv file!, forall(file!):
file-!
selected = file
~[x,y]* outline(file) > ~
~[trash] outline(file) > ~,
trash!
M^ erase(file), trash!! selected = null
UAN
 ~ is the cursor. M is the mouse
 ~[object] is cursor movement to the specified
object (i.e., icon)
 object > ~ means move the object to the cursor
 Mv is press the mouse button
 M^ is release the mouse button
 object! is highlight the object
 object!! is dehighlight the object
Specification Methods
The Message
 grammars programatically specify the interface
actions available but fail to specify interaction.
 Selection trees show transitions between menu
items or dialogs
 Transition diagrams show transitions between
states for a complete application
 State charts group related actions into groups,
making the transition diagrams easier to follow
 UAN provides a notation to specify direct
manipulation tasks
Interface Building Tools
 Writing an application requires agreement
of several parties on the UI
 managers need to approve the design
 UI architects need to build it
 programmers need to be aware what they are
programming to
 users are asked for opinions on the interface
Interface Building Tools
 Let an interface be prototyped rapidly
 Let an interface be built by a non-
programmer
 Allow the application to be built using the
prototyped interface
Interface Building Tools
 Benefits of using interface building tools
 User-interface independence
 Separate presentation from logic
 Prototype multiple user interfaces
 Multiple-platform support
 Domain expert as user-interface architect
 Enforce standards
 Methodology and Notation
 Develop design methodology
 Talk about design
 Project management
Interface Building Tools
 Rapid prototyping
 Build and use multiple versions up front
 Low cost test, revise, test
 Usable user interfaces for users, managers and
customers to see and use early
 Software support
 Productivity
 Constraint and consistency checks
 Ease of maintenance
 Teams
Design Tools
 Slide Show
 paper and pen, PowerPoint, etc
 Visual editing tools
 HyperCard, Visual Basic, Delphi, etc
 Visual programming tools
 Prograph, LEGO Mindstorms
Interface Building Tools
Interface Builder
 Free tool included with MacOSX for
building user interfaces
Building Interfaces
The Message
 Tools let prototype mostly functional interfaces
quickly and cheaply
 Tools lets a domain expert build the interface
 Tools let the interface be discussed before the
investment has been made in the rest of the
application
 Showing the interface to management, users
and experts can be done early and often
Evaluation Tools
 Provide automated feedback to the
developer as to where the product is
inconsistent
 Warning signs
 automated analysis of where a UI might be
inconsistent or violating a standard
Evaluation Tools
 Tullis’ Display Analysis Program
 takes alphanumeric screen designs and
critiques them.
 percentage of upper-case letters
 density of text
 layout complexity
 Example of automated analysis
Evaluation Tools
 GOMS
 Simple Metrics
 number of widgets per window
 widget density
 can yield information about how complex the
interface is
 Style consistency
Evaluation Tools
 Web pages
 Validation
 Link checking
 Correctness
 *Unit (JUnit, NUnit, etc)
 defined testing of applications (regression testing)
 Cactus
 defined testing of UIs (regression testing of user
interfaces)
Evaluation Tools
The Message
 let the developer programatically
determine correctness of an interface
 give the developer feedback on
consistency of the interface
 allow comparison of interfaces
UI Toolkits
 Ease development by providing fully-
fleshed out UI components
 A UI component has two major parts
 The UI presentation (a button)
 The outlet (how the program is informed when
the button is pressed)
Toolkits
 TCL/Tk
 Motif
 Mac Toolbox
 MFC
 Java AWT / Swing
Prototyping languages
 Java
 Application / Applet language
 Cross platform. Intent is that all applications
act the same on all platforms
 Hypercard
 Movement between Cards (screens)
 Tcl/Tk
 Scripting language
Toolkits and Languages
The Message
 Toolkits provide UI widgets that can be
used to develop the application
 This lets the developer focus on building
the application, instead of the widgets
 Prototyping languages allow the rapid
development of prototype applications, but
trade can entail trade-offs
Next Time
 GroupKit
 THYME

More Related Content

What's hot

What's hot (20)

Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Sgml and xml
Sgml and xmlSgml and xml
Sgml and xml
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
What is an API?
What is an API?What is an API?
What is an API?
 
Difference between frontend and backend
Difference between frontend and backendDifference between frontend and backend
Difference between frontend and backend
 
Java Beans
Java BeansJava Beans
Java Beans
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Spm unit2 select appropriate approach
Spm unit2 select appropriate approachSpm unit2 select appropriate approach
Spm unit2 select appropriate approach
 
Advanced java
Advanced java Advanced java
Advanced java
 
Language processor
Language processorLanguage processor
Language processor
 
Research Updates from Rasa: Transformers in NLU and Dialogue
Research Updates from Rasa: Transformers in NLU and DialogueResearch Updates from Rasa: Transformers in NLU and Dialogue
Research Updates from Rasa: Transformers in NLU and Dialogue
 
Common Object Request Broker Architecture
Common Object Request Broker ArchitectureCommon Object Request Broker Architecture
Common Object Request Broker Architecture
 
4.C#
4.C#4.C#
4.C#
 
Servlets
ServletsServlets
Servlets
 
CS8651 Internet Programming - Basics of HTML, HTML5, CSS
CS8651   Internet Programming - Basics of HTML, HTML5, CSSCS8651   Internet Programming - Basics of HTML, HTML5, CSS
CS8651 Internet Programming - Basics of HTML, HTML5, CSS
 
CS3251-_PIC
CS3251-_PICCS3251-_PIC
CS3251-_PIC
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 

Similar to software-tools-part-1.ppt

HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation supportAlan Dix
 
2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensorsllangit
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controlsrramabad
 
lecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptxlecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptxBhanukaFernando3
 
TopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source SymposiumTopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source SymposiumDavid Morris
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System softwarekalaivanan vanan
 
Accessibility Enterprise
Accessibility EnterpriseAccessibility Enterprise
Accessibility EnterpriseJacques
 
chapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdfchapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdfSaqlainYaqub1
 
Chapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and toolsChapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and toolsABDUmomo
 

Similar to software-tools-part-1.ppt (20)

Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Java Land F
Java Land FJava Land F
Java Land F
 
Ch11
Ch11Ch11
Ch11
 
ArduinoWorkshop2.pdf
ArduinoWorkshop2.pdfArduinoWorkshop2.pdf
ArduinoWorkshop2.pdf
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
 
2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors2 Win7 For Devs Ux Touch Sensors
2 Win7 For Devs Ux Touch Sensors
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
 
Ss tools
Ss toolsSs tools
Ss tools
 
Ss tools
Ss toolsSs tools
Ss tools
 
lecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptxlecture-3-1523011494 Lecture #3).pptx
lecture-3-1523011494 Lecture #3).pptx
 
TopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source SymposiumTopMod3d - Texas Open Source Symposium
TopMod3d - Texas Open Source Symposium
 
Text editors(ss)
Text editors(ss)Text editors(ss)
Text editors(ss)
 
Text Editor for System software
Text Editor for System softwareText Editor for System software
Text Editor for System software
 
Accessibility Enterprise
Accessibility EnterpriseAccessibility Enterprise
Accessibility Enterprise
 
chapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdfchapter2multimediaauthoringandtools-160131194415.pdf
chapter2multimediaauthoringandtools-160131194415.pdf
 
Chapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and toolsChapter 2 multimedia authoring and tools
Chapter 2 multimedia authoring and tools
 

Recently uploaded

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Recently uploaded (20)

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

software-tools-part-1.ppt

  • 2. Outline  Introduction  Specification Methods  Interface Building Tools  Toolkits and Languages  Evaluation Tools
  • 3. Introduction  Building interfaces that are usable by a wide audience is hard  ethnography  participatory design  UI architects need to simply and quickly sketch a proposed interface  for example, the W model requires frequent prototypes
  • 4. Introduction  By designing and showing the UI before the application itself is built, the application will end up with a more consistent UI  By being able to unambiguously describe a UI and its transitions, the UI can be discussed and modeled
  • 5. Specification Methods  Natural Language Specifications  Ambiguous  Easy  Formal Specifications  Unambiguous  Defined grammar  Ability to prove a specification is a valid construct within the grammar
  • 6. Specification Methods  Grammars  Menu Trees  Transition Diagrams  State Charts
  • 7. BNF  Backus-Naur Form  <non-terminal> ::= <non-terminals> terminals  i.e., a telephone number is represented by  tel-num ::= (<area-code>) <exchange>-<local- number>  area-code ::= <digit><digit><digit>  exchange ::= <digit><digit><digit>  local-number ::= <digit><digit><digit><digit>  digit ::= 0|1|2|3|4|5|6|7|8|9
  • 8. BNF  Incomplete  Good to specify format, but fails to specify content, such as valid exchanges or area codes  A second level of software is used to validate content.  Complex  As a BNF grammar grows, it becomes very complex and difficult to follow or change
  • 9. Unix Command Structure  Variant of BNF  All capital letters is a non-terminal  Non-terminal format is assumed  Brackets denote optional arguments  Ellipsis (…) denote “-or-more”  [OPTION]… is 0 or more (Kleene closure or *-closure)  SOURCE… is 1 or more (+-closure)
  • 10. cp  From a Debian 3.0r0 machine: cp [OPTION]... SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... --target directory=DIRECTORY SOURCE…
  • 11. Other Variant Grammars  make JAVAC = /usr/bin/jikes JAVA_HOME = /usr/lib/jsdk1.3 all: thyme-core chat swab thyme-core: $(MAKE) -f thyme-core/Makefile chat: $(MAKE) -f chat/Makefile swab: $(MAKE) -f swab/Makefile
  • 12. Other Grammars  XML <?xml version=“1.0”?> <system spec-file-version=“2.0”> <init class=“some.init.InitComponent”/> <parameters> <parameter name=“tcc.init.classid” value=“some.room.RoomComponent”/> </parameters> </system>
  • 13. Multiparty Grammars  Used for showing interaction between more than one party (Shneiderman, 1982)  Non-terminals labeled by the party which generates it (i.e., U for user and C and computer)  Effective for text-oriented command sequences which have repeated exchanges
  • 14. Multiparty Grammars  Example <Session> ::= <U: Opening> <C: Responding> <U: Opening> :: LOGIN <U: Name> <U: Name> :: <U: string> <C: Responding> :: HELLO [<U: Name>]
  • 15. Selection Trees  Branching interaction  Each tree node will branch to one or more possibilities.  Not necessarily a strict tree  Acyclic  Cyclic  Tree  Menu Selection Trees  Dialog Selection Trees
  • 16. Transition Diagrams  More complete and general than selection trees  general enough to show the complete interaction with an application  Directed graph  Nodes represent states  Links between nodes represent actions and the application’s response  NFA  Becomes cumbersome as the represented interaction grows.
  • 17. State Charts  Harel, 1988  Extension of transition diagrams where related actions are grouped into a subgraph (modularity)  Only effective where the subgraphs have single points of entry and exit  For example, all bank transactions are within a group. Then within that group, there are separate groups for verification, withdrawal and deposit.
  • 18. User-Action Notation (UAN)  Chase et. al., 1994  Grammars and State diagrams fail to deal with direct manipulation interfaces  A user’s intended action depends on context  Context can change quickly during runtime  UAN is a high-level notation that focus a user’s direct manipulation task (pointing, dragging and clicking in WIMP interfaces)
  • 19. UAN  Syntax involves a user action, interface feedback and interface state. i.e., deleting a file: User Action Interface Feedback Interface State ~[file], Mv file!, forall(file!): file-! selected = file ~[x,y]* outline(file) > ~ ~[trash] outline(file) > ~, trash! M^ erase(file), trash!! selected = null
  • 20. UAN  ~ is the cursor. M is the mouse  ~[object] is cursor movement to the specified object (i.e., icon)  object > ~ means move the object to the cursor  Mv is press the mouse button  M^ is release the mouse button  object! is highlight the object  object!! is dehighlight the object
  • 21. Specification Methods The Message  grammars programatically specify the interface actions available but fail to specify interaction.  Selection trees show transitions between menu items or dialogs  Transition diagrams show transitions between states for a complete application  State charts group related actions into groups, making the transition diagrams easier to follow  UAN provides a notation to specify direct manipulation tasks
  • 22. Interface Building Tools  Writing an application requires agreement of several parties on the UI  managers need to approve the design  UI architects need to build it  programmers need to be aware what they are programming to  users are asked for opinions on the interface
  • 23. Interface Building Tools  Let an interface be prototyped rapidly  Let an interface be built by a non- programmer  Allow the application to be built using the prototyped interface
  • 24. Interface Building Tools  Benefits of using interface building tools  User-interface independence  Separate presentation from logic  Prototype multiple user interfaces  Multiple-platform support  Domain expert as user-interface architect  Enforce standards  Methodology and Notation  Develop design methodology  Talk about design  Project management
  • 25. Interface Building Tools  Rapid prototyping  Build and use multiple versions up front  Low cost test, revise, test  Usable user interfaces for users, managers and customers to see and use early  Software support  Productivity  Constraint and consistency checks  Ease of maintenance  Teams
  • 26. Design Tools  Slide Show  paper and pen, PowerPoint, etc  Visual editing tools  HyperCard, Visual Basic, Delphi, etc  Visual programming tools  Prograph, LEGO Mindstorms
  • 27. Interface Building Tools Interface Builder  Free tool included with MacOSX for building user interfaces
  • 28. Building Interfaces The Message  Tools let prototype mostly functional interfaces quickly and cheaply  Tools lets a domain expert build the interface  Tools let the interface be discussed before the investment has been made in the rest of the application  Showing the interface to management, users and experts can be done early and often
  • 29. Evaluation Tools  Provide automated feedback to the developer as to where the product is inconsistent  Warning signs  automated analysis of where a UI might be inconsistent or violating a standard
  • 30. Evaluation Tools  Tullis’ Display Analysis Program  takes alphanumeric screen designs and critiques them.  percentage of upper-case letters  density of text  layout complexity  Example of automated analysis
  • 31. Evaluation Tools  GOMS  Simple Metrics  number of widgets per window  widget density  can yield information about how complex the interface is  Style consistency
  • 32. Evaluation Tools  Web pages  Validation  Link checking  Correctness  *Unit (JUnit, NUnit, etc)  defined testing of applications (regression testing)  Cactus  defined testing of UIs (regression testing of user interfaces)
  • 33. Evaluation Tools The Message  let the developer programatically determine correctness of an interface  give the developer feedback on consistency of the interface  allow comparison of interfaces
  • 34. UI Toolkits  Ease development by providing fully- fleshed out UI components  A UI component has two major parts  The UI presentation (a button)  The outlet (how the program is informed when the button is pressed)
  • 35. Toolkits  TCL/Tk  Motif  Mac Toolbox  MFC  Java AWT / Swing
  • 36. Prototyping languages  Java  Application / Applet language  Cross platform. Intent is that all applications act the same on all platforms  Hypercard  Movement between Cards (screens)  Tcl/Tk  Scripting language
  • 37. Toolkits and Languages The Message  Toolkits provide UI widgets that can be used to develop the application  This lets the developer focus on building the application, instead of the widgets  Prototyping languages allow the rapid development of prototype applications, but trade can entail trade-offs