Transcript Lecture 22
CS 502: Computing Methods for
Digital Libraries
Lecture 22
Web browsers
1
Administration
Final examination
May 19, 2000
1:00 - 2:30pm
Phillips 219
5 or 6 questions on whole course
Traditional closed book examination
There will be a make up examination near the beginning of the
examination period. Please send me email if you might wish to
take it.
2
Administration
Discussion class, Wednesday April 19
One class only, from 7:30 to 8:30 p.m.
3
User interface needs for digital libraries
• Users have wide variety of computers, systems, network
connections.
• Digital library materials encompass every known data type.
• Users range from experienced to unskilled.
• Digital libraries have complex needs for authentication and
authorization.
• Protocols may be stateless or stateful.
• Federations include both state-of-the-art and legacy systems.
• Persistent naming is important to digital libraries.
4
Cost of user interfaces
Programming and maintaining a user interface is very expensive if it
must support many types of computer and versions of operating
systems.
Therefore, most digital libraries use web browsers for the user
interface.
• If a function fits well with the web browser conceptual model, it is
easy to implement.
• If a function does not fit well with the web browser conceptual
model, it is hard to implement.
5
Web user interface: basic
http get (URL)
file + MIME type
Web browser
Web servers
• Static pages from server, using http get
• All interaction requires communication with server
6
Separation of type from presentation
Information to
be displayed
MIME
type
Presentation
software
Display
7
Rendering
Rendering
software
file + MIME type
Web browser
Rendering and display may be:
• built into browser
• plug-in
• helper application
8
Basic web browser
Good
• Runs on all computers
• Supports wide range of data types
Bad
• Stateless
• Data checking requires interaction with host
• No accommodation for legacy systems
• Rendering varies according to local software
9
Basic extensibility in web browsers
Browsers are highly extensible
• Data types:
built-in -- html, gif, jpeg
helper applications
plug-ins
• Protocols
HTTP, WAIS, Gopher, FTP, etc.
proxies
10
Web user interface: CGI script
Non-web
systems
http post
Web servers
CGI
Scripts
Web browser
11
CGI scripts
CGI scripts:
• Interface to non-web systems
• Can configure pages
• Can validate information
but ...
•
•
Server interaction is constrained by web protocols
CGI requires all interactions to be via server
12
The web and legacy systems
The web is a legacy system. New systems must find ways to
interface with it. This is a problem for new technology,
• Stateful protocols, e.g., Z39.50
• URNs
CGI scripts enable web browsers to act as interfaces to nonweb systems.
• Interface new system (web) to legacy system
• Interface new system to legacy system (web)
13
Mobile code: JavaScript
Web servers
html
Java
Script
Web browser
•
•
•
Mobile code (e.g., JavaScript) can validate information as typed
Some interactions are local
Server interaction constrained by web protocols
14
Mobile code: Java Applet
Any
server
Applets
Web browser
Web servers
•
•
•
Any executable code can run on client
Client can connect to any server
Security model restricts some applications
15
Levels of usability
interface design
conceptual
model
functional design
data and metadata
computer systems and networks
16
Interface design
Clickable links plus mobile code
• Easy for users to learn and use
• Certain categories of error are avoided
• Enables context-sensitive help
Major difficulty is structure of large sets of choices
•
•
•
•
Scrolling menus (e.g., states of USA)
Hierarchical
Associated control panels
Menus plus command line
Users prefer broad and shallow to deep menu systems
17
Interface design
Conventions are growing over the years
• www.... for home page
• scroll bars, buttons, help systems, sliders
• terminology
Good for users, good for designers
18
Functional design
Extensibility
• Data types
• Protocols
• Executable code
• XML and style sheets
Gaps
• State
• Security architecture
19
Data and metadata
Identifiers
• URLs are very powerful
• Digital libraries need URNs
XML
• Provides a framework for metadata
• Namespaces and RDF -- open question
No support for structural metadata
20
Computer systems and networks
• Personal computer cycles are there to be used
• Any network transfer involves delay
• Shared systems have unpredictable performance
• Data validation often requires access to shared data
• Mobile code poses security risks
21
Computer systems and networks
Caching and mirroring: effective in digital library systems where
digital objects change relatively slowly with time.
• Mirroring of web sites for performance and reliability
• Caching servers (e.g., Google cache, domain name system)
• Caching on user's computer
• Service bureau for world wide performance (e.g., Digital Island)
Parallelism:
• Display page while downloading
• Parallel streams of data
22
The importance of design
Good support for users is more than a cosmetic flourish
•
Elegant design, appropriate functionality, & responsive system:
=> a measurable difference to effectiveness
•
If a system is hard to use:
=> users may fail to find important results,
or mis-interpret what they do find
=> user may give up in disgust
A computer system is only as good as the interface it provides to
its users
23