Information Architecture
and other things
Session 13
LBSC 790 / INFM 718B
Building the Human-Computer Interface
Agenda
•	Questions

•	Information architecture

•	Multi-party interaction

•	Managing complex projects

•	Pre-review

Defining Information Architecture
•	Organization

•	Labeling

•	Navigation

•	Search
Media Evolution
Organizing Information
•	Professional arrangement
–	Human-assigned vs. machine-assigned
–	Hierarchical vs. faceted

•	Community arrangement

•	Emergent arrangement
–	Content-based vs. behavior-based
–	Description
Some Observable Behaviors

Demo: PhotoMesa
•	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
Some CSCW Applications
•	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
Types of Computer Supported 
Cooperative Work
•	Synchronous vs. Asynchronous
–	NetMeeting is synchronous
–	Email is asynchronous

•	Local vs. remote
–	Meeting support systems are local
–	Chat rooms are remote
Types of Groupware
•	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)
CSCW Issues
•	Discovery
•	Rendezvous
•	Synchronization
•	Control
•	Visibility
•	Network infrastructure
Discovery and Rendezvous
•	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
Network Infrastructure
•	Connectivity
–	Latency, delivery order, intermittent connections
•	Access control
–	Authentication, billing
•	Encryption
–	Privacy, authenticity
•	Compatibility
–	Protocol conversion, firewall tunneling
Synchronization
•	New participants need to get the “state”
–	Participants, content, control, focus, ...

•	Intermittent participants need to share state
–	May require conflict resolution
Control
•	Floor control
–	Enforces turn-taking behavior

•	Simultaneous control
–	Users work simultaneously where possible
–	May require task-specific constraints
Visibility
•	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?
Other Task-Specific Issues
•	Focus
–	Click-to-designate, gaze detection, gesture, …

•	Voting
–	Question definition, anonymous vs. public, …

Distributed Systems
•	Where are the users?

•	Where are the programs?

•	Where is the data?

•	Where is the computing done?
Habanero
•	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/
Synchronizing Habenero
•	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
Some Applications to Try
•	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
Project Management
•	Task issues
–	Customer contact
–	Establishing requirements
•	Resources
–	People
–	Time
–	Tools and existing components
•	Plan
•	Monitor
Customer Contact
•	Establish a process
–	Use the project plan

•	Keep lines of communications open

•	Avoid promising something for nothing

•	Deliver bad news early and directly
Project Personnel
•	Core team
–	Architect, object designers, programmers

•	Supplemental members
–	Integration, QA, documentation, tools, librarian, system administrator

•	Peripheral support
–	Management, product manager, tech support, …
Teams
•	Architecture
•	Analysis
•	Design
•	Implementation
•	Deployment
•	Tiger teams
–	15% management reserve
Planning Factors
•	Cost

•	Desired completion date

•	Acceptable schedule risk

•	Requirements uncertainty
How Long Will it Take?
•	1/3 for specification

•	1/6 for coding

•	1/2 for test planning, testing, and fixing!
Lessons From 
The Mythical Person-Month
•	Gutless estimating

•	Partitioning strategy

•	Training time

•	Communications effort
Partitioning Strategy
•	Range of alternatives
–	Sequential...parallel
•	Sequential
–	Maximizes consistency and interoperability
–	As slow as having one person do it (or slower!)
•	Parallel
–	Specification must get interfaces and tasks right
Process Issues
•	Coding conventions

•	Peer review

•	Configuration management

•	Rationale management
Peer Review
•	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 = 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
The Peer Review Process
•	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
Peer Review Guidelines
•	Designate a moderator for each review
–	Don’t pick the author!
•	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
Some Helpful Hints
•	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
Configuration Management
•	Configuration Control Board

•	Decision strategies
–	Majority rules
–	Owner has the last word
–	Management decides
–	An impartial expert decides
–	Time forces a decision
Rationale Management
•	Creation
–	Incidental
–	Reconstruction
–	Capture

•	Search and use

•	Integration
Revision Control
•	Version management
–	Efficient storage
–	Release management

•	Concurrency control
–	Add
–	Use
–	Update
–	Delete
Concurrent Versions System
•	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)
Changing Organizational Cultures
•	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