information architecture and other things session 13 lbsc 790 / infm 718b building the...

Post on 12-Jan-2016

217 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

top related