Top Banner
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers
23

1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

1

CS 502: Computing Methods for Digital Libraries

Lecture 22

Web browsers

Page 2: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

2

Administration

Final examination

May 19, 20001:00 - 2:30pm Phillips 219

5 or 6 questions on whole courseTraditional 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.

Page 3: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

3

Administration

Discussion class, Wednesday April 19

One class only, from 7:30 to 8:30 p.m.

Page 4: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

4

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.

Page 5: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

5

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.

Page 6: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

6

Web user interface: basic

Web serversWeb browser

• Static pages from server, using http get

• All interaction requires communication with server

http get (URL)

file + MIME type

Page 7: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

7

Separation of type from presentation

Information to be displayed

Presentation software

Display

MIME type

Page 8: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

8

Rendering

Web browser

file + MIME typeRendering software

Rendering and display may be:

• built into browser

• plug-in

• helper application

Page 9: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

9

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

Page 10: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

10

Basic extensibility in web browsers

Browsers are highly extensible

• Data types:

built-in -- html, gif, jpeghelper applications plug-ins

• ProtocolsHTTP, WAIS, Gopher, FTP, etc.proxies

Page 11: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

11

Web user interface: CGI script

Non-web systems

CGIScripts

Web servers

Web browser

http post

Page 12: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

12

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

Page 13: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

13

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 non-web systems.

• Interface new system (web) to legacy system

• Interface new system to legacy system (web)

Page 14: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

14

Mobile code: JavaScript

Web servers

Web browser

• Mobile code (e.g., JavaScript) can validate information as typed

• Some interactions are local

• Server interaction constrained by web protocols

JavaScript

html

Page 15: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

15

Mobile code: Java Applet

Any server

Web serversWeb browser

• Any executable code can run on client

• Client can connect to any server

• Security model restricts some applications

Applets

Page 16: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

16

Levels of usability

interface design

functional design

data and metadata

computer systems and networks

conceptual model

Page 17: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

17

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

Page 18: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

18

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

Page 19: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

19

Extensibility

• Data types

• Protocols

• Executable code

• XML and style sheets

Gaps

• State

• Security architecture

Functional design

Page 20: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

20

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

Page 21: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

21

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

Page 22: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

22

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

Page 23: 1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.

23

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