SlideShare a Scribd company logo
1 of 28
CHAPTER 6
IMPLEMENTATION
SUPPORT
IMPLEMENTATION SUPPORT
• programming tools
• levels of services for programmers
• windowing systems
• core support for separate and simultaneous user-
system activity
• programming the application and control of
dialogue
• interaction toolkits
• bring programming closer to level of user perception
• user interface management systems
• controls relationship between presentation and
functionality
INTRODUCTION
How does HCI affect of the programmer?
Advances in coding have elevated programming
hardware specific
 interaction-technique specific
Layers of development tools
• windowing systems
• interaction toolkits
• user interface management systems
ELEMENTS OF WINDOWING
SYSTEMS
Device independence
programming the abstract terminal device drivers
image models for output and (partially) input
• pixels
• PostScript (MacOS X, NextStep)
• Graphical Kernel System (GKS)
• Programmers' Hierarchical Interface to Graphics
(PHIGS)
Resource sharing
achieving simultaneity of user tasks
window system supports independent processes
isolation of individual applications
ROLES OF A WINDOWING SYSTEM
ARCHITECTURES OF WINDOWING
SYSTEMS
There are three possible software architectures
• all assume device driver is separate
• differ in how multiple application management is
implemented
1. each application manages all processes
• everyone worries about synchronization
• reduces portability of applications
2. management role within kernel of operating system
• applications tied to operating system
3. management role as separate application
maximum portability
THE CLIENT-SERVER
ARCHITECTURE
X WINDOWS ARCHITECTURE
X WINDOWS ARCHITECTURE (CTD)
• pixel imaging model with some pointing mechanism
• X protocol defines server-client communication
• separate window manager client enforces policies for
input/output:
• how to change input focus
• tiled vs. overlapping windows
• inter-client data transfer
PROGRAMMING THE APPLICATION - 1
READ-EVALUATION LOOP
repeat
read-event(myevent)
case myevent.type
type_1:
do type_1 processing
type_2:
do type_2 processing
...
type_n:
do type_n processing
end case
end repeat
PROGRAMMING THE APPLICATION - 1
NOTIFICATION-BASED
void main(String[] args) {
Menu menu = new Menu();
menu.setOption(“Save”);
menu.setOption(“Quit”);
menu.setAction(“Save”,mySave)
menu.setAction(“Quit”,myQuit)
...
}
int mySave(Event e) {
// save the current file
}
int myQuit(Event e) {
// close down
}
GOING WITH THE GRAIN
• system style affects the interfaces
• modal dialogue box
• easy with event-loop (just have extra read-event
loop)
• hard with notification (need lots of mode flags)
• non-modal dialogue box
• hard with event-loop (very complicated main loop)
• easy with notification (just add extra handler)
beware!
if you don’t explicitly design it will just happen
implementation should not drive design
USING TOOLKITS
Interaction objects
• input and output
intrinsically linked
Toolkits provide this level of abstraction
• programming with interaction objects (or
• techniques, widgets, gadgets)
• promote consistency and generalizability
• through similar look and feel
• amenable to object-oriented programming
move press release move
INTERFACES IN JAVA
• Java toolkit – AWT (abstract windowing toolkit)
• Java classes for buttons, menus, etc.
• Notification based;
• AWT 1.0 – need to subclass basic widgets
• AWT 1.1 and beyond -– callback objects
• Swing toolkit
• built on top of AWT – higher level features
• uses MVC architecture (see later)
USER INTERFACE MANAGEMENT
SYSTEMS (UIMS)
• UIMS add another level above toolkits
• toolkits too difficult for non-programmers
• concerns of UIMS
• conceptual architecture
• implementation techniques
• support infrastructure
• non-UIMS terms:
• UI development system (UIDS)
• UI development environment (UIDE)
• e.g. Visual Basic
UIMS AS CONCEPTUAL
ARCHITECTURE
• separation between application semantics
and presentation
• improves:
• portability – runs on different systems
• reusability – components reused cutting costs
• multiple interfaces – accessing same functionality
• customizability – by designer and user
UIMS TRADITION – INTERFACE
LAYERS / LOGICAL COMPONENTS
• linguistic: lexical/syntactic/semantic
• Seeheim:
• Arch/Slinky
SEEHEIM MODEL
Presentation
Dialogue
Control
Functionality
(application
interface)
USERUSER APPLICATION
switch
lexical syntactic semantic
CONCEPTUAL VS.
IMPLEMENTATION
Seeheim
• arose out of implementation experience
• but principal contribution is conceptual
• concepts part of ‘normal’ UI language
… because of Seeheim …
… we think differently!
e.g. the lower box, the switch
• needed for implementation
• but not conceptual
SEMANTIC FEEDBACK
• different kinds of feedback:
• lexical – movement of mouse
• syntactic – menu highlights
• semantic – sum of numbers changes
• semantic feedback often slower
• use rapid lexical/syntactic feedback
• but may need rapid semantic feedback
• freehand drawing
• highlight trash can or folder when file dragged
MONOLITHIC VS. COMPONENTS
• Seeheim has big components
• often easier to use smaller ones
• esp. if using object-oriented toolkits
• Smalltalk used MVC – model–view–controller
• model – internal logical state of component
• view – how it is rendered on screen
• controller – processes user input
MVC
MODEL - VIEW - CONTROLLER
model
view
controller
MVC ISSUES
• MVC is largely pipeline model:
input  control  model  view  output
• but in graphical interface
• input only has meaning in relation to output
e.g. mouse click
• need to know what was clicked
• controller has to decide what to do with click
• but view knows what is shown where!
• in practice controller ‘talks’ to view
• separation not complete
PAC MODEL
• PAC model closer to Seeheim
• abstraction – logical state of component
• presentation – manages input and output
• control – mediates between them
• manages hierarchy and multiple views
• control part of PAC objects communicate
• PAC cleaner in many ways …
but MVC used more in practice
(e.g. Java Swing)
PAC
PRESENTATION - ABSTRACTION - CONTROL
abstraction presentation
control
A P
C
A P
C
A P
C A P
C
IMPLEMENTATION OF UIMS
• Techniques for dialogue controller
• menu networks • state transition diagrams
• grammar notations • event languages
• declarative languages • constraints
• graphical specification
• for most of these see chapter 16
• N.B. constraints
• instead of what happens say what should be true
• used in groupware as well as single user interfaces
(ALV - abstraction–link–view)
see chapter 16 for more details on several of these
GRAPHICAL SPECIFICATION
• what it is
• draw components on screen
• set actions with script or links to program
• in use
• with raw programming most popular technique
• e.g. Visual Basic, Dreamweaver, Flash
• local vs. global
• hard to ‘see’ the paths through system
• focus on what can be seen on one screen
THE DRIFT OF DIALOGUE
CONTROL
• internal control
(e.g., read-evaluation loop)
• external control
(independent of application semantics or
presentation)
• presentation control
(e.g., graphical specification)

More Related Content

What's hot

Design process design rules
Design process  design rulesDesign process  design rules
Design process design rulesPreeti Mishra
 
Software Architecture Practices
Software Architecture PracticesSoftware Architecture Practices
Software Architecture PracticesSantosh Botre
 
User interface design
User interface designUser interface design
User interface designSlideshare
 
Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2syxf10
 
HCI 3e - Ch 7: Design rules
HCI 3e - Ch 7:  Design rulesHCI 3e - Ch 7:  Design rules
HCI 3e - Ch 7: Design rulesAlan Dix
 
Nota sendiri hci-HCI
Nota sendiri hci-HCINota sendiri hci-HCI
Nota sendiri hci-HCIShafy Fify
 
User Interface Design,Principles & process
User Interface  Design,Principles & processUser Interface  Design,Principles & process
User Interface Design,Principles & processAbd-Ur Rehman Saqib
 
Extended Walkthrough – Template
Extended Walkthrough – TemplateExtended Walkthrough – Template
Extended Walkthrough – TemplateAlan Dix
 
Usability engineering Usability testing
Usability engineering Usability testingUsability engineering Usability testing
Usability engineering Usability testingREHMAT ULLAH
 
User Interface Design
User Interface DesignUser Interface Design
User Interface DesignJReifman
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUSachin Gowda
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slideswajahat Gul
 
Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
HCI 3e - Ch 11: User support
HCI 3e - Ch 11:  User supportHCI 3e - Ch 11:  User support
HCI 3e - Ch 11: User supportAlan Dix
 
hci in software development process
hci in software development processhci in software development process
hci in software development processKainat Ilyas
 
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirementsHCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirementsAlan Dix
 
HCI 3e - Ch 9: Evaluation techniques
HCI 3e - Ch 9:  Evaluation techniquesHCI 3e - Ch 9:  Evaluation techniques
HCI 3e - Ch 9: Evaluation techniquesAlan Dix
 
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface Design
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface DesignAn Introduction to Ben Shneiderman's Eight Golden Rules of Interface Design
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface DesignJochen Wolters
 

What's hot (20)

Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
 
Software Architecture Practices
Software Architecture PracticesSoftware Architecture Practices
Software Architecture Practices
 
User interface design
User interface designUser interface design
User interface design
 
Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2
 
HCI 3e - Ch 7: Design rules
HCI 3e - Ch 7:  Design rulesHCI 3e - Ch 7:  Design rules
HCI 3e - Ch 7: Design rules
 
Nota sendiri hci-HCI
Nota sendiri hci-HCINota sendiri hci-HCI
Nota sendiri hci-HCI
 
User Interface Design,Principles & process
User Interface  Design,Principles & processUser Interface  Design,Principles & process
User Interface Design,Principles & process
 
Extended Walkthrough – Template
Extended Walkthrough – TemplateExtended Walkthrough – Template
Extended Walkthrough – Template
 
Usability engineering Usability testing
Usability engineering Usability testingUsability engineering Usability testing
Usability engineering Usability testing
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
 
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTUModule 2nd USER INTERFACE DESIGN (15CS832) - VTU
Module 2nd USER INTERFACE DESIGN (15CS832) - VTU
 
Chapter five HCI
Chapter five HCIChapter five HCI
Chapter five HCI
 
Slides chapter 12
Slides chapter 12Slides chapter 12
Slides chapter 12
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slides
 
Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
HCI 3e - Ch 11: User support
HCI 3e - Ch 11:  User supportHCI 3e - Ch 11:  User support
HCI 3e - Ch 11: User support
 
hci in software development process
hci in software development processhci in software development process
hci in software development process
 
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirementsHCI 3e - Ch 13:  Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
 
HCI 3e - Ch 9: Evaluation techniques
HCI 3e - Ch 9:  Evaluation techniquesHCI 3e - Ch 9:  Evaluation techniques
HCI 3e - Ch 9: Evaluation techniques
 
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface Design
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface DesignAn Introduction to Ben Shneiderman's Eight Golden Rules of Interface Design
An Introduction to Ben Shneiderman's Eight Golden Rules of Interface Design
 

Similar to Implementing HCI Tools and Systems

HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation supportAlan Dix
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compilerSVijaylakshmi
 
Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinRikard Thulin
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_enMiya Kohno
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Miya Kohno
 
Pipecut - slides from presentation at MeetBSD California 2014
Pipecut - slides from presentation at MeetBSD California 2014Pipecut - slides from presentation at MeetBSD California 2014
Pipecut - slides from presentation at MeetBSD California 2014david_w_maxwell
 
The art of architecture
The art of architectureThe art of architecture
The art of architectureADDQ
 
Openbravo 3 demo tips
Openbravo 3 demo tipsOpenbravo 3 demo tips
Openbravo 3 demo tipskhayer
 
Introduction.pptx the event driven course
Introduction.pptx the event driven courseIntroduction.pptx the event driven course
Introduction.pptx the event driven courseworldchannel
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich Krause
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0DivyaR219113
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesUlrich Krause
 

Similar to Implementing HCI Tools and Systems (20)

E3 chap-08
E3 chap-08E3 chap-08
E3 chap-08
 
e3-chap-08.ppt
e3-chap-08.ppte3-chap-08.ppt
e3-chap-08.ppt
 
E3 chap-08
E3 chap-08E3 chap-08
E3 chap-08
 
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 8:  Implementation supportHCI 3e - Ch 8:  Implementation support
HCI 3e - Ch 8: Implementation support
 
Parallel language and compiler
Parallel language and compilerParallel language and compiler
Parallel language and compiler
 
Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard Thulin
 
Marionette talk 2016
Marionette talk 2016Marionette talk 2016
Marionette talk 2016
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Design rule 3
Design rule 3Design rule 3
Design rule 3
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_en
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN
 
Pipecut - slides from presentation at MeetBSD California 2014
Pipecut - slides from presentation at MeetBSD California 2014Pipecut - slides from presentation at MeetBSD California 2014
Pipecut - slides from presentation at MeetBSD California 2014
 
The art of architecture
The art of architectureThe art of architecture
The art of architecture
 
Openbravo 3 demo tips
Openbravo 3 demo tipsOpenbravo 3 demo tips
Openbravo 3 demo tips
 
Introduction.pptx the event driven course
Introduction.pptx the event driven courseIntroduction.pptx the event driven course
Introduction.pptx the event driven course
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0Introduction to Visual Basic 6.0
Introduction to Visual Basic 6.0
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPages
 
SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 

More from MLG College of Learning, Inc (20)

PC111.Lesson2
PC111.Lesson2PC111.Lesson2
PC111.Lesson2
 
PC111.Lesson1
PC111.Lesson1PC111.Lesson1
PC111.Lesson1
 
PC111-lesson1.pptx
PC111-lesson1.pptxPC111-lesson1.pptx
PC111-lesson1.pptx
 
PC LEESOON 6.pptx
PC LEESOON 6.pptxPC LEESOON 6.pptx
PC LEESOON 6.pptx
 
PC 106 PPT-09.pptx
PC 106 PPT-09.pptxPC 106 PPT-09.pptx
PC 106 PPT-09.pptx
 
PC 106 PPT-07
PC 106 PPT-07PC 106 PPT-07
PC 106 PPT-07
 
PC 106 PPT-01
PC 106 PPT-01PC 106 PPT-01
PC 106 PPT-01
 
PC 106 PPT-06
PC 106 PPT-06PC 106 PPT-06
PC 106 PPT-06
 
PC 106 PPT-05
PC 106 PPT-05PC 106 PPT-05
PC 106 PPT-05
 
PC 106 Slide 04
PC 106 Slide 04PC 106 Slide 04
PC 106 Slide 04
 
PC 106 Slide no.02
PC 106 Slide no.02PC 106 Slide no.02
PC 106 Slide no.02
 
pc-106-slide-3
pc-106-slide-3pc-106-slide-3
pc-106-slide-3
 
PC 106 Slide 2
PC 106 Slide 2PC 106 Slide 2
PC 106 Slide 2
 
PC 106 Slide 1.pptx
PC 106 Slide 1.pptxPC 106 Slide 1.pptx
PC 106 Slide 1.pptx
 
Db2 characteristics of db ms
Db2 characteristics of db msDb2 characteristics of db ms
Db2 characteristics of db ms
 
Db1 introduction
Db1 introductionDb1 introduction
Db1 introduction
 
Lesson 3.2
Lesson 3.2Lesson 3.2
Lesson 3.2
 
Lesson 3.1
Lesson 3.1Lesson 3.1
Lesson 3.1
 
Lesson 1.6
Lesson 1.6Lesson 1.6
Lesson 1.6
 
Lesson 3.2
Lesson 3.2Lesson 3.2
Lesson 3.2
 

Recently uploaded

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
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
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
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
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
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
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 

Recently uploaded (20)

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
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 🔝✔️✔️
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
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
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
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
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
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🔝
 

Implementing HCI Tools and Systems

  • 2. IMPLEMENTATION SUPPORT • programming tools • levels of services for programmers • windowing systems • core support for separate and simultaneous user- system activity • programming the application and control of dialogue • interaction toolkits • bring programming closer to level of user perception • user interface management systems • controls relationship between presentation and functionality
  • 3. INTRODUCTION How does HCI affect of the programmer? Advances in coding have elevated programming hardware specific  interaction-technique specific Layers of development tools • windowing systems • interaction toolkits • user interface management systems
  • 4. ELEMENTS OF WINDOWING SYSTEMS Device independence programming the abstract terminal device drivers image models for output and (partially) input • pixels • PostScript (MacOS X, NextStep) • Graphical Kernel System (GKS) • Programmers' Hierarchical Interface to Graphics (PHIGS) Resource sharing achieving simultaneity of user tasks window system supports independent processes isolation of individual applications
  • 5. ROLES OF A WINDOWING SYSTEM
  • 6. ARCHITECTURES OF WINDOWING SYSTEMS There are three possible software architectures • all assume device driver is separate • differ in how multiple application management is implemented 1. each application manages all processes • everyone worries about synchronization • reduces portability of applications 2. management role within kernel of operating system • applications tied to operating system 3. management role as separate application maximum portability
  • 9. X WINDOWS ARCHITECTURE (CTD) • pixel imaging model with some pointing mechanism • X protocol defines server-client communication • separate window manager client enforces policies for input/output: • how to change input focus • tiled vs. overlapping windows • inter-client data transfer
  • 10. PROGRAMMING THE APPLICATION - 1 READ-EVALUATION LOOP repeat read-event(myevent) case myevent.type type_1: do type_1 processing type_2: do type_2 processing ... type_n: do type_n processing end case end repeat
  • 11. PROGRAMMING THE APPLICATION - 1 NOTIFICATION-BASED void main(String[] args) { Menu menu = new Menu(); menu.setOption(“Save”); menu.setOption(“Quit”); menu.setAction(“Save”,mySave) menu.setAction(“Quit”,myQuit) ... } int mySave(Event e) { // save the current file } int myQuit(Event e) { // close down }
  • 12. GOING WITH THE GRAIN • system style affects the interfaces • modal dialogue box • easy with event-loop (just have extra read-event loop) • hard with notification (need lots of mode flags) • non-modal dialogue box • hard with event-loop (very complicated main loop) • easy with notification (just add extra handler) beware! if you don’t explicitly design it will just happen implementation should not drive design
  • 13. USING TOOLKITS Interaction objects • input and output intrinsically linked Toolkits provide this level of abstraction • programming with interaction objects (or • techniques, widgets, gadgets) • promote consistency and generalizability • through similar look and feel • amenable to object-oriented programming move press release move
  • 14. INTERFACES IN JAVA • Java toolkit – AWT (abstract windowing toolkit) • Java classes for buttons, menus, etc. • Notification based; • AWT 1.0 – need to subclass basic widgets • AWT 1.1 and beyond -– callback objects • Swing toolkit • built on top of AWT – higher level features • uses MVC architecture (see later)
  • 15. USER INTERFACE MANAGEMENT SYSTEMS (UIMS) • UIMS add another level above toolkits • toolkits too difficult for non-programmers • concerns of UIMS • conceptual architecture • implementation techniques • support infrastructure • non-UIMS terms: • UI development system (UIDS) • UI development environment (UIDE) • e.g. Visual Basic
  • 16. UIMS AS CONCEPTUAL ARCHITECTURE • separation between application semantics and presentation • improves: • portability – runs on different systems • reusability – components reused cutting costs • multiple interfaces – accessing same functionality • customizability – by designer and user
  • 17. UIMS TRADITION – INTERFACE LAYERS / LOGICAL COMPONENTS • linguistic: lexical/syntactic/semantic • Seeheim: • Arch/Slinky
  • 19. CONCEPTUAL VS. IMPLEMENTATION Seeheim • arose out of implementation experience • but principal contribution is conceptual • concepts part of ‘normal’ UI language … because of Seeheim … … we think differently! e.g. the lower box, the switch • needed for implementation • but not conceptual
  • 20. SEMANTIC FEEDBACK • different kinds of feedback: • lexical – movement of mouse • syntactic – menu highlights • semantic – sum of numbers changes • semantic feedback often slower • use rapid lexical/syntactic feedback • but may need rapid semantic feedback • freehand drawing • highlight trash can or folder when file dragged
  • 21. MONOLITHIC VS. COMPONENTS • Seeheim has big components • often easier to use smaller ones • esp. if using object-oriented toolkits • Smalltalk used MVC – model–view–controller • model – internal logical state of component • view – how it is rendered on screen • controller – processes user input
  • 22. MVC MODEL - VIEW - CONTROLLER model view controller
  • 23. MVC ISSUES • MVC is largely pipeline model: input  control  model  view  output • but in graphical interface • input only has meaning in relation to output e.g. mouse click • need to know what was clicked • controller has to decide what to do with click • but view knows what is shown where! • in practice controller ‘talks’ to view • separation not complete
  • 24. PAC MODEL • PAC model closer to Seeheim • abstraction – logical state of component • presentation – manages input and output • control – mediates between them • manages hierarchy and multiple views • control part of PAC objects communicate • PAC cleaner in many ways … but MVC used more in practice (e.g. Java Swing)
  • 25. PAC PRESENTATION - ABSTRACTION - CONTROL abstraction presentation control A P C A P C A P C A P C
  • 26. IMPLEMENTATION OF UIMS • Techniques for dialogue controller • menu networks • state transition diagrams • grammar notations • event languages • declarative languages • constraints • graphical specification • for most of these see chapter 16 • N.B. constraints • instead of what happens say what should be true • used in groupware as well as single user interfaces (ALV - abstraction–link–view) see chapter 16 for more details on several of these
  • 27. GRAPHICAL SPECIFICATION • what it is • draw components on screen • set actions with script or links to program • in use • with raw programming most popular technique • e.g. Visual Basic, Dreamweaver, Flash • local vs. global • hard to ‘see’ the paths through system • focus on what can be seen on one screen
  • 28. THE DRIFT OF DIALOGUE CONTROL • internal control (e.g., read-evaluation loop) • external control (independent of application semantics or presentation) • presentation control (e.g., graphical specification)