1
|
- Session 13
- LBSC 790 / INFM 718B
- Building the Human-Computer Interface
|
2
|
- Questions
- Information architecture
- Multi-party interaction
- Managing complex projects
- Pre-review
|
3
|
|
4
|
- Organization
- Labeling
- Navigation
- Search
|
5
|
|
6
|
- Professional arrangement
- Human-assigned vs. machine-assigned
- Hierarchical vs. faceted
- Community arrangement
- Emergent arrangement
- Content-based vs. behavior-based
- Description
|
7
|
|
8
|
|
9
|
|
10
|
- Download from the HCIL Web Site
- http://www.cs.umd.edu/hcil/photomesa/
- Open an image directory in the file menu
- Zoom in with left button, out with right
- Dwell on a photo for an enlargement
|
11
|
- Distributed workgroups
- Computer-assisted design, medical diagnosis, …
- Local meeting support
- Brainstorming, minutes, replay
- Teleconferencing
- Audio, video, whiteboard, shared applications, …
- Workflow support
- Authoring, editing, revision, layout, distribution
|
12
|
- Synchronous vs. Asynchronous
- NetMeeting is synchronous
- Email is asynchronous
- Local vs. remote
- Meeting support systems are local
- Chat rooms are remote
|
13
|
- Proprietary standards
- Supplied by a single vendor (e.g., Lotus Notes)
- Open standards
- Lower cost, less tightly coupled (e.g., Intranets)
- Standard toolkits
- Easily added to an application (e.g., Habanero)
|
14
|
- Discovery
- Rendezvous
- Synchronization
- Control
- Visibility
- Network infrastructure
|
15
|
- Analogue of an information access problem
- How do you specify who you are looking for?
- How do you represent people?
- How do you select among the candidates?
- Requires some form of directory
- Akin to an index in information retrieval
- “Rooms” provide a useful metaphor
- Defined by participants and purpose
|
16
|
- Connectivity
- Latency, delivery order, intermittent connections
- Access control
- Encryption
- Compatibility
- Protocol conversion, firewall tunneling
|
17
|
- New participants need to get the “state”
- Participants, content, control, focus, ...
- Intermittent participants need to share state
- May require conflict resolution
|
18
|
- Floor control
- Enforces turn-taking behavior
- Simultaneous control
- Users work simultaneously where possible
- May require task-specific constraints
|
19
|
- Public
- Network latency may change order of actions
- Subgroup
- Side meetings, private conversations, …
- Private
- Local system management, side computations, …
- How do users control visibility?
- How do users understand visibility settings?
|
20
|
- Focus
- Click-to-designate, gaze detection, gesture, …
- Voting
- Question definition, anonymous vs. public, …
|
21
|
- Where are the users?
- Where are the programs?
- Where is the data?
- Where is the computing done?
|
22
|
- Java tools for:
- Event sharing (modified Java API classes)
- Synchronization (using serialized objects)
- Control (custom-designed Java classes)
- Client-server support for rendezvous
- After that, peer to peer communications
- http://www.isrl.uiuc.edu/isaac/Habanero/
|
23
|
- Start one server and two clients
- Can be on same or different systems
- Start a session in one client
- Join the session in the other client
- Start an application in either client
- It using one machine, move one of the windows
|
24
|
- mpEdit
- Simple word processor with floor control
- Savina
- Simple Web browser without floor control
- VRML Viewer
- A 3-D viewport with resynchronization
- Checkers
- A game with different roles and perspectives
|
25
|
- Task issues
- Customer contact
- Establishing requirements
- Resources
- People
- Time
- Tools and existing components
- Plan
- Monitor
|
26
|
- Establish a process
- Keep lines of communications open
- Avoid promising something for nothing
- Deliver bad news early and directly
|
27
|
- Core team
- Architect, object designers, programmers
- Supplemental members
- Integration, QA, documentation, tools, librarian, system administra=
tor
- Peripheral support
- Management, product manager, tech support, …
|
28
|
- Architecture
- Analysis
- Design
- Implementation
- Deployment
- Tiger teams
|
29
|
- Cost
- Desired completion date
- Acceptable schedule risk
- Requirements uncertainty
|
30
|
- 1/3 for specification
- 1/6 for coding
- 1/2 for test planning, testing, and fixing!
|
31
|
- Gutless estimating
- Partitioning strategy
- Training time
- Communications effort
|
32
|
- Range of alternatives
- Sequential
- Maximizes consistency and interoperability
- As slow as having one person do it (or slower!)
- Parallel
- Specification must get interfaces and tasks right
|
33
|
- Coding conventions
- Peer review
- Configuration management
- Rationale management
|
34
|
- Goal: Find errors when they’re easily fixed
- Reviews can typically find 60-90% of all errors
- Many of which would be missed by testing
- 1 hour of peer review =3D 33 hours of debugging!
- Approach: Exploit two sources of insight
- Explaining something can reveal inconsistencies
- Other perspectives can find things you miss
- Side effect: Promotes team-building
|
35
|
- Participants review materials in advance
- Requirements overview
- Source-sink diagram, class model, control matrix
- Checklists of common errors
- Formal meeting with structured interaction
- Author paraphrases the materials to be presented
- Reviewers identify errors
- Designated “scribe” makes a written record
|
36
|
- Designate a moderator for each review
- Limit it to 1 hour
- Review the specification, not the code
- Find but don’t correct errors
- Classify as a defect, suggestion, or action item
- No more than 6 people
- Be careful to avoid a power dynamic
|
37
|
- Plan ahead
- And don’t tackle too much at once
- Pay attention to interfaces
- And think about how to communicate effectively
- Design and test in small increments
- Particularly when you are learning the language
- Create enough intermediate checkpoints
- Peer reviews, prototype cycles
|
38
|
- Configuration Control Board
- Decision strategies
- Majority rules
- Owner has the last word
- Management decides
- An impartial expert decides
- Time forces a decision
|
39
|
- Creation
- Incidental
- Reconstruction
- Capture
- Search and use
- Integration
|
40
|
- Version management
- Efficient storage
- Release management
- Concurrency control
|
41
|
- Release-oriented shell around RCS
- RCS is directory-oriented
- Five major commands
- add (enroll new files in CVS)
- checkout (start using a file)
- update (get updates others have made)
- remove (declare an intention to delete files)
- commit (publish your changes/deletions)
|
42
|
- Goals solve only a small part of the problem
- Resources are necessary, but not sufficient
- The real keys are structure and incentives
- Establish advocacy
- Exploit informal influence structures
- Incentivize desirable behavior
- Foster positive group dynamics
|