Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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