Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center
description
Transcript of Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center
![Page 1: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/1.jpg)
The FirstSearch User Interface ArchitectureUniversal Access for Any User,
in Many Languages, on Any Platform
Gary Perlman, [email protected]
Consulting Research Scientist
OCLC Online Computer Library Center
![Page 2: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/2.jpg)
Outline
What is OCLC and FirstSearch? Goals for New FirstSearch The User Interface Architecture How the Architecture Meets the Goals Summary and Conclusions
![Page 3: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/3.jpg)
What is OCLC and FirstSearch?
Non-profit member library association Furthering access to the world's information
and reducing information costs. 37,000 libraries, 74 countries/territories Shared cataloging 43M+ records, 779M+ holdings, 103M+ ILL
Uniform interface to 80+ Databases 100M+ records, 6K+ full text serials
TTY 1991, Web 1996, 16K+ libraries, ~10M searches/month
![Page 4: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/4.jpg)
FirstSearch: The Second SystemMany New Features Limit to library holdings Limit to available full text Cross-database searching Ranking and sorting Integrated thesaurus More wildcards Library customization
![Page 5: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/5.jpg)
Goal: Retire Related SystemsMany Legacy Requirements FirstSearch TTY: 24x80 telnet version EPIC: query language Electronic Collections Online: full text
journals FirstSearch Web (original)
![Page 6: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/6.jpg)
Goal: Avoid All Old ProblemsMany New Variables New functionality New application layer (SiteSearch),
concurrent development New programming language (Java) New version of UNIX New “high performance” file system New server hardware
![Page 7: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/7.jpg)
General RequirementsMany with One-Line of Detail Multi-platform Multilingual Levels of users Text-only version Universally accessible (ADA compliant) Help system
![Page 8: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/8.jpg)
General Requirements:Multi-Platform Browser: Netscape and Explorer Versions: 4.x (and then 3.x) JavaScript: available or not Screen size: large, medium, small Hardware: Windows, Macintosh Colors: down to 256
![Page 9: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/9.jpg)
General Requirements:Multilingual English (en) French (fr) Spanish (es)
![Page 10: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/10.jpg)
General Requirements:Levels of Users Home (welcome) Basic (most naïve users) Advanced (most experienced users) Expert (query language users)
![Page 11: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/11.jpg)
General Requirements:Text-Only / Accessible Version Replacement for FirstSearch TTY Possible ADA-compliant version No real experience in the area
![Page 12: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/12.jpg)
General Requirements:Better Group Coordination Development: functionality Database: loading data Marketing: requirements & terminology Documentation: help & translation Graphic design: icons, fonts, colors,
layout Usability: evaluation & re-design
![Page 13: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/13.jpg)
Goals for the UI Architecture
Adapt to inevitable requests for changes (due to new requirements, usability, performance, etc.)
Allow incremental development (due to so many unknowns)
Defer decisions & allow global changes
![Page 14: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/14.jpg)
Partitioning and Construction
Functional Partition (Pages): database selection, search, results
Platform-dependent Partition (Style): browser, version, options, hardware
Language-dependent Partition (Lang) Cross-products of pages and styles
and languages using Templates
![Page 15: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/15.jpg)
Functional Partition:The FSPage Object pagename: an internal identifier pagetitle: a title displayed to users pagelabel: a short phrase for links in menus tips: on-screen help tips status: on-screen status information controls: page-specific controls action: a form action
panel: a main form panel ...
![Page 16: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/16.jpg)
![Page 17: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/17.jpg)
FSPage for Expert Search[expert] pagename = expert pagetitle = &Lang.pagetitle.expert; pagelabel = &Lang.pagelabel.expert; tips = &Lang.tips.expert; status = &Lang.status.expert; controls = &Style.dbinfo.gadget; &Style.scanindex.gadget; &Style.thesaurus.gadget; &Style.news.gadget; action = QUERY:searchtype=expert term = termexpert index = indexexpert focus = termexpert panel = &Style.dialog.begin; &Pages.basic.submit; &Pages.expert.searchbox; &Pages.expert.index; &Pages.advanced.limits; &Pages.advanced.options; &Pages.basic.submit; &Style.dialog.end;
![Page 18: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/18.jpg)
FSPage for Expert Search:search box[expert]searchbox = &Style.dialog.rowbegin; &Style.font.labelbegin; <label for=termexpert> &Lang.label.find; </label> &Style.font.labelend; &Style.dialog.elementbegin; <textarea name=termexpert id=termexpert> &termexpert; </textarea> &Style.dialog.elementend; &Style.dialog.rowend;
![Page 19: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/19.jpg)
Expert Search (Lynx)
Current database: WorldCat
Type search terms and choose limits. Click on Search.
Use the reference information on the screen.
[Search]
dog_____________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
Indexed in: [Keyword (kw:)_________]
Limit to:
Year 1990-______
Document Type [Books________]
Language [English___________]
Library Code ___________
[_] Items in my library (OCL)
Rank by: [No ranking__________]
[Search]
[info] [index] [subjects] [news] [help]
![Page 20: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/20.jpg)
FSPage for Detailed Record [record]
pagename = record
pagetitle = &Lang.pagetitle.record;
pagelabel = &Lang.pagelabel.record;
tips = &Lang.tips.record;
status = &Lang.status.record;
controls =
&Style.thesaurus.gadget;
&Style.ill.gadget; &Style.holdings.gadget;
&Style.email.gadget; &Style.print.gadget;
action = FETCH:fetchtype=record
panel =
&Style.dialog.begin;
&Style.navigate.gadget;
&Style.record.gadget;
&Style.navigate.gadget;
&Style.dialog.end;
![Page 21: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/21.jpg)
![Page 22: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/22.jpg)
Style Abstraction/Presentation
extractformats/styles
styleentity
substitution
Platform-independentHTML file
Stylefile
![Page 23: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/23.jpg)
Platform-Dependent Partition:Replace Styles with Entities Mark up text with entities
(constants, variables, and methods)
&ErrorBegin;
Something bad happened
&ErrorEnd;
ErrorBegin = <font color=red size=4><b>
ErrorEnd = </b></font>
![Page 24: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/24.jpg)
Platform-Dependent Partition:Modify Entities with Entities&ErrorBegin;
Something bad happened
&ErrorEnd;
ErrorBegin = <font color=red size=&ErrorSize;><b>
ErrorEnd = </b></font>
[screensize=default]
ErrorSize = 4
[screensize=small]
ErrorSize = 3
[screensize=large]
ErrorSize = 5
![Page 25: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/25.jpg)
Internationalization/Localization
replacelanguagestrings
languageentity
substitution
Language-independentHTML file
Languagefile
![Page 26: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/26.jpg)
Language-Dependent Partition
Replace all language with entities&ErrorBegin;
&Lang.msg.bad;
&ErrorEnd;
[msg]
bad = Something bad happened
nohits = Your search <b>&query;</b> matched no records
nojs = your browser does not support JavaScript
![Page 27: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/27.jpg)
Multilingual Advanced Search
![Page 28: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/28.jpg)
Result of Partitioning
Pages.ini: functional decisions Style.ini: platform-dependent decisions Language files:
– en.ini (English)– es.ini (Spanish)– fr.ini (French)
![Page 29: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/29.jpg)
Template-Based Page Generation <html pagename="&pagename;"> <head> <title>&pagetitle;</title> </head> <body> &pagestatus; &pagestips; <form name="main" method="POST” action="&pageaction;"> &pagepanel; &pagecontrols; &Style.FSMenu.gadget; </form> </body> </html>
![Page 30: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/30.jpg)
Dynamic Page Generation
Style file
Languagefiles
Pages file
GUI template
Lynx template
Print template
![Page 31: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/31.jpg)
Adapting to Levels of Users
Page names: Basic, Advanced, Expert Search box: 1 small, 3 small, 1 large Indexes: 3, 10-15, 20-30 Limits: full-text/library, all, all Help: simple examples, complex
examples, reference material on screen
![Page 32: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/32.jpg)
Lynx Text-Only Version
Used same style file as graphical, but used vertical page template
Lynx knows that <tr> starts a new line, so tables could be left in HTML
Lynx-only format entities used to tune the display: space, bar, break, line, paragraph, comment
![Page 33: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/33.jpg)
Accessibility Issues: WAI Guide
title attribute: shows popup help on form elements and links
LABEL tag: associates prompts with form elements
accesskey attribute: associates Alt-x key with form element
table attributes: not yet supported
![Page 34: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/34.jpg)
Coordination Issues
INI files were easy to edit by non-programmers, but validation scripts were run for all
Partitioning style and language centralized decisions, providing control to the right authority
Large- and small-scale changes were made independently
![Page 35: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/35.jpg)
Summary of Architecture
Style, Language, and Functional partitions stored in INI files - required the user interface police, armed with validation scripts
Heavy dependence on dynamic entity substitution, including page templates
Both required a change of development paradigm - more rigorous control
![Page 36: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/36.jpg)
Cost-Benefit Analysis:Cross-Product of Partitions Pages
– add/change screens independently Styles
– add/change templates– add/change (conditional) attributes
Languages– change terminology in one place– add a new language
![Page 37: Gary Perlman, perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814f8b550346895dbd45da/html5/thumbnails/37.jpg)
Conclusions
Addressing many access issues helped with individual (unexpected) issues
Not critical to get design right; need to be able to change what is wrong
Expect the unexpected– new/changed requirements– “opportunities” from usability testing