Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:4221 4090

Similar presentations


Presentation on theme: "Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:4221 4090"— Presentation transcript:

1 Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:4221 4090 Email:gene@uow.edu.au

2 Overview zProgramming tools provide levels of services for programmers zWindowing systems as core support for separate and simultaneous user-system threads zProgramming the application and control of dialogue zInteraction toolkits bring programming closer to level of user perception zUser interface management systems help to control relationship between presentation and functionality of objects

3 Introduction zUp to now, our concern has been slanted away from concerns of the actual programmer. zAdvances in coding have elevated programming from hardware-specific to interaction technique- specific. zLayers of development tools ywindowing systems yinteraction toolkits yuser interface management systems

4 Elements of windowing systems zDevice independence yprogramming the abstract terminal ydevice drivers yimage models for output and (partially) input xpixels xGraphical Kernel System (GKS) xProgrammers' Hierarchical Interface to Graphics (PHIGS) xPostScript

5 Elements of windowing systems zResource sharing yachieving simultaneity of user tasks ywindow system supports independent processes yisolation of individual applications

6 The roles of a windowing system

7 Architectures of windowing systems z3 possible software architectures yall 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

8 The client-server architecture

9 The X Window System architecture zpixel imaging model with some pointing mechanism zX protocol defines server-client communication zseparate window manager client enforces policies for input/output: yhow to change input focus ytiled vs. overlapping windows yinter-client data transfer

10 Programming the application z2 programming paradigms y1. read-evaluation loop yrepeat xread-event(myevent) xcase myevent.type type_1: –do type_1 processing type_2: –do type_2 processing... type_n: –do type_n processing xend case yend repeat

11 Programming the application z2. notification-based

12 Using toolkits zInteraction objects yinput and output intrinsically linked ztoolkits provide this level of abstraction yprogramming with interaction objects (or techniques, widgets, gadgets) ypromote consistency and generalisability through similar look and feel yamenable to object-oriented programming

13 User Interface Management Systems zUIMS add another level above toolkits ytoolkits too difficult for non-programmers yalternatively: xUI development system (UIDS) xUI development environment (UIDE)

14 User Interface Management Systems zAs a conceptual architecture yprovides separation between application xsemantics and presentation, improving: xportability xreusability xmultiple interfaces xcustomisability yidentifies roles (e.g., Seeheim) xpresentation component xdialogue control xapplication interface model

15 Implementation of UIMS zTechniques for dialogue controller ymenu networks ygrammar notations ystate transition diagrams yevent languages ydeclarative languages yconstraints ygraphical specification

16 Implementation of UIMS zThe drift of dialogue control yinternal control (e.g., read-evaluation loop) yexternal control (independent of application semantics or presentation) ypresentation control (e.g., graphical specification)

17 Summary zLevels of programming support tools zWindowing systems ydevice independence ymultiple tasks

18 Summary zParadigms for programming the application yread-evaluation loop ynotification-based zToolkits yprogramming interaction objects zUIMS yconceptual architectures for separation ytechniques for expressing dialogue


Download ppt "Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:4221 4090"

Similar presentations


Ads by Google