information architecture and other things session 13 lbsc 790 / infm 718b building the...
TRANSCRIPT
Information Architectureand 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
http://www.odannyboy.com/id/ia_id.pdf
Defining Information Architecture
• Organization
• Labeling
• Navigation
• Search
Louis Rosenfeld, January 2000
Media Evolution
Organizing Information
• Professional arrangement– Human-assigned vs. machine-assigned– Hierarchical vs. faceted
• Community arrangement
• Emergent arrangement– Content-based vs. behavior-based– Description
View Listen
Select
Print Bookmark Save Purchase Delete
Subscribe
Copy / paste Quote
Forward Reply Link Cite
Mark up Rate Publish
Organize
Some Observable Behaviors
Examine View Listen
Select
Retain Print Bookmark Save Purchase Delete
Subscribe
Reference Copy / paste Quote
Forward Reply Link Cite
Annotate Mark up Rate Publish
Organize
Beh
avio
r C
ateg
ory
Segment Object Class
Examine View Listen
Select
Retain Print Bookmark Save Purchase Delete
Subscribe
Reference Copy / paste Quote
Forward Reply Link Cite
Annotate Mark up Rate Publish
Organize
Beh
avio
r C
ateg
ory
Minimum Scope
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